miniAudicle is an integrated development environment (IDE) for the ChucK music programming language. It provides graphical user interfaces for code editing, on-the-fly proramming commands (add
, replace
, remove
), visualization of ChucK virtual machines shreds, and tools for probing and setting audio and HID devices. miniAudicle integrates these front-end features with a full ChucK virtual machine and synthesis engine running within miniAudicle.
To download and install miniAudicle and command-line chuck, visit https://chuck.stanford.edu/release/
miniAudicle submodules: ChucK | Chugins
To build the latest miniAudicle from source, clone the miniAudicle
repo from github:
git clone --recurse-submodules https://github.com/ccrma/miniAudicle.git
By default, miniAudicle on macOS builds with Cocoa for windowing and graphical user interfaces.
To build miniAudicle, navigate to the miniAudicle/src
directory, and run make
:
cd miniAudicle/src
make mac
OR to build a universal binary (intel + apple sillicon):
make mac-ub
This should build a miniAudicle.app
application in src/macosx
.
Alternately, miniAudicle can be built using Qt on macOS. This requires Qt6 and the QScintilla library. Qt6 development tools can be installed from here. QScintilla can be built from source using Qt Creator
or qmake
. Or you can use our pre-built qscintilla2_qt6 libraries (following the included instructions to copy the necessary headers and libraries files). From here, these are several ways to build miniAudicle with Qt on macOS. For one, you can use Qt Creator
to open miniAudicle/src/miniAudicle.pro
and build.
As an alternative to installing/buliding Qt and Qscintilla as described above, you can also install these libraries using Homebrew:
brew install qt
brew install qscintilla2
If you have multiple Qt versions installed, set this variable to avoid mixing in Qt5 content:
export QT_SELECT=qt6
To build from the command line (either of the two approaches above should work, as long as the headers and paths are in place):
cd miniAudicle/src
make mac-qt
This should build a miniAudicle.app
(Qt edition, universal binary) in src
.
Dependencies: gcc, g++, make, bison, flex, Qt6, QScintilla, libsndfile, ALSA, PulseAudio (for linux-pulse builds), JACK (for linux-jack builds)
To set up a build environment for miniAudicle on Debian or Ubuntu:
sudo apt install build-essential bison flex qt6-base-dev libqscintilla2-qt6-dev \
libsndfile1-dev libasound2-dev libpulse-dev libjack-jackd2-dev
For other Linux distributions, the setup should be similar although the package install tools and package names may be slightly different. NOTE: setups that do not need JACK or PulseAudio can omit either or both of these packages. ALSA is needed for MIDI support on Linux.
If you have multiple Qt versions installed, set this variable to avoid mixing in Qt5 content:
export QT_SELECT=qt6
To build miniAudicle (with all supported drivers: ALSA, PulseAudio, and JACK), navigate to the miniAudicle/src
directory and run 'make':
cd miniAudicle/src
make linux
To build miniAudicle with support for a subset of ALSA, PulseAudio, or JACK, run make
with desired driver(s). For example, to build for ALSA and PulseAudio only:
make linux-alsa linux-pulse
Or, to build for ALSA only:
make linux-alsa
This should build a miniAudicle
executable in src
.
miniAudicle on Windows requires Qt6 and the QScintilla library. In the Qt Creator
IDE, open miniAudicle/src/miniAudicle.pro
and build.
QScintilla can be built from source using Qt Creator
or qmake
. Alternately, you can use our pre-built qscintilla_qt6 libraries (following the included instructions to copy the necessary headers and libraries files).
miniAudicle was created by Spencer Salazar in 2005, two years after the initial release of the ChucK programming language, originated by Ge Wang and Perry R. Cook, and one year after the creation of the the Audicle (see 2004 paper). The original Audicle was designed as a 3D graphics-based IDE for live-coding ChucK programs while visualizing these programs' deep structure. (Perry Cook had suggested the name 'audicle' could be the all-hearing equivalent of an all-seeing "oracle".) While the Audicle showed potential, its 3D-graphics intensive backend (in OpenGL) was extremely time-consuming to develop into an usable tool. This gave rise to the miniAudicle, which was to be a lighter version of the Audicle, using establish windowing and GUI frameworks (like Cocoa and Qt, instead of implementing from scratch in OpenGL). Released in 2005, the miniAudicle immediately became a de facto tool for working with ChucK, and has remained so for many ChucK users to the present day.
See ChucK publications page and (the historic) https://audicle.cs.princeton.edu/mini/ for more info on the origin of miniAudicle.
Happy ChucKing!