Simon Williams wrote:
Dave Robillard wrote:
On Wed, 2007-22-08 at 13:22 +0100, Simon Williams
wrote:
I'm now at the point where I can play midi
files, and I have a midi
keyboard connected and can play sounds to and from that.
Timidity is rubbish, frankly, so I'm using fluidsynth, which works
fine. However, for some reason I can't get qsynth to work.
Qsynth1: Failed to create the MIDI driver (alsa_seq). No MIDI input
will be available.
No matter what settings I try, it always fails. The only useful
message I ever got was for alsa_raw, when it said that the device
didn't exist. For some reason I have /dev/snd/midiC1D0, but not
/dev/snd/midiC0D0. So I temporarily symlinked them, but that didn't
help- it wasn't complaining about a missing device any more, but it
still couldn't create the midi driver and still wouldn't tell me why
not.
Also, both fluidsynth and timidity are too slow. Midi events are
routed around instantly (tested with vkeybd and the keyboard I have
plugged in), but there is a delay in playing anything sent to
fluidsynth or timidity- about half a second or so.
Use a smaller (audio) buffer size.
Adding the '-a jack' option to fluidsynth fixed it. I also added '-r
48000' to get the periods to match which probably helped.
have you read qsynth's homepage? `qsynth -a jack` would do the
same trick, and guess what? you just need to do it once alas qsynth
command line options "tries" to be as equivalent to fluidsynth's
however semantics might get in between and just probably something
starts to get persistent and thus not quite scriptable-wise at least as
far as fluidsynth is
maybe you did not get it noticed: `fluidsynth` and `qsynth` are both
front-ends to libfluidsynth.so (.dll in win32 port) the former is the
original shell command-line implementation, the later is just my qt gui
clone almost 4 years old already without any major design changes if I
may stand correct ;)
Now that I know I can play midi in realtime, how do I
start doing
interesting things with it? Sure I've got fluidsynth, but my current
keyboard only has 8 instrument buttons, and fluidsynth isn't much good
for changing the instrument on the fly.
fluidsynth and qsynth both CAN change instruments on the fly
hint: having a real midi controller might help perhaps? one that would
send actual program-change (PC#) midi messages
its just the way fluidsynth/qsynth works
furthermore, each soundfont instrument is assignable to any of the
standard 16 midi channels you may find qsynth way far more manageable
in doing this kind of mapping than doing some hell of a "geeky" shell
scripting for fluidsynth but that's your choice of course :)
So far I have 2 options:
1. Use the selectors on my keyboard to get whatever the first 8
instruments are in my soundfont.
get over it: your 2 options are really 1) change your keyboard selectors
to send the proper midi #PCs or 2) you're stuck with what you have
please, do not take it as a fluidsynth/qsynth shortcoming there must be
some way for you to set which (knob) sets which instrument on your
keyboard controller whatever (is that a toy-keyboard? oops couldn't
hold that one :)~
2. Use another program to pick the instrument- but so
far I haven't
found anything that will let me pick a selection of instruments- I can
only pick one and then the selectors on my keyboard don't do anything.
ah now that should explain something ... ;)
Also, I would love to be able to mix together two or
more instruments-
and be able to specify the range, volume and fading of each one.
As an example, so that I could have something like:
1. Piano sound- for everything except the last octave
2. Bass guitar- Mainly on lower half of the keyboard, fades out towards
the middle
3. Flute or something- just on the last octave
Also, when I get my hands on a decent midi controller keyboard I want to
be able to use the extra buttons, knobs and sliders to control the
mixing above, and things like auto drum accompaniment and other synth
effects, but as yet I haven't seen any software which will let me do this.
actually those are features not rightly addressable to fluidsynth/qsynth
which as any other softsynth just reads incoming MIDI messages and
renders respective synthesized voice sounds
what you're after is some kind of MIDI patch librarian utility or else
specific to your hardware
please again notice that given the business (as in the busy sense of the
word) nature of most of the LADs you'll might be disappointed if you
don't volunteer yourself to give a real hand ... truth is you might be
out of luck if nobody else uses that same iron ...
Any suggestions?
if anything of what i've just said didn't make you think (aye!) please
let us know more about the details and figures on what you have
(hardware, brands, models, etc) and what you're trying to do (if not
already)
cheers
--
rncbc aka Rui Nuno Capela
rncbc(a)rncbc.org