Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何找到pyttsx3生成的声音的长度_Python 3.x_Pyttsx_Mutagen - Fatal编程技术网

Python 3.x 如何找到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生成的语音长度的程序

我没有找到任何使用pyttsx3的方法,所以我将语音存储在一个文件中 然后试图用诱变剂来获取音频信息

导入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
就足够了。