2024山东大学软件学院项目实训开发日志(5)-语音输入

语音模型输入实现: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)


 


  成功地完成了音频文件的语音识别和文本转换工作,实现了从音频到简体中文文本的自动处理。这些功能的实现不仅提高了工作效率,还为后续的文本分析和处理提供了可靠的基础。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值