iiwusynth-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[iiwusynth-devel] Re: Pitch bend, filter, sysex, LADSPA,...


From: M. Nentwig
Subject: [iiwusynth-devel] Re: Pitch bend, filter, sysex, LADSPA,...
Date: Mon, 08 Apr 2002 09:14:08 +0300

Hello,

> Another point I wanted to bring up was that (some day when I have more

>  time) I'd like to adapt the synthesizer to have a multi-channel out.
It
>  would allow users to send, for example, MIDI channel 1 to audio
channel
>  1, MIDI channels 2+3 to audio channel 2, etc... That way, people can
use
>  an external mixing console to finilize the mix or to use the synth in

>  combination with a multi speaker system to do more fun stuff.

>  If we want to go there, we have to be careful not to kill the CPU
>  because we'd be duplicating the reverb modules and other plugins on
the
>  audio path.

That is exactly what I had in mind. My own plan looks like this:
One more command (sigh :-) for example:
  chan_route Channelnumber Master AuxSend AuxLevel
Where
- Channelnumber is a MIDI channel,
- Master is 0 or 1, toggles output to the normal Master output (default
1)
- AuxSend: Gives the number of the auxillary output, that is used for
the voice (default none)
- AuxLevel: Sets the volume on the aux output

The 'aux outputs' leads into the LADSPA Fx unit. They can either be
wired to additional audio outputs (default if no LADSPA plugins are
used), or used to feed the channel output into a LADSPA plugin.
This way, the signal routing is entirely up to the user / the
application controlling Iiwusynth.
I should make a drawing about this concept...
But there is no need to duplicate the reverb module. In fact, an
application using a complex LADSPA setup will probably want to
completely get rid of the internal reverb, and use a freeverb3 as a last
plugin (so does my Iiwurhodes :-)

> Yeah, but this would also add another dependency. I don't see
> a problem
> with ripping the code :) Having pluggable LADSPA modules for the
> different effects would be nice though.

Same opinion here. Having to set LADSPA_PATH might scare away 50 % of
all potential 'customers' (the musicians, not the programmers :-)

I played a couple of hours in the weekend using the
multivoice_chorus_1201.so, it works quite nicely. Maybe just rip that. A
reasonable set of parameters is
detune=1
delaybase=10
separation=1
LFO Freq: 5
Nr voices: 8

It's an insert effect, so the signal has to be added with the dry
signal. This is exactly, what we need. CPU load might be a problem,
though.

> > It is currently impossible to address a particular voice inside a
> > channel. This is somewhat annoying. Imagine we're able to
> stream large
> > samples from disk. It would be nice to control these
> streamed samples
> > separately. That way, you could actually use the synth as a
> nice mixer
> > or audio file sequencer. But you'd need to be able to control voices

> > individually otherwise the user is limited to 16 samples,
> one per MIDI
> > channel.
> >

Well, starting from the soundfont specs it -should- be possible to
control individual samples: Turn each of them into one preset and assign
a different MIDI controller to 'volume'.
Iiwusynth is really capable of playing different presets on the same
channel, just put program changes between the note-ons (try that with
hardware keyboards...)
But nothing like (for example) getting a handle from the
noteon-function, that points to only one individual voice.

> Bummer! You had already send the pitchbend change to me, didn't you?
Only 50 % :-)

> > A 'todo' here is maybe a timeout for the MIDI parser in general.
> I'm not sure I understand?

A realtime-midi synth should recover from faulty MIDI data.
For example, imagine a 'note-on' with one byte missing (due to cosmic
radiation or someone pulling a cable). Currently I'd guess, that the
MIDI parser goes out of sync, because the next command byte slips into
the position of parameter 2 and so on - the synth doesn't respond
anymore.
I haven't tried this yet myself, maybe I'm seeing problems, where there
aren't any.

> I'm quite sure your masterkeyboard sends the correct bank select
> messages. Yamaha knows MIDI quite well ;) The specifications of DLS
> (Downloadable Sound, very similar to soundfonts) actually advices to
> always send a bank select message before a program change. What values

> do you receive for the bank select MSB and LSB?

It sends 63 and 64, respectively (even the manual says so). This is not
a bug, it's completely logical. It just doesn't work :-)
I'll have a look at the keyboard manual, there must be a way to set up
that box to send bank 0 or no bank at all.

> > By the way: The limiter is finished, documented and ready-to-go. Is
> > anybody interested in the LADSPA plugin?

> Yes, sure. Do you already have a ladspa ID. I requested a bunch of
them
> so I can give you one if needed.
Great. Two, please! (mono and stereo).

Cheers

Markus




reply via email to

[Prev in Thread] Current Thread [Next in Thread]