(the post is automatically translated by AI)


Table of Contents

About Sushi DAW

Sushi is the plugin host and DAW for the Elk Audio OS [1]. Key features include:

  • Configuration via JSON files
  • Runtime control via OSC (Open Sound Control) or Google’s gRPC protocol
  • A configurable logging system for third-party integrations

gRPC supports multiple languages — Python, JavaScript, Lua, C/C++, and more — which allows rapid prototyping with elkpy in Python and production optimization with elkcpp in C/C++.

While Sushi has long supported Linux, since version 1.0 it also supports macOS. This article documents how to install it on macOS and verify the setup.

Installation

Method 1: Using the Official Pre-built Binary

The Releases page provides official pre-built binaries for macOS and Linux. Download the file matching your macOS architecture (Intel or Apple Silicon).

After downloading and extracting, open a terminal in that folder and run:

$ xattr -rc sushi

Method 2: Build from Source

  1. Clone the repository from GitHub:
$ git clone https://github.com/elk-audio/sushi
  1. Update all submodules:
$ git submodule update --init --recursive
  1. Create a build directory and navigate into it:
$ mkdir build && cd build
  1. Generate the Makefile with CMake (see Troubleshooting #1 if you hit issues):
$ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=../third-party/vcpkg/scripts/buildsystems/vcpkg.cmake ..
  1. Build:
$ make

Verifying the Installation: Playing a Synth Arpeggio

First, locate the sushi executable. For Method 1, it’s in the top-level of the extracted folder; for Method 2, it’s deep inside the build directory.

In misc/config_files, there are sample JSON config files. Find play_brickworks_synth.json and run:

$ ./sushi --coreaudio -c config_files/play_brickworks_synth.json

If you hear a synthesizer arpeggio, the installation and setup are complete!

Conclusion

In this article, we briefly introduced Sushi — a headless DAW — and documented how to install it on macOS. In upcoming articles, we’ll demonstrate how to control it via gRPC for real-time performance control.

Troubleshooting

Issue 1: required Xcode 9 or newer

  • Error snippet:
Vst3 macOS detected
-- [SMTG] Check C++ compiler
CMake Error at third-party/vst3sdk/cmake/modules/SMTG_DetectPlatform.cmake:55 (message):
  [SMTG] XCode 9 or newer is required
  • Fix:

    1. Install Xcode from the App Store

    2. Add the path to ~/.zshrc:

    export PATH="/Applications/Xcode.app/Contents/Developer/usr/bin:$PATH"
    

References

[1] elk-audio/sushi: Elk Audio OS Plugin host and DAW, GitHub, https://github.com/elk-audio/sushi

[2] OSC index, https://ccrma.stanford.edu/groups/osc/index.html

[3] gRPC, https://grpc.io/