from gtts import gTTS
from pydub import AudioSegment
from pydub.playback import play as pydub_play # 使用 pydub 的播放方法
import os
import time
# 设置环境变量以确保 pydub 可以找到 ffmpeg
os.environ["PATH"] += os.pathsep + r'E:\ffmpeg-master-latest-win64-gpl-shared\bin'
def speed_up_audio(file_path, speed=1.25):
sound = AudioSegment.from_file(file_path)
sound_with_altered_frame_rate = sound._spawn(sound.raw_data, overrides={
"frame_rate": int(sound.frame_rate * speed)
})
adjusted_audio_file = "temp_adjusted_output.mp3"
sound_with_altered_frame_rate.export(adjusted_audio_file, format="mp3")
return adjusted_audio_file
def text_to_speech(text, lang='zh', speed=1.25):
tts = gTTS(text=text, lang=lang, slow=False)
original_audio_file = "temp_output.mp3"
try:
tts.save(original_audio_file)
print("原始语音文件已生成")
if speed != 1.0:
adjusted_audio_file = speed_up_audio(original_audio_file, speed=speed)