使用 GNU/Linux 做為筆電的 OS - Linux

By Noah
at 2015-09-02T11:48
at 2015-09-02T11:48
Table of Contents
※ 引述《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
--
: 不過本人對 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
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
--
Tags:
Linux
All Comments

By Brianna
at 2015-09-05T11:37
at 2015-09-05T11:37

By Hardy
at 2015-09-07T11:12
at 2015-09-07T11:12

By Tracy
at 2015-09-10T22:32
at 2015-09-10T22:32

By Damian
at 2015-09-13T17:32
at 2015-09-13T17:32

By Hedwig
at 2015-09-16T12:09
at 2015-09-16T12:09

By Sierra Rose
at 2015-09-18T05:50
at 2015-09-18T05:50

By Liam
at 2015-09-22T01:09
at 2015-09-22T01:09

By Andy
at 2015-09-24T15:39
at 2015-09-24T15:39

By Hamiltion
at 2015-09-26T23:30
at 2015-09-26T23:30

By Elvira
at 2015-09-30T16:32
at 2015-09-30T16:32

By Carol
at 2015-10-01T05:53
at 2015-10-01T05:53

By James
at 2015-10-01T19:55
at 2015-10-01T19:55

By Susan
at 2015-10-06T18:21
at 2015-10-06T18:21

By Callum
at 2015-10-10T16:07
at 2015-10-10T16:07

By Delia
at 2015-10-15T10:47
at 2015-10-15T10:47

By Rebecca
at 2015-10-16T10:59
at 2015-10-16T10:59

By Brianna
at 2015-10-20T08:41
at 2015-10-20T08:41

By Susan
at 2015-10-23T09:12
at 2015-10-23T09:12
Related Posts
Ubuntu 右邊數字鍵不能按

By Charlotte
at 2015-09-02T10:19
at 2015-09-02T10:19
centos 7 網路設定問題

By David
at 2015-09-02T09:30
at 2015-09-02T09:30
Shell Scripts for迴圈的小問題

By George
at 2015-09-02T03:15
at 2015-09-02T03:15
Shell Scripts for迴圈的小問題

By Sandy
at 2015-09-02T01:02
at 2015-09-02T01:02
掛上的 nfs 是否能轉成 xfs?

By Bethany
at 2015-09-01T22:41
at 2015-09-01T22:41