我正在使用Playstation眼睛,插入覆盆子pi。我有覆盆子pi识别PSEye的内置麦克风阵列,我可以使用
对输入电平进行采样arecord -vv /dev/null -r 16000 -f S16_LE -c 4 -D iec958:CARD=CameraB409241,DEV=0 /dev/null < /dev/null
现在很明显,这显示了所有4个通道的总和水平。我想做的是分别记录每个频道。这可能是使用ALSA API吗?
我查看了这个http://www.alsa-project.org/alsa-doc/alsa-lib/pcm.html
看看这个http://www.linuxjournal.com/article/6735?page=0,2
但似乎我不需要。这也类似于在ALSA上对立体声麦克风的两个声道采样也是如此。最终,我希望能够在特定时间点从每个麦克风中采样dB。
答案 0 :(得分:1)
要为每个频道读入单独的缓冲区,请将SND_PCM_ACCESS_RW_INTERLEAVED替换为SND_PCM_ACCESS_RW_NONINTERLEAVED,并将snd_pcm_readi替换为snd_pcm_readn。
答案 1 :(得分:0)
如果要将每个频道录制到独立的音频文件中,则可以使用此应用程序:
https://github.com/flatmax/gtkiostream/blob/master/applications/ALSACaptureSplitter.C
它需要编译,在这里描述: https://lists.audioinjector.net/pipermail/people/2020-March/000028.html
要使用该应用程序,请指定基本文件名和扩展名,例如:
http://reverse.geocoder.api.here.com/6.2/reversegeocode.json?xnlp=CL_JSMv3.0.17.0&app_id=Ca548bnNQGuB45wgmgrU&app_code=WTve4O4ccq_5ErqHb7MQfoiAJP4hLw9UmIeNvjc8s4M&mode=retrieveAddresses&maxresults=1&prox=<.....> request failed
它可以录制为许多不同的音频文件格式。
您可以使用这些选项来更改设备,指定记录时间,频道数等。这是应用程序打印出来的帮助:
ALSACaptureSplitter /tmp/test wav