Yoshimi can have up to 64 parts. By default these are wraped around the normal MIDI channels, so 1, 17, 33 & 49 all respond to channel 1 messages. This was originally implemented for Vector Control, working with up to four sounds on a channel (similar to the Yamaha SY hardware series).

However, these have other less obvious uses. One of these is getting far more than 16 completely independent tracks addressed by just the 16 channels. Most tunes run with instruments having a relatively narrow pitch range, and this is what we can make use of.

As an example, in Yoshimi's main window select 64 parts, then on part 1 set (say) Steel Bass and maximum note as 52 (E).

Next select part 17 and enable it (easiest to use the mixer panel for this) set Tunnel Piano, the *minimum* note as 53 and maximum as 71 (B).

Finally, enable part 33, set Rushes and set it's minimum note as 72, but key shift down an octave.

With a 61 note keyboard that gives you quite a useful working range, on just one channel.

However, the idea really comes into its own with a sequencer like Rosegarden where you can record multiple parts over the full MIDI range and track them to the same channel. Also, in Rosegarden the parts can be separately named, and identified as Bass and Treble in the notation editor. This makes it very convenient for those wanting a more formal musical layout.

So, with very little effort you can now have 48 tracks playing at once!

Ummm, you do need a decent processor though :)

Yes, I know you could run more instances of Yoshimi on different MIDI ports, but
where's the fun in that?


Another possibility is getting really smooth transitions between different sounds on the same channel.

If you use program change to do this, that part has to be muted, and there is a variable time lag (while the new part is loaded) before you can play any more notes on that channel. However, with 32 and 64 parts you can actually overlap notes with different instruments on a playing channel.

This is done by pre-loading the wanted instruments, then switching channel numbers. If (via the direct part NRPN) you add 16 to a sounding part's channel number it will then only respond to note-off events. To bring it back into operation simply restore the original channel number.

An example:

Enable 32 parts

Load 'Simple Chimes' into part 0 (part 1 in the GUI).
Load 'Silver Bell' into part 16 (part 17 in the GUI).
In your sequencer, via direct part NRPN set part 16 to channel 16.
    This will now be 'whited out' in the GUI

Record some notes to channel 0 - usually represented in sequencers as channel 1 - yes I know this gets confusing :(

In your sequencer just before the first note that you want to sound as 'Silver Bell' insert two direct part NRPNs. One to set part 0 to channel 16, and the other to set part 16 to channel 0.

Now when you play this through, the last 'Simple Chimes' note will have it's full release and reverb tail, blending into the first 'Silver Bell' note.

When you want to go back to using 'Simple Chimes' just reverse the NRPNs.

The only time this gets complicated is if the new note is exactly the same pitch as the old one, in which case the NRPNs need to be between the old note-off and the new note-on.

Some of this control is now made easier with the new shortform NRPNs. See doc/Shortform_NRPN for details.
