Page 1 of 1
Posted: 01-13-22 2:05 pm
by Blushock
In Advanced Settings, under Midi Data, there is a setting called Midi Track Channels. It has two options, Force Unique or Use Original. I don't know what the setting or either of the options does, so I would appreciate it greatly if someone could explain the difference between the two and which is recommended, in simple terms. Thanks.
wuddusdisdo.png (25.59 KiB) Viewed 1788 times

Posted: 01-14-22 12:06 am
by Bavi_H
This is a good question! It is challenging to answer your question without getting in to some technical details, but I hope I have made it simple to understand.

Putting it very briefly, each note in a MIDI file can have a track number, a channel number, and a program change number.

When Synthesia opens a MIDI file, it examines all the notes in the file. Any notes that have the same combination of track number, channel number, and program change number are considered a unique part to Synthesia. Each part shows up on the "Hands, Colors, and Instruments" screen as a separate block that lets you change the color, instrument sound, play mode, and mute status of that part.

The "MIDI Track Channels" setting should maybe be called something like the "Part Channels" setting. The setting does not have a direct relationship with MIDI file tracks, rather, it's related to Synthesia's internally-assigned "parts". The setting controls if Synthesia will give each part a unique channel:
  • When the setting is set to "Use Orignal", Synthesia will send out MIDI messages with the channel numbers that are specified in the MIDI file.
  • When the setting is set to "Force Unique", Synthesia will change the channel numbers so that each part gets a unique channel number.
In more complex MIDI files that use a program change message in the middle of a song, or that use the same channel number on multiple tracks, the "Force Unique" setting will assign unique channels to the parts Synthesia generates. This will also cause each channel to have only one program change number. If you need to move around to different points in the song, it might be less confusing to the MIDI output device if the program change messages for each channel are always the same program change number.

More details:

If you looked at the messages on a MIDI cable, you would see that:
  • Note messages have a channel number from 1 to 16 assigned to them.
  • A program change message, also with a channel number assignment from 1 to 16, is used to change the instrument sound of the notes after it on that channel. The program change numbers are from 1 to 128 (or sometimes shown as 0 to 127).
If you look at the organization of a MIDI file, you will also see that:
  • People making MIDI files can organize MIDI messages into separate tracks.
Technically, when sending MIDI messages on a MIDI cable, you can change program change numbers in the middle of a song. And technically, a MIDI file is allowed to store MIDI messages for multiple channels in a single track. Or put MIDI messages for a single channel into multiple tracks.

However, some MIDI player software is designed with assumptions that:
  • program change messages should only happen at the beginning of the song, and
  • each track should only contain messages for one channel.
Many MIDI files will only use one program change at the beginning of a track, and only use one unique channel per track, to help ensure the MIDI file works as the author intended in as many MIDI players as possible. In a MIDI file like this, Synthesia's "Force Unique" setting will have little effect, since the parts that Synthesia will generate will already have unique channels.

As mentioned earlier, the "Force Unique" setting begins to have a meaningful effect with MIDI files that use a program change message in the middle of a song, or that use the same channel number on multiple tracks.

However, note that there are only 16 channels available in MIDI, and when General MIDI instrument sounds are used (as Synthesia is designed for), channel 10 is reserved for drum sounds. So if Synthesia has created more than 15 melodic parts, it will have to reuse channel numbers.
Example MIDI file:
(266 Bytes) Downloaded 8 times

Code: Select all

                         program                "Force Unique"  "Use Orignal"
measure  track  channel  change (1-128)  pitch  channel used    channel used
-------  -----  -------  --------------  -----  --------------  -------------
1        1      1        74 flute        C4     3               1
2        1      2        74 flute        D4     4               2
3        1      1        41 violin       E4     1               1
4        1      2        41 violin       F4     2               2
5        2      1        74 flute        G4     6               1
6        2      2        74 flute        A4     8               2
7        2      1        41 violin       B4     5               1
8        2      2        41 violin       C5     7               2

Posted: 04-05-22 4:37 am
by Blushock
Omg, I totally forgot to reply to this. My bad. This about explains it, thank you so much. Since I don't plan on using midi songs with instrument changing, I'll try "Use Original".