Skip to content

Grig

Grig Lobby on Gitter MIT License Clone on Gitlab

Introduction 🧚🏼‍♂️

Grig is a set of small audio packages for haxe (and by extension, the langauges haxe targets) to process and create music and audio. Grig is designed to have as few dependencies and interdependencies as possible, so that you can use as much or as little of the features you need withing bringing in a heavy framework. Haxe's dead code elimination also ensures that unused functionality within a package isn't included in the final output.

For non-hardware code, grig is designed to work on all haxe targets. Audio and MIDI IO externs are also provided for a number of different environments (see below). This means that it should be possible to run the same audio code on multiple different environments, ranging from standalone compiled applications, to the browser, to plugins.

See the api documentation and also the tutorials.

Hardware Capabilities

Using grig.audio and grig.midi in haxe:

Environment Midi IO 🎹 Audio IO 🎧
c++
hashlink (rtmidi) (portaudio)
c++/fmod N/A
js/html5
js/nodejs
js/fmod N/A
java
c#
c#/fmod N/A
lua (luamidi)
python
heaps N/A
kha N/A

Additional platforms will be supported via hxal:

Get your grig t-shirt! Or sponsor grig development. Also follow us on Mastodon!