树莓派上麦克风的使用方式 - 知乎 (zhihu.com)

 1 有驱和免驱

        无论是麦克风,还是摄像头,都有“有趋”和“免趋”类型,想在linux上能用,最好都是选择免驱的。因为,大多数小的设备是小公司生产,没有力量开发linux驱动程序,如果没有免驱规则,它们将无法使用。

        这里亲测索爱的pcm2902麦克风.

2 麦克风安装和检测

        将索爱麦克风接入USB口,输入:

lsusb

会出现如下反馈:

         就说明麦克没有问题,可以立刻工作。

3 音频文件制作

        确定接入后,可以写个命令测试下:

arecord -D "plughw:2,0" -f S16_LE -r 16000 -d 10 record.wav

        -D这个参数的意思就选择设备, 外部设备就是plughw:1,0,内部设备就是plughw:0,0, 树莓派本身并没有录音模块,故没有内部设备。-d 10的意思就是录制时间为10秒,如果不加这个参数就是一直录音直到ctrl+c停止, 最后生成的文件名字叫做temp.wav.

4 播放录音

        如果想要播放音频的话,可以用omxplayer软件。

        惯例

sudo apt-get update
sudo apt-get upgrade

        开始安装

sudo apt-get install omxplayer

        安装完成后,开始播放

omxplayer -o local temp.wav

        如果没声音的话,记得在raspi-config>Advanced Options>Audio中调整音频输出哦。

5 写成Shell代码

        下面分享一段自己写的shell代码,用起来更加方便:

(一) shell录音文件:

sudo  vim  Vrecord.sh

#!/bin/bash
cd /home/huatec/recording/
echo '请输入要保存的音频文件名:'
echo '(默认保存路径/home/huatec/recording)'
read r
echo '保存的文件名为'$r'.wav'
echo '请设置录音时间:'
echo '(默认不输入为无限,至按ctrl+c结束)'
read t

if [ -z "$t" ];
then
  echo '开始录音...'
  arecord -D "plughw:2,0"  -f S16_LE -r 16000 $r'.wav'
# arecord -D "plughw:2,0" -f S16_LE -r 16000 -d 10 $r'.wav'
else
  if [[ ! $t =~ [0-9] ]]
  then
    echo -e '输入时间有误!\n默认无限时间,至按ctrl+c结束'
    echo '开始录音...'
   arecord -D "plughw:2,0" $r'.wav'
  else
    echo '开始录音'$t'秒...'
    arecord -D "plughw:2,0" -f S16_LE -r 16000 -d $t $r'.wav'
    
  fi

fi

sudo chmode +w+x  Vrecord.sh

(二)播放音频shell文件:

sudo vim Vplay.sh

#!/bin/bash
cd /home/pi/recording/
echo '请输入要读取的音频文件名:'
echo '(默认读取路径/home/huatec/recording)'
read p
num=`find -name $p'.wav' |wc -l`
echo $num
if [ $num -eq 0 ];
then
  echo '没有该文件!'
else
  echo '开始播放'$p'.wav...'
  omxplayer -o local $p'.wav'
fi

sudo chmode +w+x  Vplay.sh

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐