Contributed by weerd on Sat Mar 31 14:40:01 2012 (GMT)
from the Puffy Burst Into Song dept.
Alexandre Ratchov (ratchov@), OpenBSD developer and composer of one of the extra audio tracks on the newly released audio CD, writes in to tell us how he created the song:
As the "Sonate aux insomniaques" track was just
I take few minutes to explain how the audio track was produced and
where it comes from.
The music is entirely inspired by a poem titled "Sonate aux
insomniaques" by Guillaine Dioudonnat. The initial plan, was to
work with Guillaine to turn it into a song. But it turned out that
the text would add constraints to the rhythm, which would make
harder to make the music reflect the universe created by the poem.
That's why there are no lyrics.
From the technical point of view, the audio track is a
proof-of-concept that OpenBSD is usable for music applications. Not
only does the software run on OpenBSD, but the song is made using an
approach popular in the community: use simple programs that do one
thing and make them work together. I'm involved in the OpenBSD
development, and relying on OpenBSD to record my music reminds you that
developers actually use the code they write.
The following hardware was used:
and the following software:
a low profile i386 machine running -current
based audio card (ESI Julia)
a MIDI master keyboard (Studiologic SL-990)
based synth module (Roland XV-2020)
analog mixer, speakers, headphones, microphone
as a MIDI sequencer
to play, record and mix .wav tracks
a small home-made soft synth (not released yet)
sndiod as glue to make above work together in sync
lame, mpg321, mp3info, vorbis-tools, oggtag
The first step consisted in finding a melody, i.e. playing the
piano and/or the melodica until something nice pops up. This also
includes, discussing with Guillaine, drinking beer and so on.
The next step was to find a nice arrangement. This requires a lot
of experimenting and recording all the instruments one-by-one.
That's the point where OpenBSD starts being involved. I used three
kind of instruments:
The hardware synth (used for drums, bass, piano, strings).
It synthesizes in real-time what I play as well as MIDI tracks
recorded in midish with the MIDI keyboard. In other words during
playback, MIDI events are replayed and sent to the hardware synth
which generates the sound, there are no .wav files involved at this
Acoustic instruments, like the melodica.
It's recorded with a
microphone as a .wav file using
aucat is started with
MIDI control enabled (-qt options) in a way it's controlled by
midish (aka MMC control) for the start, stop, and relocate
operations. Furthermore midish is configured to use the sound
card clock (aka MTC clock) as time reference as exposed by
sndiod(1), this is an easy way we have to keep MIDI tracks
perfectly synchronized to audio tracks.
Software synth (used for the "wind" sound).
It's the same as a
hardware synth, except that the sound is generated by a process
running on the computer and thus the output is on the sound
card. The soft synth is controlled by midish using a
midithru port as if it was a hardware synth connected to a
hardware port. Since soft synths are low-latency hard real-time
programs, sndiod must be started with small buffers (ex. -z240
or -z120). OpenBSD is not a real-time system but is pretty
good, provided that CPU-intensive kernel code is avoided.
This step is quite long; it includes various volume and effects
adjustments in order to make it sound well.
Once everything sounds perfect, the next step is to "convert" MIDI
parts to .wav files that can be mixed together to obtain the final
mix. To record the hardware synth, the usual approach is simply to
plug the synth output to the sound card input and to record it as if
it was an acoustic instrument. A similar approach can be used to
record the soft synth, except that sndiod(1) playback stream
(produced by the synth) is recorded instead of the sound card
Finally, the last step was to mix all the .wav files together using
aucat off-line mode (-n option) and to compress them to MP3 and OGG
Thanks to Alexandre for the story behind Sonate aux Insomniaques. If you haven't heard it yet, make sure to download it in either OGG Vorbis (5.7MB) or in MP3 format (5.9MB). If you enjoy the OpenBSD release songs, make sure to buy the 4.1 - 5.1 Songs.