基于讯飞语音,百度语音,图灵机器人树莓派的智能语音机器人毕业设计第三天

原创 2017年05月27日 21:58:16

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
版权声明:本文为博主原创文章,未经博主允许不得转载。

alsa-lib 交叉编译以及声卡驱动测试

 alsa-lib移植笔记 http://blog.chinaunix.net/uid-21977330-id-3976786.html l  下载alsa-utils, alsa...
  • xuerongdeng
  • xuerongdeng
  • 2015年03月20日 14:23
  • 1668

python3 使用pyaudio OSError: [Errno -9996] Invalid input device (no default output device)-ubuntu16.04

python3 使用pyaudio录音出现 OSError: [Errno -9996] Invalid input device (no default output device)-ubuntu1...
  • Nicholas_Wong
  • Nicholas_Wong
  • 2017年09月14日 11:13
  • 854

python的webrtc库实现语音端点检测

刚刚搭了博客thinkhard.tech,欢迎踩踩~引言语音端点检测最早应用于电话传输和检测系统当中,用于通信信道的时间分配,提高传输线路的利用效率.端点检测属于语音处理系统的前端操作,在语音检测领域...
  • u012123989
  • u012123989
  • 2017年05月26日 16:54
  • 6975

ubuntu下编译VLC源码

1、从git上获得VLC源代码,当然你要确定你已经安装好了git: git  clone git://git.videolan.org/vlc.git vlc源码还是挺大的,我下载下来一共是214...
  • beitiandijun
  • beitiandijun
  • 2013年07月02日 17:33
  • 10490

2015.06毕业设计 ---《基于树莓派开发板的智能家居系统的设计和实现》

  • 2015年12月02日 15:55
  • 2.37MB
  • 下载

不重启Linux服务器关闭SeLinux的方法

公司又租了台Linux服务器,本想用Debian,但机房的管理人员不会装,只好用RHEL5代替。 因为系统而要用Zend optimizer,我装的是v3.3,安装过程一切顺利,重启apache...
  • yuleslie
  • yuleslie
  • 2012年01月01日 14:46
  • 1624

pyaudio

http://old.sebug.net/paper/books/scipydoc/wave_pyaudio.html 在虚拟机下不知道为什么就是报错,所以换成的windows下运行,安装教程http...
  • gaonii
  • gaonii
  • 2017年04月05日 21:29
  • 424

树莓派语音聊天机器人(基于讯飞语音和图灵机器人)

我重构了整个代码,全部用python编程,请点击此处以查看详情语音聊天机器人第二版———————————————————————————————————————————————————————————...
  • Lingdongtianxia
  • Lingdongtianxia
  • 2017年01月31日 14:32
  • 6674

基于讯飞语音,百度语音,图灵机器人树莓派的智能语音机器人毕业设计第二天

1. 树莓派中文安装 sudo apt-get install ttf-wqy-zenhei 将安装文泉驿的开源中文字体,在这里向文泉驿表示致敬,貌似它是唯一一个开源的中文字体库。郭嘉有钱建孔子学院...
  • u013372900
  • u013372900
  • 2017年05月27日 21:47
  • 1068

如何利用树莓派从无到有打造一款树莓派机器人

树莓派是为学习计算机编程教育而设计,只有信用卡大小的微型电脑,最早的系统基于Linux,随着Win10 IOT的发布,现在树莓派也可以运行Windows。树莓派虽然只有信用卡大小,但是内心却非常的强大...
  • RSS_40728440
  • RSS_40728440
  • 2018年01月11日 16:19
  • 179
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:基于讯飞语音,百度语音,图灵机器人树莓派的智能语音机器人毕业设计第三天
举报原因:
原因补充:

(最多只允许输入30个字)