Azure文本到语音保存到文件,并使用Python在虚拟麦克风中播放

qlvxas9a  于 2022-11-17  发布在  Python
关注(0)|答案(1)|浏览(135)

我的用例是使用Azure将文本转换为语音,然后在虚拟麦克风中播放。我在Jupiter笔记本上手动尝试了这两个步骤。
问题是,Azure的输出.wav文件无法直接在python上播放“错误:在工作目录””中找不到文件“file.wav”。当我重新启动python内核时,可以播放音频。

文字转语音

audio_config = speechsdk.audio.AudioOutputConfig(filename="file.wav")
...
speech_synthesizer = speechsdk.SpeechSynthesizer(speech_config=speech_config, audio_config=audio_config)
speech_synthesis_result = speech_synthesizer.speak_text_async(text).get()

音频播放器

mixer.init(devicename = 'Line 1 (Virtual Audio Cable)')
mixer.music.load("file.wav")
mixer.music.play()

此外,如果有一种方法可以将音频引导到虚拟麦克风而不是扬声器,效果会更好。

o7jaxewo

o7jaxewo1#

创建语音服务并获取服务的密钥和位置。

然后使用该键设置环境。打开命令提示符并使用下面的代码块。

setx SPEECH_KEY yourkey

使用import azure.cognitiveservices.speech as speechsdk
转换后,使用下面的代码块获取虚拟设备。

audio_config = AudioConfig(device_name="<device id>");

获取设备扬声器信息并将其设置在此位置。

相关问题