让Jack在Raspberry上使用Alsa

时间:2018-05-11 21:28:07

标签: raspberry-pi alsa jack

我有一个工作的Raspberry Pi 3B。 操作系统是Raspbian Stretch。

默认板载Broadcom音频禁用。

USB SoundBlasterG1声卡已插入并配置为 hw:0

nano /etc/asound.conf

  

pcm。!default {     型插头     奴隶 {       pcm“hw:0”     }   }

     

ctl。!default {    键入hw    卡片0   }

我可以使用像这样的播放来播放wav声音文件

> aplay hello.wav

  

播放WAVE'hello.wav':签名16位Little Endian,速率16000 Hz,Mono

我可以像这样使用arecord录制wav声音文件

> arecord foo.wav

  

录制WAVE'foo.wav':无符号8位,速率8000 Hz,单声道

我可以像这样运行Jack服务器

> jackd -d alsa

  

加载驱动程序..
  创建alsa驱动程序... hw:0 | hw:0 | 1024 | 2 | 48000 | 0 | 0 | nomon | swmeter | - | 32bit
  配置为48000Hz,周期= 1024帧(21.3 ms),缓冲区= 2周期
  ALSA:最终选择的捕获样本格式:16bit little-endian
  ALSA:使用2个时段进行捕获   ALSA:最终选择的播放样本格式:16bit little-endian
  ALSA:使用2个句点进行播放

然而杰克似乎没有从麦克风捕获任何信号:

如果我跑

> jackd -v -d alsa

我得到以下额外输出

  

新缓冲区大小1024
  调整类型0的端口缓冲区段大小,一个缓冲区= 4096字节
  调整类型1的端口缓冲区段大小,一个缓冲区= 2048字节
  注册港口系统:capture_1,offset = 4096
  注册港口系统:capture_2,offset = 8192
  注册港口系统:playback_1,offset = 0
  注册港口系统:playback_2,offset = 0
  ++ jack_sort_graph
  ++ jack_rechain_graph():
   - jack_rechain_graph()
   - jack_sort_graph
  1160等待信号
  load = 0.0452 max usecs:21.000,spare = 23198.000
  load = 0.0678 max usecs:21.000,spare = 23198.000
  load = 0.0791 max usecs:21.000,spare = 23198.000
  (..等)

在Raspberry PI上使用ALSA驱动程序设置Jack以从USB音频麦克风捕获数据需要什么。

1 个答案:

答案 0 :(得分:0)

使用Jack时,捕获和回放端口不会自动连接。

可以通过UI应用 qjackctl 或使用 jack_connect 通过cli连接端口。

Qjackctl包通常被列为jackd的依赖项,jack_connect脚本与jackd捆绑在一起。