作者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://www.ptt.cc/bbs/Linux/M.1441165707.A.DFD.html
※ 編輯: mgdesigner (123.195.168.170), 09/02/2015 11:51:43
推 Hazukashiine: 感謝大大對 jack 的介紹哦~ >w< 09/02 11:57
→ HamalAri: 不管什麼效果 pulseaudio 就是狂輸 ladspa ,超慢的 09/02 12:27
→ HamalAri: 沒 rt kernel 別說聲音了,任何東西要 1ms 都很難 09/02 12:29
我覺得不能這樣比,pulseaudio是一個server,ladspa是一個api
※ 編輯: mgdesigner (123.195.168.170), 09/02/2015 13:05:23
推 Bencrie: 其實推完我就後悔了 XD 環境沒描述也不是 general case 09/02 12:58
推 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
推 wyvernlee: 專業推 09/02 14:38
推 Neisseria: 專業推 09/02 15:34
推 Bencrie: 之前我是讀網頁的手冊,只是想問問實際用起來的差異 XD 09/02 19:41
我想一想,既然都有人要創台灣UFO聯盟,提倡Linux桌機的使用,我覺得啊,這種東西需要
實際體驗才知道。
也許有個桌面電腦實體聚會,現場摸一摸體驗看看會比較好?
※ 編輯: mgdesigner (123.195.168.170), 09/02/2015 21:17:15
推 Debian: 推荐文章。 09/02 23:26
→ Neisseria: 十多年前就有廠商想推 Linux 桌面,不知死到那裡去了 09/04 03:42
→ Neisseria: 推廣這種事還是隨緣的好 09/04 03:42
推 Bencrie: 十多年前光本地化就是個大問題了 orz 09/04 08:57
推 Gold740716: 十年前的桌面環境……。 09/04 10:08
→ chang0206: 其實VD逐漸成熟以後,LINUX桌面也不是啥太大問題了. 09/04 11:15
→ chang0206: 反正都在VDI上面跑 XD 09/04 11:15
→ OrzOGC: 十年前的gnome2還好吧... 09/04 11:32
→ mgdesigner: 我也還在用gnome2fork~ 09/04 22:39
推 sb107912: 有陣子流行小筆電 那是我看過Linux桌面比較流行的時期 09/05 12:40
→ s8321414: 我筆電用KDE,桌電用MATE XD 09/06 16:20
推 swyoung: 推專業 09/07 09:53