10 October 2015 at 09:48:08 MDT
Not my performance, it's from a MIDI file I've had kicking around for a while. But I needed something to test the pipe organ setup and I liked the results well enough to share. It starts on the second movement because that's where I think it starts to get interesting, and in any case the object of the test was to make sure that the bass pedals were doing what they should and that's where they really kick in.
Recently I purchased a used Hammond SK1 to explore the pipe organ sounds it provides. All things considered I'd have preferred a Nord C2 but they're about four times as much and it wouldn't have fit on the keyboard rack, and it doesn't provide any of the electromechanical pianos and other sounds which the SK1 provides.
Something I had noticed was that a lot of people building up some kind of digital organ system tend to stack multiple units to give a wider variety of ranks or because each organ is better at doing different divisions. Upon discovering that the SK-1 didn't have any of the thunderous bass pedals which I was hoping for, I experimented with various softsynths to try and find one that would do the job.
I ended up using Aeolus, which complements the SK1 quite well because it's lousy at doing the mixture voicings, but has a great selection of bass pedals. It also runs on the Raspberry Pi 2, given a suitable MIDI interface and sound system, and that's what I used for this recording.
This required some dicking around, since Aeolus has no built-in way to specify the midi interface it's going to use, and it also defaults to doing NOTHING, so I had to contrive a way to make it initialise to the first preset which has my chosen combinations of stops.
For the curious, I ended up doing something like this. In the pi user's .bashrc file, I kick off a shell script to start up aeolus in text mode (so the GUI never even starts, to save CPU). It aborts if aeolus is already running, hence you can still log in via a second VT for maintenance. (I created a second emergency account anyway).
Aeolus doesn't like running in the background via & so before this is done I fire off another script that does run in the background that waits 3 seconds for aeolus to initialise and then by various trickery with grep and aconnect -l, locates the input port for the UA25 midi interface, the client port that aeolus is using and links them via aconnect.
It then calls aplaymidi to feed aeolus a short MIDI file that does the necessary bank change/prog change on channel 7 to recall the presets.
I was hoping to extract the audio from the HDMI stream instead of using a cheapo USB audio interface but it doesn't seem to work unless there's a screen attached so I need to rig up some kind of HDMI terminator for that, I think. Another project for another day.
ae.sh (needs bash)
ps ax | grep 'aeolus'
if [[ "$arunning" =~ "aeolus -t -A" ]]; then
echo aeolus already running
# Start service to connect to aeolus after a short delay
sh aeconnect.sh &
aeolus -t -A -d hw:1,0 -S /home/pi/stops48k -r 48000 -p 64
aconnect -i | grep UA-25 | head -c 9 | tail -c 2
aconnect -o | grep aeolus | head -c 10 | tail -c 3
echo aconnect $midiin $ae
aconnect $midiin $ae
aplaymidi --port $ae init_aeolus.mid