On Sat, Dec 31, 2011 at 02:23:25PM +0100, Robert wrote:
> The question is rather what you are going to do next. I tried to set up
> some software environment (synths, sequencer, effects etc.) under
> OpenBSD, but I run into a lot of issues since many tools are
> unfortunately "Linux-specific", i.e. not usable without a lot of source
> code changes (if at all). So I ended up using a dedicated Linux machine
> for this.
> (I'm not talking about just recording some MIDI events, but rather a
> full set of tools such as e.g. www.64studio.com provides)
> 
> If someone had a better experience, please post your setup!

I use OpenBSD to record music (audio and midi, combined), with the
following hardware:

 - a Roland XV-2020 syth module (umidi)
 - a Behringer BCF-2000 control surface (umidi)
 - a Studiologic SL-900 midi keyboard
 - a ESI Julia card (envy)
 - a 1.8GHz Pentium 4 with 256MB of RAM
 - an analog mixer with mic-preamp and reverb

I use midish as the main sequencer. MIDI parts (ie the syth) are
recorded/played as simple tracks in midish. Audio tracks are simple
wav files handled by an aucat slave process controlled by
midish. I.e. midish issues all start/stop/relocate commands while
sndiod keeps the whole thing synchronized using MTC/MMC.

Additionnaly, I create a dedicated "mixer" track in midish where I
record volume automation for the audio tracks played with aucat.

Once everything sounds ok, I record the mix of synth tracks into a
single wav file and I mix all audio tracks together to get the final
mix into a single wav file that I compress with oggenc or lame.

I don't use softsynths very often, but if I do, I use a midi thru box
(additional -M option to sndiod) to make it look like a midi device so
midish can use it. I record the softsynth output with "-mmon" option
of sndiod.

I don't edit & tweak the music off-line too much since I consider that
I should at least be able to properly play the music I'm trying to
record...

To summarize:

# the server setup
sndiod_flags="-M -z480 -b960 -frsnd/0 -r48000 -sdefault -tslave -smmc"

# command to play/record audio tracks
aucat -fsnd/0.mmc -qmidithru/0 -tslave -r48000 -i track1.wav ...

# midish configuration
dnew 0 "rmidi:3" rw             # synth
dnew 1 "rmidi:2" ro             # keyboard
dnew 2 "rmidi:1" rw             # control surface
dnew 3 "midithru/0" wo          # slave aucat wav player
dnew 4 "snd/0" rw               # sndiod
dmtcrx 4                        # use dev. 4 as MTC clock source

Ah.. last point, not necessary, but I build sndiod with
COPTS='-DADATA_BITS=24' to get end-to-end 24-bit precision.

HTH

-- Alexandre

Reply via email to