aq
A lightweight framework for creating audio toys
Overview
The project is a lightweight framework for creating small audio toys. The framework binds immediate mode ui, modularly routed audio nodes and midi input to the fe scripting language. A small program that would output a sinewave and change its frequency when a button is clicked would be as follows:
(do-file "common.fe")
(= osc (dsp:new 'osc))
(= dac (dsp:new 'dac))
(dsp:link osc 'out dac 'left)
(dsp:link osc 'out dac 'right)
(func on-frame ()
(when (ui:button "Hello")
(dsp:set osc 'freq (+ 200 (rand 1000)))
)
)
The demo program pictured in the screenshot at the top of this README file is provided in the demo
folder. You can run the program on Linux by doing:
./aq demo
or, on Windows:
aq demo
Building
If you don't intend to modify the project you can download binaries for Linux and Windows from the releases page and avoid building it yourself.
The project can be built on Linux for both Linux and Windows. The
build.py
script should be used to build the project. To perform a release build, run the following:
./build.py release
or, to cross-compile for windows:
./build.py release windows
License
This project is free software; you can redistribute it and/or modify it under the terms of the MIT license. See LICENSE for details.