[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [iiwusynth-devel] NRPN System
From: |
Josh Green |
Subject: |
Re: [iiwusynth-devel] NRPN System |
Date: |
15 Dec 2002 14:02:16 -0800 |
On Sat, 2002-12-14 at 18:40, Peter Hanappe wrote:
> Hi all,
>
> I implemented a first version of the NRPN system. The NRPN midi
> messages allow the control of the synthesis parameters, or generators,
> in real-time. To change a parameter the following suite of MIDI
> messages have to be sent:
>
> cc chan=0 ctrl=99 val=120 = NRPN_MSB
> cc chan=0 ctrl=98 val=<generator number> = NRPN_LSB
> cc chan=0 ctrl=38 val=<data LSB> = DATA_ENTRY_LSB
> cc chan=0 ctrl=06 val=<data MSB> = DATA_ENTRY_MSB
>
> For a list of generator numbers, see the 'iiwu_gen_type' in iiwusynth.h,
> or section 8.1.2 in the SoundFont specifications.
>
> I added a new API function that is a little more to the point:
>
> int iiwu_synth_set_gen(iiwu_synth_t* synth, int chan, int gen, float value)
>
> Note that the given value adds up to the value
> specified in the soundfont. For the useful value ranges, check section
> 8.1.2 in the specifications again. The synthesizer should clip the
> values internally to the allowed range. I also added 'iiwu_synth_get_gen'.
>
> Cheers,
> Peter
>
Sounds really cool :) I'm assuming that changing a generator in real
time does so for all voices on the designated MIDI channel? Also, how
did you go about selecting the NRPN value of 120? Cheers.
Josh Green