Python 3.x 如何找到pyttsx3生成的声音的长度
我正在制作一个需要pyttsx3生成的语音长度的程序 我没有找到任何使用pyttsx3的方法,所以我将语音存储在一个文件中 然后试图用诱变剂来获取音频信息Python 3.x 如何找到pyttsx3生成的声音的长度,python-3.x,pyttsx,mutagen,Python 3.x,Pyttsx,Mutagen,我正在制作一个需要pyttsx3生成的语音长度的程序 我没有找到任何使用pyttsx3的方法,所以我将语音存储在一个文件中 然后试图用诱变剂来获取音频信息 导入pyttsx3 从诱变剂.mp3导入mp3 #引擎 engine=pyttsx3.init() #“Hello World”只是一个例子 引擎。保存到文件('Hello world','test.mp3') engine.runAndWait() #将mp3作为音频加载 音频=MP3('test.MP3') #上面的一行给出了一个错误
导入pyttsx3
从诱变剂.mp3导入mp3
#引擎
engine=pyttsx3.init()
#“Hello World”只是一个例子
引擎。保存到文件('Hello world','test.mp3')
engine.runAndWait()
#将mp3作为音频加载
音频=MP3('test.MP3')
#上面的一行给出了一个错误
我收到以下错误诱变剂.mp3.HeaderNotFoundError:无法同步到mpeg帧
为什么我会犯这个错误?
还有没有其他方法可以获得pyttsx生成语音的长度?如果没有特别需要使用
诱变剂,我建议使用pydub
。下面给出持续时间(秒)的代码
代码:
导入pyttsx3
从pydub导入音频段
#引擎
engine=pyttsx3.init()
#“Hello World”只是一个例子
引擎。保存到文件('Hello world','test.mp3')
engine.runAndWait()
#将mp3作为音频加载
音频=音频段。来自_文件(“test.mp3”)
打印(音频。持续时间\u秒)
输出:
0.9205442176870748
谢谢,它对我有用:),但是我们不需要在pydub之前安装ffprobe吗?我使用的是conda环境,以前不需要这样做。通常只要一个pip安装pydub
或conda安装pydub
就足够了。