如果您是程式設計師,您會發現 GNU/Linux 系統非常強大且穩健。當談到視覺藝術、影片、商業或遊戲等領域時,您會發現一些具有前景的工具,但也有許多錯誤、怪癖和挑戰。在大多數情況下,您可以完成任何您需要做的事情,但設定和學習曲線可能不像專有系統上的專有選項那樣順暢。
在本文中,基於我在今年 SCaLE 14x 的演講,我們將介紹配置 Linux 系統進行音樂製作的基本知識,重點介紹哪些效果最好,並承認挑戰,並提供關於如何尋求幫助的建議。
開始入門
硬體
要開始使用音訊,我們需要一些揚聲器(耳機也算)。要使用電腦完全產生的聲音以外的任何聲音,我們也需要一些聲音輸入。較舊的 Linux 系統使用 OSS(開放聲音系統),而較舊的音訊介面和具有 Firewire 的電腦使用 FFADO,但對於今天的幾乎所有人來說,重點是 ALSA:進階 Linux 聲音架構。
幸運的是,ALSA 是 Linux 核心的一部分,因此作為最終用戶,您不需要了解太多關於它的知識。您只需要知道您的硬體是否受支援。大多數電腦的內建硬體都可以運作。為了獲得更好的聲音以及與吉他、麥克風和其他音樂設備的相容性,更專用的音訊介面是有意義的。任何「符合類別」的介面都可以運作,其中包括許多基本的實惠選項。也支援相當多的高階介面。對於具有一流音質的選項,我在 Focusrite Scarlett 系列中取得了成功。由於僅由志願者更新,因此最容易訪問的受支援介面列表很少是完整或最新的,但論壇和 IRC 上的友好人士可以提供幫助。
核心設定
對於大多數音樂製作所需的低延遲計時,建議使用低延遲核心(但不是絕對必需的)。最好的選擇是安裝一個預先封裝的作為音樂專用系統一部分的核心。
發行版和儲存庫
開始使用基礎知識不需要專用的音樂系統。大多數入門軟體幾乎可以在任何庫存 GNU/Linux 系統上運作(並且任何人都可以調整任何系統以實現任何目標,如果那是您想花時間做的事情)。但是,專用音樂系統提供了許多好處。
我使用 KXStudio,這是一個極好的儲存庫集合,可以輕鬆添加到任何基於 Debian(因此也基於 Ubuntu)的作業系統中。一旦添加了 KXStudio 儲存庫,簡單的更新和安裝推薦項目將為您提供一個完整的系統,其中包含低延遲核心、大量出色的程式、專用的管理工具套件以及大量的效果、外掛程式和合成器。KXStudio 維護人員(實際上主要是 一個人)在保持事物更新和回應請求方面做得非常出色。請記住,這基本上是有效的全職志願工作,因此請考慮捐款以維持其運作。
Aaron 個人客製化的 KXStudio 桌面
其他以音訊為中心的套件和發行版也存在,尤其是 AV Linux 和 Fedora Jam。多年來已經製作了其他幾個系統,但大多數系統都沒有更新或處於活動狀態。
關於 100% 軟體自由的注意事項:雖然以音訊為中心的發行版 Musix 和 Dynebolic 獲得了 FSF 的認可,但擁有 100% 自由/自由/開放音樂系統的最新方法是使用核心 Debian 系統或 FSF 認可的 Trisquel 發行版,並將 KXStudio 儲存庫添加到您的安裝中。
JACK
雖然 ALSA 直接與硬體一起運作,但其他音訊層管理來自各種程式的所有訊號,並將這些訊號發送到 ALSA。有些程式直接支援 ALSA,而另一些程式則與 PulseAudio 或像 KDE 的 Phonon 這樣的系統一起運作,後者與 GStreamer 或 VLC 後端一起運作。所有這些混亂基本上意味著您的系統設定以不同的方式與不同的程式互動,具體取決於它們對這些框架的支援和互動程度。
主要的音樂專用音訊系統稱為 JACK。它提供了一個後端,支援音訊(和 MIDI,用於發送合成器控制訊號的系統)到任何受支援程式的任意路徑。使用 JACK,合成器輸出可以進入混響外掛程式,然後進入錄音程式,同時單獨的鼓程式播放。JACK 可以啟動和停止來自多個程式的所有播放,其中任何一個程式都可以設定為主時鐘。
JACK 接近 Unix 原則,即擁有做一件事或幾件事的小程式,而不是單一的全功能程式。當然,這需要嚴肅的管理工具來將它們組合在一起。KXStudio 提供了 Cadence GUI 工具套件,許多人在 KXStudio 之外也使用它。最以 JACK 為中心、符合 Unix 原則的工具來自 Non 系列的作者 Jon Liles。它們提供了單獨的混音器工具、錄音工具、音序器和會話管理器。會話管理器是一種工具,用於記錄您在 JACK 中擁有的所有不同設定和連線,並將它們儲存為一組,以便您可以關閉並在以後自動重新打開所有以相同方式設定的獨立程式。
使用 Cadence 工具設定 JACK 連線
不幸的是,雖然 JACK 和模組化的概念很有意義,但支援的程度和工具的品質是不一致的。有些組合可以完美且順利地運作,但有些程式提供不完整的支援甚至根本不支援。有些程式支援 JACK,但它們的設計鼓勵用戶無論如何都在內部完成所有操作。
GNU/Linux 音樂製作的初學者應該嘗試了解 JACK 的基本概念。無論他們是否選擇接受模組化方法,這都將幫助他們理解可用的音樂工具的總體生態系統。
在我的下一篇文章中,我將重點介紹支援 JACK 但也可以獨立使用的程式。
社群支援
Linux Musicians Forum 是入門和參與的最佳場所。另請查看 Freenode.net 上的 #opensourcemusicians IRC 頻道(當然,許多專案也有自己的頻道)。Linux Audio Wiki 也是一個極好的資源,即使其中一些內容可能已經過時。 另請查看 libremusicproduction.com 以獲得一系列更深入的教程和更多內容。
在實踐中,設定您的系統可能需要進行一些故障排除。例如,在我的特定筆記型電腦上,如果我想使用可靠的低延遲設定(在現場使用合成器或效果器演奏時需要快速響應),我需要關閉網路並將 CPU 設定為效能模式。雖然關於這些主題的良好指南存在(其中一些是我自己撰寫的),但在這個複雜的 GNU/Linux 世界中,由於工具和硬體的多樣性,每個案例都各不相同。我鼓勵大家利用熱情好客的社群。沒有什麼比個人支援更好的了。只需記住回饋:一旦您感到舒適,就幫助改進維基並回答後來的初學者的問題!
10 條評論