A generic open source project by IoT-Maker to create your own Eurorack DSP sound module or to use a wide range of digital synthesizer and effect plugins based on other open source projects.
Be a Maker!
The TBD (i.e. to be determined [by you!]) Eurorack module aims to be a community driven project to provide a flexible platform for easy implementation of your own or to port existing DSP algorithms to Eurorack. TBD comes with a selection of ready-to-use plugins, which can be used as a base for your own plugin development. It offers a web-based user interface for plugin and system configuration accessible through the modules WiFi (wireless computer network).
Note: Instruments of Things provides the TBD hardware only and does not provide software support! The module comes pre-flashed with the open source TBD binaries. You can use our forum or Github to exchange information about the project or for further development.
– WiFi (802.11b/g/n)
– Stereo audio I/O (16 bit / 44.1 kHz, 1ms latency / buffer size)
– 2x 12 bit CV inputs (configurable -5…5V or 0…5V)
– 2x trigger inputs (0…5V)
– 2x trigger buttons
– 2x CV potentiometers (configurable bi- or unipolar)
– Input audio gain for each channel
– Flexible plugin architecture based on C++
– Web app for plugin configuration and presets based on REST
– Mappable plugin parameters to hardware UI elements and CV inputs
– Automatic UI rendering based on JSON plugin descriptor structure
– Selection of factory plugins based on other open source projects
– TBDings (Audible Instruments Resonator)
– TBDaits (Audible Instruments Macro Oscillator)
– TBDeeps (Audible Instruments Wavetable Oscillator)
– Ladder Filter(s)
Plugin Architecture /
The entire firmware is based on C++. To create own plugins, one can simply inherit from the class ctagSoundProcessor.hpp and implement the required Process(const ProcessData &) function (similar to VST). The Process() callback function is executed with the ProcessData structure containing the buffers for audio, cv and trigger. Plugin parameters have to be defined in a JSON file, which is used for automatic UI rendering in the web app. The firmware comes with factory plugins, such as a simple VCA, which can be used as a template for own plugin development.
The firmware can be built using the Espressif Internet of Things Development Framework.
Compiled binaries can be uploaded to the module either using a micro USB cable or through the web user interface (over-the-air update). No additional hardware is needed for developing your own firmware.
To speed up the plugin development, TBD comes with a simulator to execute TBD plugins on Mac OS, Windows and Linux. At its core, it uses RTAudio for the audio engine. For evaluation either a wav file can be used as input or real-time audio from your sound card. More information can be found in the official GitHub repository.
Instruments of Things has roots in the Makerspace of Creative Technologies (CTAG) at Kiel University of Applied Sciences. From there the first technical concepts and prototypes were conceived. Today we have our own laboratory and workshop, but are still strongly networked with CTAG and the people at the university to collaborate with open source projects like the TBD module. This DIY context is the background in which IOT-Maker was created.