为了实现声音锁要开始新的python学习了
学习资料:
从0开始语言识别
课堂讲义提取码:n15l
第一课 r.recognize_google()
第一步百度云下载
Step2
放到C盘用户的Administrator
别问,只有放在这里我才会在jupyter里打开
Step3
导入库
没有的需要pip install一下
介绍一下recognition云辨识的API
这里面只有google不需要key
Step4
科学上网
Step5
在jupyter上运行程序
demo1.一问一答
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')
import gtts
from gtts import gTTS
import tempfile#模块专门用于创建临时文件和临时目录
from gtts import gTTS#将文字转化为语音内容
from pygame import mixer#用于加载和播放声音的pygame模块
mixer.init()#初始化混音器模块
def speak(sentence):
with tempfile.NamedTemporaryFile(delete=True) as fp:
tts = gTTS(text=sentence, lang='zh-tw')#这个没有zh
tts.save("{}.mp3".format(fp.name))
mixer.music.load('{}.mp3'.format(fp.name))
mixer.music.play()
#建立字典类型
Answer = {
'你好吗' : '我很好',
'你很帅' : '谢谢啦 !',
'再见了' : '下次见了! 再聊 ! 拜拜'
}
speak(Answer.get(listenTo(), '对不起,听不清楚 ! 请再说一遍,谢谢啦 ! 再回答你'))
demo2.其他的读文件、语音识别、播放
import speech_recognition as sr
#print(sr.__version__)
r = sr.Recognizer()
harvard = sr.AudioFile('D:/BaiduNetdiskDownload/sr課程_01/audio_files/harvard.wav')
with harvard as source:
audio = r.record(source)#将文件读进来
#print(type(audio))
print(r.recognize_google(audio))
#接下来看噪音的影响
import playsound
import simpleaudio as sa
wave_obj = sa.WaveObject.from_wave_file("D:/BaiduNetdiskDownload/sr課程_01/audio_files/harvard.wav") # harvard.wav
play_obj = wave_obj.play()
play_obj.wait_done()
wave_obj = sa.WaveObject.from_wave_file("D:/BaiduNetdiskDownload/sr課程_01/audio_files/jackhammer.wav") # jackhammer.wav
play_obj = wave_obj.play()
play_obj.wait_done()
harvard = sr.AudioFile('D:/BaiduNetdiskDownload/sr課程_01/audio_files/jackhammer.wav')
with harvard as source:
audio = r.record(source)
print(r.recognize_google(audio))
#使用麦克风
import pyaudio
mic = sr.Microphone()
with mic as source:
r.adjust_for_ambient_noise(source)
audio = r.listen(source)
r.recognize_google(audio)
第二课 KNN Audio Classification
把ab音频做特征提取,两种语音是有距离的,因此归成两类,然后标ab,然后训练模型,做一个二元分类
第三课 ChatBot
第四课 DTW-MFCC
DTW-动态时间扭曲(衡量两个时间之间相似度的方法)
MFCC-梅尔频率倒谱系数-从语音信号中提取出来的特征
人耳对不同频率的听觉灵敏度不同,在梅尔的标度范围提取倒谱系数
第五课 RNN
循环神经网络,基于先前的计算参考,微调
文字资料库
统计机器翻译