语音模型输入实现:Google Cloud Speech-to-Text,Microsoft Azure Speech to Text,DeepSpeech
最终选择whisper,可以本地运行,离线使用,准确性也高。
微软的云端语音识别
在本周工作中,目标是利用开源工具和模型完成对音频文件的语音识别,并将识别结果进行繁简体转换,以提升中文文本处理的效率和准确性。
实施过程
环境设置与准备
导入必要的 Python 库:
import whisper
from pydub import AudioSegment
import os
import opencc
加载 Whisper 模型:
model = whisper.load_model("medium")
创建 OpenCC 转换器实例,用于繁体转简体:
converter = opencc.OpenCC('t2s')
def preprocess_audio(audio_file): # 使用 librosa 进行音频处理 y, sr = librosa.load(audio_file, sr=None) y = librosa.effects.trim(y)[0] # 去除静音部分 y = librosa.util.normalize(y) # 归一化 temp_wav_path = "temp.wav" sf.write(temp_wav_path, y, sr) return temp_wav_path def recognize_speech_from_audio(audio_file): try: # 预处理音频文件 wav_path = preprocess_audio(audio_file) # 使用 Whisper 模型进行语音识别,指定语言为中文 result = model.transcribe(wav_path, language="zh") # 将繁体字转换为简体字 simplified_text = converter.convert(result["text"]) # 删除临时文件 os.remove(wav_path) return simplified_text except Exception as e: return str(e)
成功地完成了音频文件的语音识别和文本转换工作,实现了从音频到简体中文文本的自动处理。这些功能的实现不仅提高了工作效率,还为后续的文本分析和处理提供了可靠的基础。