Skip to content

The original dub soundsystem-style fully digital open source music preamp, based on ELK Audio OS

License

Notifications You must be signed in to change notification settings

LeoFabre/project-troublemaker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚨PROJECT TROUBLEMAKER🚨 - 👷‍♂️WORK IN PROGRESS👷‍♂️

The original dub soundsystem-style, fully digital, open source music preamp, based on ELK Audio OS.

This project is meant to be a fully digital sound system preamp, with a lot of features and a lot of fun to use. This would typically be used in a dub sound system control tower, right before the DSPs and power amps. I am making it for my own dub sound system, but I am sharing it with the world so that everyone can enjoy and contribute to it.

frontplate.jpg

Please note that this project is still in its early stages, and it is not yet ready for use. Also, the aim is not to provide a classic preamp to use with a microphone, but rather a preamp to use with a line-level signal, like a CD player, a computer, a synthesizer, etc. It will NOT provide any protection for your speakers, and also will not split the signal into multiple bands outputs.

It is meant to be used with a DSP that can handle multiple outputs, and optionally a mixer before it, to get microphone inputs and other line-level inputs.

At the moment, the inputs and outputs are stereo only, but more input modes will be added in the future (see Signal Flow section).

stackdiagram.png Project Troublemaker is based on ELK Audio OS, which is a Linux-based realtime audio OS that can run VST3 plugins.
It is HIGHLY RECOMMENDED to get a grasp of ELK Audio OS before diving into this project.

I use a Raspberry pi 4 (8GB) as the main board,

a HifiBerry DAC+ ADC Pro, to get audio I/O,

a Teensy 4.1 as the control board, which acts as a MIDI controller and communicates with the Raspberry Pi via USB.

To build the control panel I use CD74HC4067 multiplexers, and a lot of arcade buttons, potentiometers, RGB LED sticks, and switches.

The project is meant to be a fully open source project, with all the source code and hardware design files available for free.

Because I strongly believe that music is meant to be shared, and music gear should be open source.

Please feel free to contribute by opening a PR or an issue.

Keep in mind that I am still learning, and that I am doing this project in my free time, so I may take some time to get back to you and updates may be slow.

Featured Plugins (Work in Progress)

  • SampleTower : My JUCE-based VST3 sample player. features 11 fully-loaded-in-RAM sample slots, real-time playback speed control, sample loading from the file system (via config file), sample triggering with a MIDI note, one-shot and loop modes for each sample (via config file), kill button that stops all currently playing samples.
  • 2 parametric EQs with bypass switches.
  • Moses : My fork of IEM's multiband compressor. It is a 4-band SIMD optimized multiband compressor/crossover plugin, featuring cascaded Butterworth, linkwitz-riley filters and Allpass filters, solo&kill switches and master controls.
  • Strange Returns : My fork of JackWithOneEye's Strange Returns delay plugin.
  • Graindr : My fork of JackWithOneEye's Graindr, dual granular delay plugin.
  • Parametric Reverb FX : A parametric reverb that I have yet to design. The reverb pots on the frontplate are inspired by ableton's reverb plugin, and are subject to change.
  • Sub Roar FX : A classic dub sub bass roar effect based on saturation, and filtering, and reverb. It is only composed of BrickWorks plugins that ELK Audio OS provides, I may or may not make a JUCE version of it in the future.

signalflow.png

Input modes

  • Stereo mode: The default mode, where the HifiBerry is used as a stereo input and output.
  • Aux send mode (to be implemented): The 2 stereo channels of the HifiBerry are split in 2 mono input channels and 2 mono output channels.
    The first mono input channel is used as the main input, the first mono output is used as the main output, the second mono input channel is used as the aux send, and the second mono input channel is used as the aux return.
    This is useful to send the signal to an external effect processor and get it back in the preamp, like a reverb or a delay, and then use the preamp's processing on it.

As of now, the modes are not implemented, and the preamp only works in stereo mode.
In the future, I will add a switch to select the input mode at boot time (Sushi would then get its processor graph built by the glue app via gRPC instead of the config file).

About

The original dub soundsystem-style fully digital open source music preamp, based on ELK Audio OS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages