Vidmantas Brukstus brukstus@gmail.com

Building a simple groovebox: smp_groovebox

Some time ago I bought a Raspberry Pi to use as a host for the Pianoteq plugin. This way I could play on my keyboard with nice piano sounds without turning the pc on.

However there were two main problems: The sound was...well not that great and I had to communicate with the plugin with ssh from the pc.

The first problem was easily fixed, when I found blokas.io - they make Pisound, a wonderful soundcard for the Raspberry Pi. Latency is ~2ms with my setup and the sound quality is top notch.

The second problem led me on a journey... I bought a small touch screen for the Raspberry Pi. Great, but none of the DAWs or plugins have interfaces for such a small screen. So I decided its a good opportunity to get better at C programming and make a primitive plugin host/command line DAW from scratch.

More details/screen grabs and the software code is here
Have in mind that this was written for my personal situation and not tested (other than just regular use) at all!
It loads lv2 plugins, has a very basic synth, that can also act as a metronome and a sampler. Although the sampler can only load samples and change what notes trigger it.
Also, the program lets you route outputs to any available inputs, using jack2.

The whole thing uses ncurses as the GUI so it can even launch from the command line and doesn't need a windows manager.
Ncurses GUI responds to different sizes of screens and tries to rearrange the controls.
Furthermore smp_groovebox is written in such a way, that it is quite easy to attach the backend to any GUI.

What next?

I made a wooden case for the Raspberry Pi, the Pisound and even some batteries. Here it is with a dirty screen:

Old groovebox

It worked ok, but I wanted to implement encoders and buttons to navigate the groovebox app. Also the size was big and the look not elegant at all. It was as beautiful as a brick.

Luckily blokas.io were making a new Pisound - Pisound Micro. Without any potentiometers or buttons, but with loads of input possibilities and some pins specifically tuned for encoders. Also it is small and they gave it to me for beta testing.

Prototype of HW controls

I now have a working prototype of the groovebox with the Pisound Micro and HW controls (encoders + keyswitches).

You can check it out in the video bellow.

Now that the prototype is working and I'm happy with the layout it is time to produce an actual pcb, get nice keyswitches (the ones on the prototype are from my broken keyboard), solder all the components and keep testing the software. Apart from some annoying bugs, next on the roadmap is the CLAP plugin implementation and a recording feature.

Vfx
Programming