[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[iiwusynth-devel] NRPN System
From: |
Peter Hanappe |
Subject: |
[iiwusynth-devel] NRPN System |
Date: |
Sun, 15 Dec 2002 03:40:25 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.8) Gecko/20020205 |
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
- [iiwusynth-devel] NRPN System,
Peter Hanappe <=