I'm fairly new to MIDI and Linux. I have an Akai MPX8 with a bunch of individual WAV files loaded onto it. The WAV files play well over the existing audio system. The audio files are launched by touching on the of the large pads on the MPX8. I still need this functionality so that someone can play these specific tunes in an ad-hoc manner. Now there's a need to have the WAV files play at a specific date and time. My approach is to use a Raspberry PI-2 with a Linux OS to provide scheduling functionality. At a specific date and time the Raspberry PI-2 would send a Midi signal to the Akai MPX8 to play a specific Kit (which points to a WAV Audio File). 1) What software do I need to accomplish this. Is this a Midi Sequencer? 2) How would Linux launch something at a specific date and time? Does linux have a task / job scheduler? 3) Do you have any recommendations for packages? (Shareware preferred). Thanks for looking at this.
First, create a MIDI file that plays the desired sound. (You need any sequencer for this.)
Then, find out which command you actually need to play it.
aplaymidi -l to list all ports; call it without
-l to play a file:
$ aplaymidi -l Port Client name Port name ... 40:0 SC-8820 SC-8820 Part A $ aplaymidi -p SC-8820 MySound.mid
Note: you could also use
amidito play a asound without having to create a file, if you know the MIDI commands:
$ amidi -l Dir Device Name ... IO hw:6,0,0 SC-8820 Part A $ amidi -p hw:6,0,0 -S "C0 00 90 3C 7F"
However, raw MIDI ports cannot be shared by multiple applications.
You can then give this command to
at to schedule it for a specific time:
$ echo "aplaymidi -p SC-8820 /some/where/MySound.mid" | at 12:34 warning: commands will be executed using /bin/sh job 1 at Mon Jun 22 12:34:00 2015