python实践-实现实时语音转文字

语音转文字已经是一个很成熟的技术,运用的好的话,可以在很多项目中使用。下面用例使用了现成的API库对语音进行转化。

1.本期语音转文字分为两种:

        1.实时语音转化为文字;

        2.录音文件转化为文字;

2.需要初始化的三方库:

pip install SpeechRecognition
pip install PyAudio
pip install pipwin
pipwin install pyaudio

3.实现代码:


实时语音版:

import speech_recognition as sr

# 初始化识别器
r = sr.Recognizer()

# 使用默认麦克风作为音频来源
with sr.Microphone() as source:
    print("请说些什么吧...")
    audio = r.listen(source)

    try:
        # 使用Google Web Speech API进行识别
        print("Google Speech Recognition thinks you said:")
        text = r.recognize_google(audio, language='zh-CN') # 根据需要设置语言
        print(text)
    except sr.UnknownValueError:
        print("Google Speech Recognition could not understand audio")
    except sr.RequestError as e:
        print(f"Could not request results from Google Speech Recognition service; {e}")

测试结果:


录音实现版:

#首先先将MP3文件转化为WAV
from pydub import AudioSegment
mp3_file_path = r'D:\6.Coding\3.代码练习区\0.Python\6.语音识别转文字\file\1.mp3'  # 替换为MP3文件路径
# 将MP3文件转换为WAV
sound = AudioSegment.from_mp3(mp3_file_path)
sound.export(".\file\1.wav", format="wav")


#进行文件语音识别
import speech_recognition as sr


def recognize_audio(wav_file_path):
    # 初始化识别器
    recognizer = sr.Recognizer()
    
    # 从WAV文件加载音频数据
    with sr.AudioFile(wav_file_path) as source:
        audio_data = recognizer.record(source)

    # 尝试使用Google Web Speech API进行语音识别
    try:
        # 识别语音
        text = recognizer.recognize_google(audio_data, language='zh-CN') # 根据需要设置语言
        print(f"识别结果: {text}")
    except sr.UnknownValueError:
        print("Google Web Speech API无法理解音频")
    except sr.RequestError as e:
        print(f"无法从Google Web Speech API获得结果; {e}")

# 示例:转换wav文件并进行语音识别
wav_file_path = r'D:\6.Coding\3.代码练习区\0.Python\6.语音识别转文字\file\1.wav'  # WAV文件的保存路径

recognize_audio(wav_file_path)

测试结果:


注意:其中需要注意的是,在第一次使用库函数时可能会报错,需要联动升级一些其他库。根据电脑提示更新就可以了。

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值