将 mp3 转录为文本 (python) --> “RIFF id”错误

And*_*rew 5 python speech-recognition speech-to-text transcription python-3.x

我正在尝试将 mp3 文件转换为文本,但我的代码返回下面概述的错误。任何帮助表示赞赏!

是一个示例 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))
Run Code Online (Sandbox Code Playgroud)

我得到的完整错误。似乎:

Error: file does not start with RIFF id
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助!

Meg*_*nar 4

您需要先将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))
Run Code Online (Sandbox Code Playgroud)

在上面修改的代码中,首先将mp3文件转换为wav,然后进行转录过程。