如何解决将 mp3 转录为文本 (python) --> “RIFF id”错误
我正在尝试将 mp3 文件转换为文本,但我的代码返回下面概述的错误。任何帮助表示赞赏!
import speech_recognition as sr
print(sr.__version__)
r = sr.Recognizer()
file_audio = sr.AudioFile(r"C:\Users\Andrew\podcast.mp3")
with file_audio as source:
audio_text = r.record(source)
print(type(audio_text))
print(r.recognize_google(audio_text))
我得到的完整 error。似乎是:
Error: file does not start with RIFF id
感谢您的帮助!
解决方法
您可以做的一件事是将您的 mp3 转换为 wav。使用 mp3 文件进行测试时,我遇到了与您相同的错误。但转换后,您的代码运行良好。也可以编写您的代码,以便您可以使用 mp3,但我的知识到此为止。
也许其他人比我知道的比他能发布的还要多。但是,如果您只是不想进行测试,则可以暂时使用诸如 audacity 之类的工具进行转换。
此外,如果您使用大文件阅读在线相关内容,您可能会遇到问题。但没有什么能阻止你尝试。
这是它的网站:
https://www.geeksforgeeks.org/python-speech-recognition-on-large-audio-files/
,您需要先将mp3转成wav,然后才能转录,以下是修改后的代码。
import speech_recognition as sr
from pydub import AudioSegment
# convert mp3 file to wav
src=(r"C:\Users\Andrew\Podcast.mp3")
sound = AudioSegment.from_mp3(src)
sound.export("C:\Users\Andrew\podcast.wav",format="wav")
file_audio = sr.AudioFile(r"C:\Users\Andrew\Podcast.wav")
# use the audio file as the audio source
r = sr.Recognizer()
with file_audio as source:
audio_text = r.record(source)
print(type(audio_text))
print(r.recognize_google(audio_text))
在上面修改的代码中,首先将mp3文件转换成wav然后进行转录处理。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。