作者mgdesigner (机枪设计师)
看板Linux
标题Re: [闲聊] 使用 GNU/Linux 做为笔电的 OS
时间Wed Sep 2 11:48:21 2015
※ 引述《Hazukashiine (交大杯面)》之铭言:
: 不过本人对 JACK 比较不熟,希望下一篇会是对 JACK daemon 处理音讯的简说哦~
: 推 Bencrie: PulseAudio 的 latency 还好吧,不用 rtkernel 也能 <1ms 09/02 01:49
身为一个天天用jackd的人,我就来略说一下。
我就从latency切入。首先我对Pulseaudio的latency<1ms这件事抱持一个怀疑态度,还有此
外这是不是真的有用?
latency有用的意思是..
1.
DVD播放影片时,按下播放影片按钮到开始播放的latency是1ms,2ms,甚至1s,其实对观看
者都没关系,因为只要能从头稳定顺顺的播放到尾,latency是多少没差。
2.
但是玩3D FPS游戏时,操纵的按键按下去,或者放开按键,多久後(latency)画面上会反
应你的操作结果,这就有差。
关於1 ,虽然latency多少没差,但是要作到影音同步
关於2 ,latency必须是你按下操作按键,比如说按下发射钮,游戏绘图开始画polygon、
贴图、计算光线、渲染各种效果等等,这些要在一个很短且稳定的时间内完成。
Jackd达成的事情就是:
1.音讯realtime:低、固定的latency (low
block latency),即使影响到桌面操作也在所
不惜(这就跟pulseaudio的哲学不同)
2.不同的音讯软体render/playback/record 同步
3.内部音讯绕线(routing):管线无限,端视自己的硬体能力,跟windows的DAW有上限不
同
4.网路音讯:一台电脑不够?类似Linux算图农场,可以作音讯的算音农场,在工作室摆个
两三台组合起来就吓吓叫了吧?
跟pluseaudio的情境很不同....
jack session多半可能是这样
有一个鼓机音源器、一个通用取样音源机、一个合成音源机、两个物理运算音源机等等,
然後这些音源还挂上许多的效果器,例如EQ、Limiter(鼓机要挂)、reverb、compressor
,然後按下一个按钮以後,所有音讯软体开始运作(不是playback,而是
rendering),一
个小节一个小节都要同步,然後你操作midi keyboard即时弹奏,声音也必须准时播出,不
管弹多弹少音,声音都即时出现,不能慢拍
这一首中间的间奏2:09~2:42我就是这样用midi keyboard弹的
https://www.youtube.com/watch?v=RaPbk_oaw_k
假设出现最严峻的状态,萤幕上画面就算被冻结也没有关系,只要声响正确即可。
这跟单单播放一个mp3,播放按钮按下去,播出声音是不一样的要求,音乐制作专业的需要
是,一口气很多的音乐程式
同时演算出声响,维持同步,还要即时,而且
24bit/96khz也要
能运作正确。
关於前述的第三点,这个是Jack不同於Windows ASIO、Mac coreaudio的不同点,就是在ja
-ck下,任何一个DAW(数位音乐工作站)不会独占整台机器,所有支援jack的音乐制作软
体在jack底下,会平等的存在,
各音讯程式的管线可以互接,这样弹性非常高,这个哲学就
像Unix本来的哲学,在Windows上,你用了Qbase,同时就容不下同时使用Sonar或Protools
。但是在jack底下这是有可能的,为了编曲方便,我使用Rosegarden,混音Ardour比较方便
,所以我会用Rosegarden播放我写的乐章,然後管线接到Ardour的各轨作收音。
http://i.imgur.com/Kz7Pd4L.png
http://i.imgur.com/R2Qwfam.png
甚至说电吉他插到电脑以後,一些效果器串一串,再作一个UI,就变成电吉他效果器。
https://www.youtube.com/watch?v=cK9rnITAbF0
例如说这个,我是用无线麦克风透过录音卡收进电脑,串jack上的效果器群,配乐来自
firefox上的youtube,所以这用到了pulseaudio-jack的桥接,当然我这不是电吉他XD
重点是出来的tone(音色的质感)不差,而这不是靠後制,而是演奏时,就如此,就算
LIVE场,笔电带着去都可以演奏,当然能做到Rasperri Pi上更好,也真的有人在研究
porting。
最後谈谈一些迷思:
1.jack一定要配realtime kernel:未必,只要有实践
realtime scheduling的kernel
即可,当然编译时realtime scheduling必须是设定在高要求,以Debian/Ubuntu系,标明
lowlatency的linux kernel就很够用了,然後有用PAM的话
http://jackaudio.org/faq/linux_rt_config.html
要作这件事情。
只有在以下连结情况,才真的需要rt kernel,当然目前几乎没有人提供事先作好的,所以就
自己下rt patch,自己build罗
http://jackaudio.org/faq/realtime_vs_realtime_kernel.html
我之前也是自己build,不过最近一次升级到Ubuntu14.04+KXstudio,我就懒得做了。
2.jack比pulseaudio优越:如前面所提,这是不一样的使用情境。pulseaudio是针对一般
桌面应用(再怎麽样,画面优先权高於音讯),jack则是针对音乐专业制作(音讯优先,
画面第二),在系统资源用到接近爆炸时,就可以看到两者的差别,改用jack不会让游戏
比较好玩。
3.jack播放一般音讯有困难:2010年以前是这样没错,就是平常用pulseaudio,作音乐才
启动jack但是现在有alsa-jack pluseaudio-jack的bridge了,如果使用KXstudio这套dist
ribution,他有一个音讯管理程式Cadence,可以开机时就自动帮你把jack还有各个bridge带起来,之後玩游戏、看网路影片等等都跟原来
pulseaudio、alsa无异。
4.jack只能用Linux自己的Dssi Ldspa LV2等规格的效果器或者音源:其实现在连vst vsti
也已经可以用了,并不是勉强可用,目前很多已经到堪用阶段,甚至有linux native vst
效果器,其中有些还卖钱呢。
就大概一些浅谈
--
嘻,我也编了《
女友厕所练歌 但歌词好像...》XD
流行电音版
http://youtu.be/YkhevfgNplw
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.195.168.170
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Linux/M.1441165707.A.DFD.html
※ 编辑: mgdesigner (123.195.168.170), 09/02/2015 11:51:43
1F:推 Hazukashiine: 感谢大大对 jack 的介绍哦~ >w< 09/02 11:57
2F:→ HamalAri: 不管什麽效果 pulseaudio 就是狂输 ladspa ,超慢的 09/02 12:27
3F:→ HamalAri: 没 rt kernel 别说声音了,任何东西要 1ms 都很难 09/02 12:29
我觉得不能这样比,pulseaudio是一个server,ladspa是一个api
※ 编辑: mgdesigner (123.195.168.170), 09/02/2015 13:05:23
4F:推 Bencrie: 其实推完我就後悔了 XD 环境没描述也不是 general case 09/02 12:58
5F:推 Bencrie: 另外想请教 jack vs jack2 比较推哪个 09/02 13:15
http://tinyurl.com/o68vtvl
建议读过这个FAQ
Jack2是设计给多CPU、可以跟pulseaudio共用、支援netjack、不中断音讯连接、中断管线
等等
换句话说,平常使用pulseaudio或其他的,偶而切到jack,那这适合用jack
我现在用的是jackd2,就是一开机就挂起来,活用多核cpu 的能力,也可以用netjack挂其
他的电脑来强化运算。
※ 编辑: mgdesigner (123.195.168.170), 09/02/2015 14:12:56
6F:推 wyvernlee: 专业推 09/02 14:38
7F:推 Neisseria: 专业推 09/02 15:34
8F:推 Bencrie: 之前我是读网页的手册,只是想问问实际用起来的差异 XD 09/02 19:41
我想一想,既然都有人要创台湾UFO联盟,提倡Linux桌机的使用,我觉得啊,这种东西需要
实际体验才知道。
也许有个桌面电脑实体聚会,现场摸一摸体验看看会比较好?
※ 编辑: mgdesigner (123.195.168.170), 09/02/2015 21:17:15
9F:推 Debian: 推荐文章。 09/02 23:26
10F:→ Neisseria: 十多年前就有厂商想推 Linux 桌面,不知死到那里去了 09/04 03:42
11F:→ Neisseria: 推广这种事还是随缘的好 09/04 03:42
12F:推 Bencrie: 十多年前光本地化就是个大问题了 orz 09/04 08:57
13F:推 Gold740716: 十年前的桌面环境……。 09/04 10:08
14F:→ chang0206: 其实VD逐渐成熟以後,LINUX桌面也不是啥太大问题了. 09/04 11:15
15F:→ chang0206: 反正都在VDI上面跑 XD 09/04 11:15
16F:→ OrzOGC: 十年前的gnome2还好吧... 09/04 11:32
17F:→ mgdesigner: 我也还在用gnome2fork~ 09/04 22:39
18F:推 sb107912: 有阵子流行小笔电 那是我看过Linux桌面比较流行的时期 09/05 12:40
19F:→ s8321414: 我笔电用KDE,桌电用MATE XD 09/06 16:20
20F:推 swyoung: 推专业 09/07 09:53