文档章节

语音识别机器人毕业设计第三天

张飞online
 张飞online
发布于 2017/05/27 21:53
字数 1143
阅读 284
收藏 0

1.安装python下的库之PyAudio

  • 首先卸载掉以前我们用的库,安装新的库。原因是以前的库有BUG,在python里带的pyaudio库各种报错,最后查看了“stackoverflow”上的一些解决方案,定位错误的源头,发现我的库里read函数不能屏蔽IOerror。所以一定是版本问题。 所以要解决的第一步就是卸载老的库,安装新的库。下图是我在【http://people.csail.mit.edu/hubert/pyaudio/docs/】官方文档里找到的相关介绍

上面谈到的报错我们列出如下:

当然还有诸多:我以文档的形式列出,方便后期搜索引擎爬到。让更多的人解决这些问题(我准备参加完毕业,全部开源)

[IOError: [Errno Input overflowed] -9981]
IOError: [Errno Invalid input device (no default output device)] -9996
ALSA lib confmisc.c:768:(parse_card) cannot find card '0'
ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4771:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM sysdefault
ALSA lib confmisc.c:768:(parse_card) cannot find card '0'
ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory




好了:我们开始解决它...............

sudo apt-get remove python-pyaudio

  • 然后我们来安装我们需要的最新模块
sudo apt-get install python-pyaudio

sudo apt-get install git

git clone http://people.csail.mit.edu/hubert/git/pyaudio.git

sudo apt-get install libportaudio0 libportaudio2 libportaudiocpp0 portaudio19-dev

sudo apt-get python-dev

sudo python pyaudio/setup.py install

  • 安装完就解决了我们一开始谈到的问题 io报错 9981。当然还要在源代码里做修改,把read函数里面的参数修改为false,安装上面官方文档的截图进行传参。后面我会在代码里标注。

2.解决声卡的各种问题

在这个上面我研究了很长时间,看了许多代码,我们在毕业设计第一天就谈到了声卡的驱动安装,这里再次谈起是因为我们要用python里的pyaudio解决声音的vad功能:

话音激活检测(VAD)算法能够区分传输语音信号中的语音信号和背景噪音,避免无用信号的传输,从而节省有限网络资源,因此对VAD算法的研究有重要的意义。由于一般静默压缩方法仅考虑高信噪比和平稳背景噪声这种理想通信条件,为了在复杂的背景噪声下进行VAD检测。简单来说就是我们不可能一直让录音和存储,比如现在家里没有人,也没人说话,我们完全就没必要录音上传检测语音识别。而vad就是解决这个的,当有较大的振幅时,我们开始存储语音,然后上传识别。 我们在python中写了一部分代码用来解决环境静音:后面我们会拿出这部分代码来详细说明。但是问题又来了:这个pyaudio底层都用的是linux的声音接口,当我们运行程序的时候就出现警告而且是上百行:就像上面图片,但是仔细看:错误原因是找不到:那好解决了,错误的引起是我们本来就没有这些设备。我们把这些东西删除。具体操作如下:

  • 删除这些报错的设备:什么错误,删除什么
sudo vim /usr/share/alsa/alsa.conf
$ ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline

例如:上面报错是,那么删除下面的:

pcm.rear cards.pcm.rear
pcm.center_lfe cards.pcm.center_lfe
pcm.side cards.pcm.side
pcm.hdmi cards.pcm.hdmi
pcm.modem cards.pcm.modem
pcm.phoneline cards.pcm.phoneline
X11 proxy: Unsupported authorisation protocol
xcb_connection_has_error() returned true
  • 添加一些东西,解决con错误
sudo copy ~ .Xauthority /root
ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused

报错如上:解决方法:

 在路径 /usr/share/alsa/alsa.conf.d/  下删除pulseaudio files. 

Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
jack_control start
After making those changes, I no longer get the errors, just:
然后运行基本不报错了:
Listening... Press Ctrl+C to exit

© 著作权归作者所有

张飞online
粉丝 0
博文 5
码字总数 4965
作品 0
海淀
私信 提问
区块链毕设资料【2019-1】

区块链作为一种崭新的、颠覆性的技术,是国内外活跃的研究领域和毕业设计选题方向。本文列出最新的一组区块链方面的论文,希望可以对选择区块链毕业设计的同学们有所帮助,这是汇智网编辑整理...

汇智网教程
01/03
48
0
(推荐)叮当——中文语音对话机器人

叮当是一款可以工作在 Raspberry Pi 上的开源中文语音对话机器人/智能音箱项目,目的是让中国的Hacker们也能快速打造个性化的智能音箱。 github地址:https://github.com/wzpan/dingdang-rob...

禾路
2017/08/30
0
0
简单、灵活的中文语音对话机器人 - wukong-robot

wukong-robot 是一个简单、灵活、优雅的中文语音对话机器人/智能音箱项目,目的是让中国的 Maker 和 Haker 们也能快速打造个性化的智能音箱。 特性 模块化。功能插件、语音识别、语音合成、对...

wzpan
02/19
7.3K
0
区块链毕业设计必读论文[2019第1期]

区块链作为一种崭新的、颠覆性的技术,是国内外活跃的研究领域和毕业设计选题方向。本文列出最新的一组区块链方面的论文,希望可以对选择区块链毕业设计的同学们有所帮助,这是汇智网编辑整理...

geek12345
01/04
19
0
智能电话机器人中的语音识别技术是什么?

最近几年,随着深度神经网络的应用,加上海量大数据的使用和云计算的普及,语音识别技术取得了突飞猛进的发展。越来越多的语音技术产品进入到人们的生活中,例如苹果的Siri、亚马逊的Alexa以...

中科人工智能
06/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

代理模式之JDK动态代理 — “JDK Dynamic Proxy“

动态代理的原理是什么? 所谓的动态代理,他是一个代理机制,代理机制可以看作是对调用目标的一个包装,这样我们对目标代码的调用不是直接发生的,而是通过代理完成,通过代理可以有效的让调...

code-ortaerc
33分钟前
4
0
学习记录(day05-标签操作、属性绑定、语句控制、数据绑定、事件绑定、案例用户登录)

[TOC] 1.1.1标签操作v-text&v-html v-text:会把data中绑定的数据值原样输出。 v-html:会把data中值输出,且会自动解析html代码 <!--可以将指定的内容显示到标签体中--><标签 v-text=""></......

庭前云落
今天
7
0
VMware vSphere的两种RDM磁盘

在VMware vSphere vCenter中创建虚拟机时,可以添加一种叫RDM的磁盘。 RDM - Raw Device Mapping,原始设备映射,那么,RDM磁盘是不是就可以称作为“原始设备映射磁盘”呢?这也是一种可以热...

大别阿郎
今天
10
0
【AngularJS学习笔记】02 小杂烩及学习总结

本文转载于:专业的前端网站☞【AngularJS学习笔记】02 小杂烩及学习总结 表格示例 <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names | orderBy ......

前端老手
昨天
14
0
Linux 内核的五大创新

在科技行业,创新这个词几乎和革命一样到处泛滥,所以很难将那些夸张的东西与真正令人振奋的东西区分开来。Linux内核被称为创新,但它又被称为现代计算中最大的奇迹,一个微观世界中的庞然大...

阮鹏
昨天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部