A simplified version of Nebulator using Lua as the script flavor. While the primary intent is to generate music-by-code, runtime interaction is also supported using midi inputs. Windows only.
Currently this is a build-and-run-it-yourself configuration. Eventually an installer may be provided. Note that running in VS debugger has a very slow startup. Running from the exe or cli is ok.
Building this solution requires a folder named LBOT
at the top level containing the contents of
LuaBagOfTricks. This can be done one of several ways:
- git submodule
- copy of pertinent parts
- symlink:
mklink /d <current_folder>\LBOT <lbot_source_folder>\LuaBagOfTricks
It's called Nebulator after a MarkS C++ noisemaker called Nebula which manipulated synth parameters via code.
If you pass it a script file name on the command line it runs as a command line application. If not the UI is started.
The UI does have a terminal which can be used for debugging scripts using Lua debugger. See example for how-to.
Since the built-in Windows GM player sounds terrible, there are a couple of options for playing midi locally:
- Replace it with virtualmidisynth and your favorite soundfont. Note that this app has a significant delay handling realtime midi inputs. This will not be a problem if you are just playing a midi file.
- If you are using a DAW for sound generation, you can use a virtual midi loopback like loopMIDI to connect to it.
See the examples
directory for material while perusing the docs.
File | Description |
---|---|
example.lua | Source file showing example of static sequence and loop definitions, and creating notes by script functions. |
airport.lua | A take on Eno's Music for Airports - adapted from this. |
This application uses these FOSS components: