Python在读取mp3文件时出现问题


import speech_recognition as sr
print(sr.__version__)
r = sr.Recognizer()
file_audio = sr.AudioFile('damn1.mp3')
with file_audio as source:
audio_text = r.record(source)
print(type(audio_text))
print(r.recognize_google(audio_text))

我在运行这个程序时遇到问题。我得到的输出如下:

Traceback (most recent call last):
File "C:UserskubarAppDataLocalProgramsPythonPython38-32libsite-packagesspeech_recognition__init__.py", line 203, in __enter__
self.audio_reader = wave.open(self.filename_or_fileobject, "rb")
File "C:UserskubarAppDataLocalProgramsPythonPython38-32libwave.py", line 510, in open
return Wave_read(f)
File "C:UserskubarAppDataLocalProgramsPythonPython38-32libwave.py", line 164, in __init__
self.initfp(f)
File "C:UserskubarAppDataLocalProgramsPythonPython38-32libwave.py", line 131, in initfp
raise Error('file does not start with RIFF id')
wave.Error: file does not start with RIFF id

在处理上述异常的过程中,发生了另一个异常:

Traceback (most recent call last):
File "C:UserskubarAppDataLocalProgramsPythonPython38-32libsite-packagesspeech_recognition__init__.py", line 208, in __enter__
self.audio_reader = aifc.open(self.filename_or_fileobject, "rb")
File "C:UserskubarAppDataLocalProgramsPythonPython38-32libaifc.py", line 917, in open
return Aifc_read(f)
File "C:UserskubarAppDataLocalProgramsPythonPython38-32libaifc.py", line 352, in __init__
self.initfp(file_object)
File "C:UserskubarAppDataLocalProgramsPythonPython38-32libaifc.py", line 316, in initfp
raise Error('file does not start with FORM id')
aifc.Error: file does not start with FORM id

在处理上述异常的过程中,发生了另一个异常:

Traceback (most recent call last):
File "C:UserskubarAppDataLocalProgramsPythonPython38-32libsite-packagesspeech_recognition__init__.py", line 234, in __enter__
self.audio_reader = aifc.open(aiff_file, "rb")
File "C:UserskubarAppDataLocalProgramsPythonPython38-32libaifc.py", line 917, in open
return Aifc_read(f)
File "C:UserskubarAppDataLocalProgramsPythonPython38-32libaifc.py", line 358, in __init__
self.initfp(f)
File "C:UserskubarAppDataLocalProgramsPythonPython38-32libaifc.py", line 314, in initfp
chunk = Chunk(file)
File "C:UserskubarAppDataLocalProgramsPythonPython38-32libchunk.py", line 63, in __init__
raise EOFError
EOFError

在处理上述异常的过程中,发生了另一个异常:

Traceback (most recent call last):
File "C:UserskubarOneDrivePulpitmen.py", line 7, in <module>
with file_audio as source:
File "C:UserskubarAppDataLocalProgramsPythonPython38-32libsite-packagesspeech_recognition__init__.py", line 236, in __enter__
raise ValueError("Audio file could not be read as PCM WAV, AIFF/AIFF-C, or Native FLAC; check if file is corrupted or in another format")
ValueError: Audio file could not be read as PCM WAV, AIFF/AIFF-C, or Native FLAC; check if file is corrupted or in another format

MP3是一种压缩格式。在处理音频时永远不要使用它,因为大多数处理音频的工具都是在非压缩音频流上使用的。所以,即使这样的工具接受您的文件,它也可能从转换文件开始,这会消耗时间和空间。此外,从事音频工作的专业人士(音乐家、工程师等(永远不会使用MP3:避免将其与对您的工作有重要意义的音频材料一起使用(即使是存档,因为压缩是不可逆的(,始终更喜欢使用WAV或AIF等非压缩格式(在这里,库似乎期望使用AIF(。

最新更新