树莓派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

参数解析:

  1. -D 指定了录音设备,0,1 是card 0 device 1的意思
  2. -d 指定录音的时长,单位时秒
  3. -f 指定录音格式,通过上面的信息知道只支持 cd cdr dat
  4. -r 指定了采样率,单位时Hz
  5. -c 指定channel 个数
  6. -t 指定生成的文件格式

5. 播放

aplay hello.wav// make sure default device
// Audio will come out via audio jack of Raspberry Pi

6. 软件测试

  1. 可以通过audacity软件测试。打开Audacity后,选择 AC108和2通道 作为输入,bcm2835 alsa: - (hw:0,0) 作为输出来测试
  2. 使用 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` 声卡,录音与播放相关推荐

  1. 树莓派3B安装openwrt19.07.04

    树莓派3B安装openwrt19.07.04 1.目的 2.下载 3.驱动安装 1.目的 为了实现家用wifi的扩展,打算利用闲置的树莓派3b进行配置.板载wifi用于扩展ap,外接usb无线网卡用于 ...

  2. [折腾向]树莓派3B+安装系统(Raspbian)以及配置环境

    摘要:自己根据网上各路大神的博文费时2天配置好树莓派,写下博文记录自己折腾树莓派的过程.硬件真的比想象中的麻烦... 目录 目录 1.硬件准备 2.安装系统 (1)树莓派系统下载: (2)格式化tf卡 ...

  3. 树莓派3B+ 安装计算机视觉库(OpenCV_3+OpenCV_Contrib_3)

    树莓派3B+ 安装计算机视觉库(OpenCV_3+OpenCV_Contrib_3) 计算机视觉是一项应用于计算机模式生物视觉的新技术,它使得计算机能代替人眼实现对目标的识别.分类.跟踪和场景理解. ...

  4. 一起来玩树莓派---树莓派3B+安装Ubuntu16.04系统

    树莓派3B+安装Ubuntu16.04系统 树莓派3B型号可以安装Ubuntu Mate官方版本,但是这个版本不适配3B+,会出现一直彩虹屏(引导文件的问题)和无法连接WiFi,经过调查发现是版本不太 ...

  5. 树莓派3b+安装openwrt 配置wan lan和wifi

    树莓派3b+安装openwrt 配置wan lan和wifi 1.配置网络 修改/etc/config/network 注释掉option ifname 'eth0'一行,为防止与路由器地址冲突,将其 ...

  6. 树莓派3B+安装Ubuntu mate遇到彩虹屏

    树莓派3B+安装Ubuntu mate遇到彩虹屏 彩虹屏问题描述 解决方案 彩虹屏问题描述 网上找了多个教程将ubuntu mate刻录到sd卡上的教程: 1.windows上使用如下工具,SDFor ...

  7. 树莓派3B安装ffmpeg

    树莓派3B安装ffmpeg 树莓派型号:3b 操作系统:ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi.img 如果只使用基础功能可以参考https:// ...

  8. 树莓派3B+安装python3

    树莓派3B+安装python3   树莓派3B+内部已经装了python2 和python 3(例如3.7).如果没有的话可以执行下列命令安装一下,当然,python2不用的话也可以删了. sudo ...

  9. 树莓派3B安装opencv

    树莓派3B安装使用pip命令安装opencv 首先我们需要一个树莓派,一根串口线和一根5V2A(一卢)的安卓充电线. 烧录系统的教程网上非常多了,我就不再过多阐述,也能看到很多为树莓派增加交换空间的博 ...

最新文章

  1. BGP 最佳路径选择之 -- Origin
  2. 触屏设备手势简历研究
  3. BZOJ 3597 SCOI2014 方伯伯送椰子 网络流分析+SPFA
  4. window.onload与$(document).ready()的区别
  5. 怎么在linux终端上sed,Linux中如何使用sed命令
  6. explain分析sql效果
  7. FairMOT论文详解
  8. 智能小家居——智能插座TOP10方案合集
  9. 服务器主板的无线驱动,驱动天空 - 品牌主板 - 服务器主板 SERVER
  10. 数组排序和集合排序的使用
  11. Racket 的诞生与发展
  12. 添加引用提示:未能找到引用的组件“XXX”。未能加载类型库。加载类型库/DLL 时出错。...
  13. Shopee上货软件,新手小白必备神器
  14. 微信小程序——漂亮的步骤条(好看)
  15. 苹果授权登录绑定手机号被拒绝
  16. 操作系统学习体会之进程管理篇
  17. 计算机领域资讯(一)
  18. 破坏性程序和计算机病毒的差异,计算机病毒—破坏性程序分析.ppt
  19. SpringBoot应用监控
  20. csp2019真题全解析

热门文章

  1. SUMO与matlab联合仿真
  2. vim编辑器的简单使用(参考别人文章的学习笔记)
  3. python eel 多线程_Python的一个轻量级桌面GUI开发第三方库:Eel
  4. tensorflow计算flops
  5. 2. Mac 命令行走代理服务器
  6. VUE从一个页面传值到另一个页面
  7. BLUES吉他学习笔记004 bluesrv[8]
  8. 各大自媒体平台的收益情况汇总
  9. python3制作中文词云_Python_制作中文词云
  10. 混乱是怎样炼成的——《C解毒》试读