Skip to content

Commit

Permalink
add tts test
Browse files Browse the repository at this point in the history
  • Loading branch information
binary-husky committed Dec 18, 2024
1 parent 98e5cb7 commit 4127162
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 1 deletion.
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ pyautogen
colorama
Markdown
pygments
edge-tts
edge-tts>=7.0.0
pymupdf
openai
rjsmin
Expand Down
33 changes: 33 additions & 0 deletions tests/test_tts.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import edge_tts
import os
import httpx
from toolbox import get_conf


async def test_tts():
async with httpx.AsyncClient() as client:
try:
# Forward the request to the target service
import tempfile
import edge_tts
import wave
import uuid
from pydub import AudioSegment
voice = get_conf("EDGE_TTS_VOICE")
tts = edge_tts.Communicate(text="测试", voice=voice)
temp_folder = tempfile.gettempdir()
temp_file_name = str(uuid.uuid4().hex)
temp_file = os.path.join(temp_folder, f'{temp_file_name}.mp3')
await tts.save(temp_file)
try:
mp3_audio = AudioSegment.from_file(temp_file, format="mp3")
mp3_audio.export(temp_file, format="wav")
with open(temp_file, 'rb') as wav_file: t = wav_file.read()
except:
raise RuntimeError("ffmpeg未安装,无法处理EdgeTTS音频。安装方法见`https://github.com/jiaaro/pydub#getting-ffmpeg-set-up`")
except httpx.RequestError as e:
raise RuntimeError(f"请求失败: {e}")

if __name__ == "__main__":
import asyncio
asyncio.run(test_tts())

0 comments on commit 4127162

Please sign in to comment.