如何在 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

方法二:通過原始碼進行編譯

  1. Github repo 上點選 Download zip 或是在本地終端機執行
1$ git clone https://github.com/elk-audio/sushi

進行下載。

  1. 確保 submodule 都更新到最新版本:
1$ git submodule update --init --recursive
  1. 下載完成後,在資料夾底下建立一個 build 的資料夾,並進入該資料夾。
1$ mkdir build && cd build
  1. 透過 Cmake 產生 makefile:(問題排除一)
1$ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=../third-party/vcpkg/scripts/buildsystems/vcpkg.cmake ..
  1. 進行編譯
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)
  • 解決方法

    1. 至 App Store 安裝 Xcode

    2. 將路徑加入 ~/.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閲覧).