将 mp3 转录为文本 (python) --> "RIFF id" 错误
Transcribing mp3 to text (python) --> "RIFF id" error
我正在尝试将 mp3 文件转换为文本,但我的代码 returns 出现下面概述的错误。感谢您的帮助!
This 是一个示例 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,但我的知识到此为止。
也许别人知道的比我多post。但如果你只是不想测试,你现在可以使用 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,再进行转录处理。
我正在尝试将 mp3 文件转换为文本,但我的代码 returns 出现下面概述的错误。感谢您的帮助!
This 是一个示例 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,但我的知识到此为止。
也许别人知道的比我多post。但如果你只是不想测试,你现在可以使用 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,再进行转录处理。