索爱麦克风免驱动的语音录入测试
樹莓派上麥克風(fēng)的使用方式 - 知乎 (zhihu.com)
?1 有趨和免趨
無論是麥克風(fēng),還是攝像頭,都有“有趨”和“免趨”類型,想在linux上能用,最好都是選擇免驅(qū)的。因為,大多數(shù)小的設(shè)備是小公司生產(chǎn),沒有力量開發(fā)linux驅(qū)動程序,如果沒有免驅(qū)規(guī)則,它們將無法使用。
這里親測索愛的pcm2902麥克風(fēng).
2 麥克風(fēng)安裝和檢測
將索愛麥克風(fēng)接入USB口,輸入:
lsusb
會出現(xiàn)如下反饋:
?就說明麥克沒有問題,可以立刻工作。
3 音頻文件制作
確定接入后,可以寫個命令測試下:
arecord -D "plughw:2,0" -f S16_LE -r 16000 -d 10 record.wav-D這個參數(shù)的意思就選擇設(shè)備, 外部設(shè)備就是plughw:1,0,內(nèi)部設(shè)備就是plughw:0,0, 樹莓派本身并沒有錄音模塊,故沒有內(nèi)部設(shè)備。-d 10的意思就是錄制時間為10秒,如果不加這個參數(shù)就是一直錄音直到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中調(diào)整音頻輸出哦。
5 寫成Shell代碼
下面分享一段自己寫的shell代碼,用起來更加方便:
(一) shell錄音文件:
sudo? vim? Vrecord.sh
#!/bin/bash cd /home/huatec/recording/ echo '請輸入要保存的音頻文件名:' echo '(默認(rèn)保存路徑/home/huatec/recording)' read r echo '保存的文件名為'$r'.wav' echo '請設(shè)置錄音時間:' echo '(默認(rèn)不輸入為無限,至按ctrl+c結(jié)束)' read tif [ -z "$t" ]; thenecho '開始錄音...'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' elseif [[ ! $t =~ [0-9] ]]thenecho -e '輸入時間有誤!\n默認(rèn)無限時間,至按ctrl+c結(jié)束'echo '開始錄音...'arecord -D "plughw:2,0" $r'.wav'elseecho '開始錄音'$t'秒...'arecord -D "plughw:2,0" -f S16_LE -r 16000 -d $t $r'.wav'fifisudo chmode +w+x? Vrecord.sh
(二)播放音頻shell文件:
sudo vim Vplay.sh
#!/bin/bash cd /home/pi/recording/ echo '請輸入要讀取的音頻文件名:' echo '(默認(rèn)讀取路徑/home/huatec/recording)' read p num=`find -name $p'.wav' |wc -l` echo $num if [ $num -eq 0 ]; thenecho '沒有該文件!' elseecho '開始播放'$p'.wav...'omxplayer -o local $p'.wav' fisudo chmode +w+x? Vplay.sh
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的索爱麦克风免驱动的语音录入测试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ubuntu下C语言Debug工具GDB
- 下一篇: Python的setuptools详解【