Saturday, March 03, 2018

Working with MIDI in Slackware

If you want to play MIDI files in Slackware you do need to install special software (synth, mixer, sequencer, etc.). There is a great page where it is explained clearly how to set up a basic environment in order to start working whit MIDI in Linux. All the software mentioned in that webpage is available for Slackware in Slackbuilds.org. Instead of copy-paste what is already clearly explained in the mentioned site, here, I highlight the differences I have observed.

Basically, the MIDI instructions are generated by reading a midi file, by a virtual instrument or by a hardware MIDI controller (as a keyboard), then the synth interprete the instructions a convert them into a sound signal. Several signals can be mixed (Jack), decoded and put in the speakers. 

1. I had by default a low latency kernel and a audio group in my Slackware box. 
2. I don't know how to modify the group limits, but I have realised that it is not strictly necessary. IT is possible to follow the procedure skipping this configuration and using the option -r when you run jackd (jackd -r ...), you will see a warning message. In my case, the performance is ok for what I want to do.
3. Considering that, at the end, you want to be able to use a MIDI sequencer (Rosegarden in this case). You will need to install the following set of software.
- Rosegarden : Sequencer
- liblo, liblrdf, dssi, lilypond : Rosegarden dependencies
- jack-audio-connection-kit, lirc, perl-xml-twig : Optional Rosegarden dependencies.
- fluidsynth : Softsynth
- fluid-soundfont : Base sound samples
- vmpk : Virtual piano keyboard. Used for testing purposes.
- qjackctl : GUI front end to configure Jack
- Qsynth : GUI front end to configure Fluidsynth.

4. Strictly, you don't need to use Jack to use MIDI, but it is recommended if you want to do more than very basic thinks. You do need Alsa and fluidsynth.

5. It is important to remark that Slackware is currently using Pulseaudio as sound engine. When Jack is running, Pulseaudio is shouted down.

No comments: