事先备注:离线方式,模型做不到100%,且识别出的文本时没有标点符号断句的。
所需python库
speech_recognition:用于语音转文本
pydub:用于mp3转wav
FFmpeg:用于MP3转wav,(仅仅pip安装是不够的,安装它的教程会单独写一篇)
mp3转wav
大多数库是不能直接识别mp3的,所以需要将mp3转为wav文件:
from pydub import AudioSegment
def convert_mp3_to_wav(mp3_file,wav_file):
audio=AudioSegment.from_file(mp3_file,format='mp3')
audio.export(wav_file,format='wav')
wav转为txt文件
def recog_mp3(mp3_audio_file):
wav_audio_file = mp3_audio_file.replace(".mp3", ".wav")
txt_audio_file = mp3_audio_file.replace(".mp3", ".txt")
convert_mp3_to_wav(mp3_audio_file,wav_audio_file)
r = sr.Recognizer()
with sr.AudioFile(wav_audio_file) as source:
audio = r.record(source)
print('识