树莓派3B+ 安装 `ReSpeaker 4-Mics Pi HAT` 声卡,录音与播放
树莓派3B+ 安装 ReSpeaker 4-Mics Pi HAT
声卡,录音与播放
1. 查看默认声卡
利用cat /proc/asound/cards 可以查看系统出现的声卡,编号为0的为默认声卡
cat /proc/asound/cards
2. 查看录音设备
arecord –l
3. 查看播放设备
aplay -l
4. 录音
选择 ac108 , 4通道
arecord -D ac108 -f S32_LE -r 16000 -c 4 hello.wav
// only support 4 channels
参数解析:
- -D 指定了录音设备,0,1 是card 0 device 1的意思
- -d 指定录音的时长,单位时秒
- -f 指定录音格式,通过上面的信息知道只支持 cd cdr dat
- -r 指定了采样率,单位时Hz
- -c 指定channel 个数
- -t 指定生成的文件格式
5. 播放
aplay hello.wav
// make sure default device
// Audio will come out via audio jack of Raspberry Pi
6. 软件测试
- 可以通过audacity软件测试。打开Audacity后,选择 AC108和2通道 作为输入,bcm2835 alsa: - (hw:0,0) 作为输出来测试
- 使用 alsamixer 调节音量。
7. 默认声卡无法设置为 ReSpeaker 4-Mics 的处理办法
打开 /etc/asound.conf 文件
sudo nano /etc/asound.conf
更改为以下内容:
defaults.pcm.rate_converter “samplerate”
pcm.bcm2835 {
type hw
card ALSA
}
pcm.seeed_4mic_voicecard {
type hw
card seeed4micvoicec
}
pcm.softvol {
type softvol
slave {
pcm “pduplex”
}
control {
name “Master”
card 0
}
}
pcm.!default {
type asym
playback.pcm “plug:softvol”
capture.pcm “pduplex”
}
pcm.recmixer {
ipc_key 140325
ipc_key_add_uid true
type dsnoop
slave.pcm “seeed_4mic_voicecard”
}
pcm.duplex {
type asym
playback.pcm “bcm2835”
capture.pcm “recmixer”
}
pcm.pduplex {
type plug
slave.pcm “duplex”
}
ctl.pduplex {
type hw
card 0
}
pcm.dsp0 {
type plug
slave.pcm “duplex”
}
ctl.mixer0 {
type hw
card 0
}
8. 此时可录制,但使用pyaudio时会出现错误,大致如下:
ALSA lib pcm.c:2212:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2212:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2212:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib audio/pcm_bluetooth.c:1613:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib audio/pcm_bluetooth.c:1613:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib audio/pcm_bluetooth.c:1613:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib audio/pcm_bluetooth.c:1613:(audioservice_expect) BT_GET_CAPABILITIES failed : Input/output error(5)
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
Cannot connect to server socket err = No such file or directory
Cannot connect to server socket
jack server is not running or cannot be started
解决方法如下:
修改 /etc/asound.conf 文件:
defaults.pcm.card 0
defaults.pcm.device 0
defaults.ctl.card 0
pcm.!default {
type asym
playback.pcm {
type plug
slave.pcm “dmix”
}
capture.pcm {
type plug
slave.pcm “hw:1,0”
}
}
1)针对于麦克风,配置生效的是:
capture.pcm {
type plug
slave.pcm “hw:1,0”
}
使用 arecord -D hw:1,0 -f S32_LE -r 16000 -c 4 hello.wav
测试录音功能。
2)针对于播放,配置生效的是:
defaults.pcm.card 0
defaults.pcm.device 0
defaults.ctl.card 0
使用 aplay -D hw:0,0 hello.wav
测试播放功能。
9. 如果录音、播放正常,但pyaudio依然出现错误,建议升级安装pyaudio。
首先卸载掉以前我们用的库,安装新的库。原因是以前的库有BUG,在python里带的pyaudio库各种报错,最后查看了“stackoverflow”上的一些解决方案,定位错误的源头,发现我的库里read函数不能屏蔽IOerror。所以一定是版本问题。
树莓派3B+ 安装 `ReSpeaker 4-Mics Pi HAT` 声卡,录音与播放相关推荐
- 树莓派3B安装openwrt19.07.04
树莓派3B安装openwrt19.07.04 1.目的 2.下载 3.驱动安装 1.目的 为了实现家用wifi的扩展,打算利用闲置的树莓派3b进行配置.板载wifi用于扩展ap,外接usb无线网卡用于 ...
- [折腾向]树莓派3B+安装系统(Raspbian)以及配置环境
摘要:自己根据网上各路大神的博文费时2天配置好树莓派,写下博文记录自己折腾树莓派的过程.硬件真的比想象中的麻烦... 目录 目录 1.硬件准备 2.安装系统 (1)树莓派系统下载: (2)格式化tf卡 ...
- 树莓派3B+ 安装计算机视觉库(OpenCV_3+OpenCV_Contrib_3)
树莓派3B+ 安装计算机视觉库(OpenCV_3+OpenCV_Contrib_3) 计算机视觉是一项应用于计算机模式生物视觉的新技术,它使得计算机能代替人眼实现对目标的识别.分类.跟踪和场景理解. ...
- 一起来玩树莓派---树莓派3B+安装Ubuntu16.04系统
树莓派3B+安装Ubuntu16.04系统 树莓派3B型号可以安装Ubuntu Mate官方版本,但是这个版本不适配3B+,会出现一直彩虹屏(引导文件的问题)和无法连接WiFi,经过调查发现是版本不太 ...
- 树莓派3b+安装openwrt 配置wan lan和wifi
树莓派3b+安装openwrt 配置wan lan和wifi 1.配置网络 修改/etc/config/network 注释掉option ifname 'eth0'一行,为防止与路由器地址冲突,将其 ...
- 树莓派3B+安装Ubuntu mate遇到彩虹屏
树莓派3B+安装Ubuntu mate遇到彩虹屏 彩虹屏问题描述 解决方案 彩虹屏问题描述 网上找了多个教程将ubuntu mate刻录到sd卡上的教程: 1.windows上使用如下工具,SDFor ...
- 树莓派3B安装ffmpeg
树莓派3B安装ffmpeg 树莓派型号:3b 操作系统:ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi.img 如果只使用基础功能可以参考https:// ...
- 树莓派3B+安装python3
树莓派3B+安装python3 树莓派3B+内部已经装了python2 和python 3(例如3.7).如果没有的话可以执行下列命令安装一下,当然,python2不用的话也可以删了. sudo ...
- 树莓派3B安装opencv
树莓派3B安装使用pip命令安装opencv 首先我们需要一个树莓派,一根串口线和一根5V2A(一卢)的安卓充电线. 烧录系统的教程网上非常多了,我就不再过多阐述,也能看到很多为树莓派增加交换空间的博 ...
最新文章
- BGP 最佳路径选择之 -- Origin
- 触屏设备手势简历研究
- BZOJ 3597 SCOI2014 方伯伯送椰子 网络流分析+SPFA
- window.onload与$(document).ready()的区别
- 怎么在linux终端上sed,Linux中如何使用sed命令
- explain分析sql效果
- FairMOT论文详解
- 智能小家居——智能插座TOP10方案合集
- 服务器主板的无线驱动,驱动天空 - 品牌主板 - 服务器主板 SERVER
- 数组排序和集合排序的使用
- Racket 的诞生与发展
- 添加引用提示:未能找到引用的组件“XXX”。未能加载类型库。加载类型库/DLL 时出错。...
- Shopee上货软件,新手小白必备神器
- 微信小程序——漂亮的步骤条(好看)
- 苹果授权登录绑定手机号被拒绝
- 操作系统学习体会之进程管理篇
- 计算机领域资讯(一)
- 破坏性程序和计算机病毒的差异,计算机病毒—破坏性程序分析.ppt
- SpringBoot应用监控
- csp2019真题全解析