TDN-M commited on
Commit
e4a8b94
·
verified ·
1 Parent(s): 14018d2

Update audio_processing.py

Browse files
Files changed (1) hide show
  1. audio_processing.py +19 -22
audio_processing.py CHANGED
@@ -2,37 +2,34 @@
2
  import asyncio
3
  import os
4
  import tempfile
5
-
6
- from openai import OpenAI
7
 
8
  # Lấy API key từ biến môi trường
9
- OPENAI_API_KEY = os.environ.get("OPENAI_API_KEY")
10
-
11
- # Khởi tạo client OpenAI
12
- openai_client = OpenAI(api_key=OPENAI_API_KEY)
13
 
14
  def text_to_speech(text, voice, language):
15
  """
16
- Chuyển đổi văn bản thành giọng nói bằng OpenAI API.
17
  """
18
- try:
19
- response = openai_client.audio.speech.create(
20
- model="tts-1",
21
- voice=voice,
22
- input=text
23
- )
24
-
25
- with tempfile.NamedTemporaryFile(delete=False, suffix=".mp3") as temp_audio_file:
26
- for chunk in response.iter_bytes(chunk_size=4096):
27
- temp_audio_file.write(chunk)
28
-
29
- return temp_audio_file.name
30
- except Exception as e:
31
- return f"Lỗi khi chuyển đổi văn bản thành giọng nói: {str(e)}"
32
 
33
  async def async_text_to_speech(text, voice, language):
34
  """
35
  Chuyển đổi văn bản thành giọng nói (bất đồng bộ).
36
  """
37
  loop = asyncio.get_event_loop()
38
- return await loop.run_in_executor(None, text_to_speech, text, voice, language)
 
 
 
 
 
 
 
 
 
 
2
  import asyncio
3
  import os
4
  import tempfile
5
+ import edge_tts
 
6
 
7
  # Lấy API key từ biến môi trường
8
+ EDGE_TTS_API_KEY = os.environ.get("EDGE_TTS_API_KEY", None) # Không cần API key cho edge-tts
 
 
 
9
 
10
  def text_to_speech(text, voice, language):
11
  """
12
+ Chuyển đổi văn bản thành giọng nói bằng edge-tts.
13
  """
14
+ output_file = tempfile.NamedTemporaryFile(delete=False, suffix=".mp3")
15
+
16
+ tts = edge_tts.Communicate(text, voice)
17
+ tts.save(output_file.name).get()
18
+
19
+ return output_file.name
 
 
 
 
 
 
 
 
20
 
21
  async def async_text_to_speech(text, voice, language):
22
  """
23
  Chuyển đổi văn bản thành giọng nói (bất đồng bộ).
24
  """
25
  loop = asyncio.get_event_loop()
26
+ return await loop.run_in_executor(None, text_to_speech, text, voice, language)
27
+
28
+ if __name__ == "__main__":
29
+ # Ví dụ sử dụng
30
+ text = "Chào mừng bạn đến với công nghệ AI!"
31
+ voice = "en-US-JennyNeural" # Vôices available can be found at https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/language-support
32
+ language = "en-US"
33
+
34
+ output_file = async_text_to_speech(text, voice, language)
35
+ print(f"Tệp âm thanh đã được lưu tại: {output_file}")