Python简单语音识别

一:
1:安装pyaudio,speech库
2:直接上代码,首先简单的文本转语音

import speech  #调用speech库
speech.say('请选择:1.转换文字,2.转换文本,3.退出')
#speech.say是固用语法,它可以调用你的麦克风,并且说出括号内的内容
n=int(input('请选择:1.转换文字,2.转换文本,3.退出'))
#这里是一个输入,input获取你输入的内容,并将其转化为int类型,将它赋值给n(n没有任何意义)
while True:#循环if n==1:speech.say("请输入:")#同上str = input("请输入:")#同上speech.say("你输入的内容是: ")#同上speech.say(str)#调用麦克风说出你输入的内容if n==2:speech.say('请输入文本名')#同上n1=input('请输入文本名')#同上fd = open(n1, encoding="utf-8").read()#打开该文本,并读取speech.say(fd)#同上if n==3:speech.say('您已退出')#如你所见,break了break

3:直接上代码,简单的语音转文本

import speech_recognition as sr   #不说了,也知道是啥意思吧
r = sr.Recognizer()    #调用识别器
test = sr.AudioFile("I:\\pycham\\PyCharm 2020.2.3\\语音识别\\程序文件\\Oldboy.wav")   #导入语音文件
with test as source:audio = r.record(source)
type(audio)   #看一下类型不用管
c=r.recognize_sphinx(audio, language='zh-cn')
#识别输出,调用中文,这里需要下载中文包,speech_recognition里没有中文
print(c)
print(d)

4.代码代码,自己给自己录音

import wave
from pyaudio import PyAudio,paInt16framerate=8000#看下面
NUM_SAMPLES=2000#看下面
channels=1#看下面
sampwidth=2#看下面
TIME=2#看下面
def save_wave_file(filename,data):#自定义函数'''save the date to the wavfile'''wf=wave.open(filename,'wb')#打开一个wav文件,没有则创建wf.setnchannels(channels)#声道数,不会吧,难道真的有人不知道声道数是什么意思wf.setsampwidth(sampwidth)#采样字节 1 or 2wf.setframerate(framerate) #采样频率 8000 or 16000wf.writeframes(b"".join(data))#写进去wf.close()#关了,不关就一直开着了def my_record():pa=PyAudio()#调用,然后换个名字,嗯,虽然有点不一样,但差不多就是这个意思stream=pa.open(format = paInt16,channels=1,rate=framerate,input=True,frames_per_buffer=NUM_SAMPLES)#底层的缓存的块的大小,不写也可以,改成(frames_per_buffer=frames_per_buffer)就可以了my_buf=[]count=0while count<TIME*10:#控制录音时间(2*10,打印20个.差不多emmmm好几秒吧)string_audio_data = stream.read(NUM_SAMPLES)my_buf.append(string_audio_data)count+=1#别告诉我你看不懂print('.')save_wave_file('01.wav',my_buf)#调用,传参stream.close()#关了chunk=2014
def play():wf=wave.open(r"01.wav",'rb')#读写p=PyAudio()stream=p.open(format=p.get_format_from_width(wf.getsampwidth()),#打开channels=wf.getnchannels(),rate=wf.getframerate(),output=True)while True:data=wf.readframes(chunk)if data=="":break#不管,前面要是没问题,就不会用到这个stream.write(data)#写入stream.close()#关了p.terminate()#还记得前面的pyaudio吗,没错,调用这个库,然后播放01.wav,总要检查一下到底录没录下来嘛if __name__ == '__main__':my_record()print('Over!')play()#调用自定义函数,运行顺序1.my_record 2.save_wave_file 3.play

5.终于,整合一下前面的代码,自己录音识别自己,其实很简单,直接from *** import ***,不过再此之前得把播放的那一段删了,也就是上面的自定义函数play()

from 程序文件.录音2 import my_record#是不是很方便,直接调用,下面不说了,之前都说过了
import speech_recognition as sr
my_record()
r = sr.Recognizer()    #调用识别器
test = sr.AudioFile("I:\\pycham\\PyCharm 2020.2.3\\语音识别\\程序文件\\01.wav")   #导入语音文件
with test as source:audio = r.record(source)
d=type(audio)
c=r.recognize_sphinx(audio, language='zh-cn')     #识别输出
print(c)
print(d)

python超简单语音识别相关推荐

  1. python超简单超基础的免费小说爬虫

    python超简单超基础的免费小说爬虫 需要准备的环境 选取网页 思路 代码 总结 需要准备的环境 1.python 3.0及以上皆可 2.requests库,os,re 选取网页 找一个免费的小说网 ...

  2. Python超简单实现跳动爱心代码/opencv/几十行代码/新手也能学会

    Python超简单实现跳动爱心代码/opencv/几十行代码/新手也能学会 1.OpenCV逐帧处理视频获得坐标像素点 从网上寻找带有此同款爱心视频,原视频出处--<点燃我,温暖你>,截取 ...

  3. Python 超简单3行代码提取音乐高潮(附批量提取)!

    怎么样,是不是迫不及待想往下读了?不要急,让我们从原理开始慢慢讲起. 1.原理简介 不知道大家有没有这样的体会,大部分时候,歌曲的高潮部分通常是重复次数最多的部分.因此我们可以根据这一个特征,提出我们 ...

  4. Python 超简单一键美化你的文章

    在平时写文章的时候,我都会注意在中文和英文单词之间保留一个空格的习惯,这样能使文本具有良好的可读性. 但是我经常忽略某些半角字符(数字和符号)与中文之间的空格,导致可读性比较差,在阅读别人的文章或者修 ...

  5. Python超简单容易上手的画图工具库

    今天,在网上发现一款很棒的python画图工具库.很简单的api调用就能生成漂亮的图表.并且可以进行一些互动. pyecharts 是一个用于生成 Echarts 图表的类库.Echarts 是百度开 ...

  6. Python 超简单3行代码提取音乐高潮部分

    有些时候,为了设定手机铃声或者发抖音视频,我们会耗费大量时间在剪辑音乐高潮部分上.那么这个音乐高潮的提取能不能自动化呢?当然可以. 先来看看,怎么样来提取孤芳自赏提取高潮后的部分: 怎么样,是不是迫不 ...

  7. Python 超简单爬取微博热搜榜数据

    微博的热搜榜对于研究大众的流量有非常大的价值.今天的教程就来说说如何爬取微博的热搜榜. 热搜榜的链接是: https://s.weibo.com/top/summary/ 用浏览器浏览,发现在不登录的 ...

  8. Python 超简单格式化代码,仅需一行命令

    复制别人的代码进行使用的时候,最烦的就是看到编辑器上显示的各种红色的.橙色的提示线吧? 尤其是那些不遵守PEP8规则的代码,等号两边的空格会加到你手软. 真希望哪天全世界写Python的小伙伴们都能统 ...

  9. python爬取图片-Python超简单的爬取网站中图片

    1.首先导入相关库 importrequestsimportbs4importthreading #用于多线程爬虫,爬取速度快,可以完成多页爬取import os 2.使用bs4获取html中的内容 ...

  10. python超简单小游戏代码-Python实现简单的猜单词小游戏

    本文实例为大家分享了Python实现猜单词小游戏的具体代码,供大家参考,具体内容如下 思路 1.一个words列表里存放若干的单词,例如:["extends", "pri ...

最新文章

  1. VS2017中使用码云上传项目以及问题汇总
  2. 4安装-企业级 Hyper-v 群集部署实验方案
  3. linux 手动添加 swap 分区
  4. 不会代码,如何搭建一个个人博客?
  5. react打包后图片丢失_手搭一个 React,Typescript,Koa,GraphQL 环境
  6. (搬家文) c++引用深入探讨
  7. 通信行业力推零信任标准,蔷薇灵动微隔离首批获证
  8. java中生成pdf文件,java 中生成pdf 文件
  9. git解决冲突 merge 不提示_Merge,Rebase,Cherry-Pick 了解一下
  10. 实地集团和广州移动发布首个独立组网5G全场景智能社区
  11. 开源与安全兼备 IBM LinuxONE轻松掌控关键业务
  12. 软件编码测试要点总结
  13. UE4 云渲染环境搭建
  14. 【Axure原型】新闻资讯客户端APP原型 今日头条同类APP实战原型
  15. php redis缓存雪崩,redis雪崩是什么
  16. 【linux基础】vim快速移动光标至行首行尾、第一行和最后一行
  17. 【网页版 GitHub】操作指南(搜索、下载等)
  18. 扩展程序 - Google Chrome
  19. Socket一对一聊天实例
  20. selenium实现QQ空间和b站这些网站的模拟登录

热门文章

  1. 如何用xmlspy将xml文档生成xsd文件
  2. 使用JavaMail发送普通邮件(纯文本邮件)
  3. Python OpenCV实现身份证号码识别
  4. 给小米手机安装google框架
  5. android adb login,adb
  6. 网易电子邮箱的文档功能是什么?
  7. 机器学习笔记 - 什么是联合概率分布?
  8. 联合概率分布与边缘分布
  9. CAS4.0.0链接Redis4.0.6
  10. c语言二级安卓软件,C语言二级考试题库安卓下载-C语言二级考试题库APK下载 - Iefans...