语音识别可执行代码笔记(有详细注释)(1)

需要学习语音识别,以下代码为jupyter部分,分开可执行。

 from playsound import playsound
 playsound('audio_files/cn.mp3')
 #播放一段音频


#调用音频查看结果
import speech_recognition as sr
print(sr.__version__)
r=sr.Recognizer()
harvard=sr.AudioFile('audio_file/harvard.wav')
with harvard as source:
    audio=r.record(source)
#导入音频识别库,固定写法,将一段操作变为封装的audio
result=r.recognize_google(audio)
#使用Google的接口调用,输出结果为识别的一段结果。
print(result)

#调用麦克风输入音频进行识别
import speech_recognition as sr
r=sr.Recognizer()
mic=sr.Microphone()
sr.Microphone.list_microphone_names()
#列举所有的麦克风
with mic as source:
    r.adjust_for_ambient_noise(source)
    #非常重要的降噪处理过程
    audio=r.listen(source)
r.recognize_google(audio)
print(r)


#调用tts库进行文字转音频
import gtts
import pyttsx3
engine=pyttsx3.init()
engine.say("I will speak this text")
engine.say("USTC是个美丽的大学")
engine.runAndWait()

#将文字转为音频进行保存
from gtts import gTTS
tts=gTTS(text='大家好,你好',lang='zh-cn')
tts.save("audio_files/heee.mp3")
#将音频读出
import playsound
import simpleaudio as sa
wave_obj=sa.WaveObject.from_wave_file("audio_files/harvard.wav")
play_obj=wave_obj.play()
play_obj.wait_done()

#pygame也可以播放音频
from pygame import mixer
mixer.init()
mixer.music.load('audio_files/hello.mp3')
mixer.music.play()

#定义一个函数speak(),将text变为音频保存,再读出来。
import tempfile
def speak(sentence):
    with tempfile.NamedTemporaryFile(delete=True) as fp:
        tts = gTTS(text=sentence, lang='zh-cn')
        tts.save("{}.mp3".format(fp.name))
        mixer.music.load('{}.mp3'.format(fp.name))
        mixer.music.play()
speak('大家好!祝大家有个美好的一天')
#定义一个函数listenTo(),获取麦克风音频,交给Google识别后返回一段text。
import speech_recognition
def listenTo():
    r = speech_recognition.Recognizer()
    with speech_recognition.Microphone() as source:
        r.adjust_for_ambient_noise(source)
        audio = r.listen(source)
    return r.recognize_google(audio, language='zh-cn')
speak(listenTo())

#定义一个字典来进行对话
Answer = {
  '你好吗': '我很好',
  '你很帅': '谢谢啦 !',
  '再见了': '下次见了! 再聊 ! 拜拜'
}
speak(Answer.get(listenTo(), '对不起,我没听清,请再说一遍'))
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值