Desktop platforms
macOS, Linux, and Windows support with full features
Web assembly
Run Csound in the browser using WebAssembly
iOS
Native iOS framework for iPhone and iPad
Android
Android library with JNI and Java interface
Embedded platforms
Bela, Daisy, and other embedded hardware
Platform comparison
| Platform | Audio I/O | MIDI | Real-time | Build system |
|---|---|---|---|---|
| macOS | CoreAudio, JACK | CoreMIDI | Yes | CMake |
| Linux | ALSA, JACK, PulseAudio | ALSA, PortMIDI | Yes | CMake |
| Windows | PortAudio | PortMIDI | Yes | CMake + vcpkg |
| WebAssembly | Web Audio API | Web MIDI API | Yes | CMake + Emscripten |
| iOS | CoreAudio | CoreMIDI | Yes | CMake + Xcode |
| Android | OpenSL ES | Android MIDI | Yes | NDK + CMake |
| Bela | Bela audio | Bela MIDI | Yes | CMake (cross-compile) |
| Daisy | Daisy audio | - | Yes | CMake (cross-compile) |
Requirements
All platforms require:- CMake: Build system (cmake.org)
- C compiler: Complete C development toolchain
- Flex and Bison: For the Csound parser (bison 3.8+, flex 2.6+)
- C++ compiler: For some components
- libsndfile: For soundfile I/O (can be disabled with
USE_LIBSNDFILE=0) - Git: For cloning and syncing with the latest source