Skip to content

Required hardware and setup

denybear edited this page Feb 17, 2024 · 8 revisions

Required hardware

My own hardware is the following:

  • Raspberry PI : 3B (I've taken the regular GUI version, as it is more simple to setup and provides great performance)
  • an external USB numeric keypad (mine costs less than 10 EUR), used to activate main functions of COMPO
  • a midi keyboard: mine is AKAI MPK mini (mk II)
  • a midi control surface: mine is Novation Launchpad mini (mk II)
  • optionally groovebox for MIDI CLOCK (and great drums!): Novation Circuit
  • a soundcard connected to audio OUT: mine is small USB-jack audio out costing less than 5 EUR

Of course, any model of Raspberry greater or equal to 3B should work. Similarly, any USB soundcard will work; any keyboard, provided it has a MIDI output; and any MIDI control surface, as long it is MIDI. However, some parts of code are very hardware-dependent, so code adjustments should likely be done to accommodate other hardware.

Diagram of the setup:

Diagram of the jack connections:

Setup

Installing OS and software

  1. Use RPI imager (link) to install regular PI OS on your raspberry.

  2. Remember to click CTRL+SHIFT+X when in Imager to access the advanced options, or click the relevant button. From there, you can enable VNC, SSH, WIFI, and set locales.

  3. Boot your RPI and update current system:

sudo apt update  
sudo apt upgrade
  1. Essential software such as qjackctl and qsynth should be installed already. If not, you should do:
sudo apt install qjackctl  
sudo apt install qsynth
  1. Install essential software: a2jmidid, ncurses, cJSON
sudo apt install a2jmidid  
sudo apt install libncurses5-dev libncursesw5-dev   
sudo apt install libcjson1 libcjson-dev
  1. Setup autostart, as described in https://forums.raspberrypi.com/viewtopic.php?t=294014

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
should have :

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@bash /home/pi/compo.sh
  1. Create a compo/save directory under /home/pi
cd /home/pi
mkdir compo
mkdir save
  1. Copy compo.a and compo.sh file to /home/pi folder

Configuring jack and qsynth

  1. Configure jack for your audio device and so it runs a2jmidi at startup

  2. Configure qsynth so jack is used as midi and audio driver; remove "autoconnect midi inputs"

  3. Also configure qsynth to remove effects, and add a drum track to channel 9

  4. compo.sh should now run at startup of RASPI. Enjoy playing with COMPO!

Clone this wiki locally