这篇文章是小白的我摸着石头过河摸出来的,当时并没有找到特别多的资料,希望帮助到有相同困惑的朋友!文章发在我的博客:
http://lado.me/2017/04/16/combination-of-linux-audio/ 期待认识更多Linux上玩音乐的朋友!
正文开始:引用:
不像Windows或OSX,Linux上可以更自由选择音频组件进行组合。 以下讨论的方案,是最流行的Alsa+Pulseaudio组合,Ubuntu等发行版也在使用。
先介绍一下最常见的Linux音频的处理方式,看下图
附件:
linux-audio-stack.png [ 59.9 KiB | 被浏览 1014 次 ]
引用:
图片来自linux-audio.com
声卡 → 内核 → Alsa(低延迟) → Pulseaudio(高延迟) 或 JACK(低延迟) → 软件App。
我使用的连接方式JACK连接专业App或Pulseaudio
这是我正在使用的连接方式,Alsa输出JACK,JACK输出给专业App与Pulseaudio。
内核和Alsa负责驱动声卡(驱动)
Alsa连接JACK
JACK连接Pulseaudio,Pulseaudio连接普通的桌面App、蓝牙和系统声音
JACK负责连接专业的音频App(不经过Pulseaudio)
举个例子:
打开浏览器,在爱奇艺看视频,调节播放的音量,使用的是JACK+Pulseaudio。
打开Ardour(一款Daw),使用的是JACK。
附件:
alsa-to-jack-to-pulseaudio.png [ 87.02 KiB | 被浏览 1014 次 ]
看起来是不是有点像在Windows和其他系统?Windows系统声音控制就像Pulseaudio,Asio就像JACK。
其他常见的音频组件连接方式Pulseaudio或JACK连接App
内核和Alsa负责驱动声卡(驱动)
Pulseaudio负责连接普通的桌面App和蓝牙(网易云音乐、QQ、浏览器)
JACK负责连接专业的音频App(录音软件)
举个例子:
打开浏览器,在优酷看视频,调节播放的音量,使用的是Pulseaudio。
打开Ardour(一款Daw),使用的是JACK。
附件:
alsa-to-pulseaudio-and-jack.png [ 68.61 KiB | 被浏览 1014 次 ]
引用:
因为Pulseaudio与JACK同时连接Alsa的话,需要先停用另外一方。所以如果想在使用Daw的时候,播放网页的声音,就必须停用连接着Daw的JACK,让JACK不再占用Alsa。
Alsa直接连接App我们在Linux是自由的,不仅限以上的音频组件连接方式。网页播放视频的声音、即使是Daw的声音也可以同时由Alsa控制。
引用:
Alsa可以直接控制所有的声音播放,可以不需要Pulseaudio或JACK。
举个例子:
打开浏览器,在Bilibili看视频,使用Alsa控制播放音量。
打开Ardour(一款Daw),使用Alsa。
附件:
alsa-to-all.png [ 62.53 KiB | 被浏览 1014 次 ]
引用:
因为Pulseaudio在各方面都有着不错的现成接口,如使用蓝牙,JACK在专业级的软件也有更丰富的支持。所以要求比较复杂的朋友,还是使用Pulseaudio和JACK比较方便。
最方便的部署方式使用Cadence,在图形界面按自己的喜好选择音频组件的连接方式。
Arch
代码:
yaourt cadence
Ubuntu
请参考官网
Cadence官方地址:http://kxstudio.linuxaudio.org/Applications:Cadence
注意事项我使用的连接方式,Alsa → JACK → Daw或Pulseaudio,JACK必须为jack2-dbus版本,才能达到与其他应用程序通信的效果。
Pulseaudio,JACK,Alsa之间的连接,除了程序本身需要安装,还需要安装依赖的插件。
Arch
代码:
sudo pacman -S pulseaudio-alsa pulseaudio-jack alsa-plugins
Ubuntu
代码:
sudo apt-get install pulseaudio-module-jack alsa-plugins
必须知道的知识控制Alsa调音台音量,需要先安装alsa-utils,终端输入alsamixer运行。
控制Pulseaudio的图形界面,在Gnome、Kde等流行的桌面默认都有调音台可以控制。 我使用Gnome桌面,还另外安装了pavucontrol。
关于JACK的图形界面控制,除了Cadence,还有QjackCtl。
参考资料https://wiki.archlinux.org/index.php/Ad ... chitecturehttps://wiki.archlinux.org/index.php/Pu ... ection_Kithttp://jackaudio.org/faq/编辑器排版困难,辛苦看贴了!