如何在 macOS 上安裝 Sushi DAW
Table of Contents
Sushi DAW 介紹
Sushi 數位工作站是 Elk 音訊作業系統 (Elk Audio OS) 上的 Plugin Host 和數位工作站 [1]。它有以下幾個特色:
透過 JSON 檔案進行設置
在執行時期可以透過 OSC (Open Sound Control, 開放聲音控制) 或是 Google 的 gRPC 傳輸協定來進行控制
提供可設置與第三方應用程式使用的日誌系統 (logging system)
其中 gRPC 支援多種不同的語言,比方說 Python, Javascript, Lua, C/C++ 等等。這樣的特性讓我們可以快速的透過 elkpy 的函數庫在 Python 環境進行功能驗證,並在 Production 環境透過 elkcpp 在 C/C++ 中進行效能優化。
Sushi 除了可以在 Linux 上進行編譯外,在 1.0 版本後也支援了 macOS 上的編譯選擇。這在篇文章中,我們會紀錄如何在 macOS 上進行 Sushi DAW 的安裝,並驗證安裝的結果。
安裝步驟
方法一:透過官方編譯檔安裝
Release 頁面 有官方提供編譯好的 binary 檔案給 macOS 和 Linux。根據你 macOS 的架構 (intel 或是 arm chip) 下載對應的檔案。
下載完成後,先解壓縮檔案。接著開啟終端機到對應的資料夾下,執行以下指令:
1$ xattr -rc sushi
方法二:通過原始碼進行編譯
- 在 Github repo 上點選 Download zip 或是在本地終端機執行
1$ git clone https://github.com/elk-audio/sushi
進行下載。
- 確保 submodule 都更新到最新版本:
1$ git submodule update --init --recursive
- 下載完成後,在資料夾底下建立一個
build
的資料夾,並進入該資料夾。
1$ mkdir build && cd build
- 透過 Cmake 產生 makefile:(問題排除一)
1$ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=../third-party/vcpkg/scripts/buildsystems/vcpkg.cmake ..
- 進行編譯
1$ make
驗證安裝結果:播放合成器琶音
首先找到 sushi 執行檔案的位置。如果是方法一的話,執行檔會在專案資料夾的第一層,方法二的話會在 build 資料夾下 (藏蠻深的要多找幾層)。
在 misc/config_file
中有一些範例的 JSON 設定檔案。找到 play_brickworks_synth.json
這份檔案,並透過 sushi 執行。
1$ ./sushi --coreaudio -c config_files/play_brickworks_synth.json
如果聽到一連串合成器發出的琶音,就代表安裝與設定完成!
結論
在這篇文章中,我們稍微介紹了 Sushi 這個無 GUI 的數位工作站,並且說明如何在 macOS 上進行安裝。在接下來的文章中,我們將會示範如何透過 gRPC 通訊協議對這個 DAW 進行控制,能在表演做出更多實時的控制!
問題排除
問題一:required Xcode 9 or newer
- 錯誤代碼片段
1Vst3 macOS detected
2-- [SMTG] Check C++ compiler
3CMake Error at third-party/vst3sdk/cmake/modules/SMTG_DetectPlatform.cmake:55 (message):
4 [SMTG] XCode 9 or newer is required
5Call Stack (most recent call first):
6 third-party/vst3sdk/cmake/modules/SMTG_Global.cmake:23 (smtg_detect_xcode_version)
7 third-party/vst3sdk/cmake/modules/SMTG_VST3_SDK.cmake:5 (include)
8 third-party/vst3sdk/CMakeLists.txt:19 (include)
解決方法
至 App Store 安裝 Xcode
將路徑加入
~/.zshrc
檔案之中
1export PATH="/Applications/Xcode.app/Contents/Developer/usr/bin:$PATH"
參考
[1] audio/sushi: Elk Audio OS Plugin host and DAW, GitHub - elk, https://github.com/elk-audio/sushi (2024/5/5閲覧).
[2] OSC index, https://ccrma.stanford.edu/groups/osc/index.html (2024/5/5閲覧).
[3] gRPC, https://grpc.io/ (2024/5/5閲覧).