本文是学习深度学习之中得到的一些感想
接下来会定期发布,用于和同样有需要的人一起分享
声音的波长->Neural Network->hello
第一步:声音变成位元(声波变成电脑识别的单元)
运用计算机的软体或者硬体把声音转换为位元让电脑可以接受
声音以波浪的方式传播
如你好
转化为声波后就是这样
可以看到每一个你好的过程实际上是可以转化为一个一维的东西来表示
随后就是进行抽样进行上千次的抽样以尽量保证还原性。(实际上就是模拟转数字)
因此,在一个类似于麦克风的输入装置输入语音后,需要先进行预处理
类似语音转声波,模拟转数字然后变成神经网络可以接受的资料输入神经网络。
第二步 输入神经网络
把经过预处理的数据输入一个译码器里面,通过加入语言模型和声学模型的辨识得到单词
具体过程:先通过傅里叶变换将声波转换为能量谱
再通过画频谱图等方式对其进行分析
通过递归神经网络,分析其与几个可能的词的相似性。
通过估计每一个字母
实际上这时候得出的还是不太稳定,往往还需要更多一步的处理
程序范例
import speeth_recognition as sr
r=sr.Rescognizer()
运用speech_recognition 包各个公司的API
例如:
recognize_google
recognize_ibm 等等
如果是和cmu sphinx的话可以做 脱机工作 offline
其余的只能进行online工作
实例训练1:
音频检验
kkk=sr_Audiofile(‘音频文件’)
audio=r.record(kkk)读入音频
其文件类型为
sppech_recognition.Audiodata
然后使用r.recognize_google(audio)
也可以对文本进行切割
例如把audio分为两段音频
实例训练二
播放音频
import playsound 和simpleaudio as sa
然后
wav_yxx=sa.WaveObject.from_wave_file(‘文件名’)
play_yxx=wav_yxx_play()
play_yxx.wait_done()
可以播放音频
实例训练三
安装pyaudio
import speeth_recognition as sr
r=sr_Recognizer()
mic=sr.microphone()
with mic as source
audio=r.listen(source)
r.recognize_google(audio)
可以进行录音
变成
with mic as source
adjust_for_ambient_noise()
audio=r.listen(source)
可以清除噪音
只需要对recognize进行改变变成
r.recognize_google(audio,language=“zh-tw”)即可识别繁体中文
此为第一次学习的部分经验。之后会继续更新