我想制作一个截屏视频,用 TTS 引擎生成的音频代替我的声音。问题是,如果我使用 stt 后跟 tts,生成的音频将与我的声音不同步,并且在截屏视频中没有任何意义。有没有办法做到这一点,以便生成的音频与我的声音同步?
我说的不是直播,只是视频。我仍然可以编辑它,但我更希望不必将生成的音频的每一部分复制到正确的位置。我希望有某种东西可以自动将音频切成几部分,并将其移动到与我的语音频谱图大致匹配的位置。这样我就不必手动完成所有操作了。
我曾想过单独创建 TTS 音频,方法是将自己编写的内容写入文本文件并使用 coqui-tts 来执行tts --text "$(cat tts_input.txt)"
。然后从视频中分离音频,将 TTS 音频和视频中的音频导入到 audacity,剪切和移动生成的音频,直到它与视频中的音频匹配。然后再次将音频与视频合并。
我正在寻找一种方法来自动化该过程,因为老实说它看起来非常复杂而且我很快就会厌倦它。
答案1
您说得完全正确,从语音转文本再到文本转语音会太慢。即使在最强大的计算机上,您也无法获得低于 400 毫秒的延迟。这主要是因为 STT 组件无法将口语单词转换为文本表示,直到您说完单词,而 TTS 组件无法将书面文本转换为英语声音的半准确表示,直到前几个音节到位。再加上许多软件包在等待语句背后的上下文时所需的时间,您很快就会达到半秒。对于日语等语言来说,这要容易得多,因为日语中的每个字符都有自己的声音,并且不会根据周围的字符而改变(暂时不考虑ゃ、ゅ 和 ょ)。
但是,如果您的目标是实时替换您的声音,而不会让您的 CPU 出现问题,您可能需要考虑语音调制器。这些通常被描述为黑客或不法分子使用的工具,但它们确实非常擅长为人们提供不同的声音。琴鸟是一个非常可靠的工具,但还有许多其他工具可以与流媒体应用程序集成,从而简化您的流程。