Hi Jim

Not certain it is anything you can get control over as a user. Without some sort of hex editor at file level.

But for sure they are often not visible in the events list for a lot of midi files ,
Yet each channel has its own voice.

As far as I know it happens when the midi file is first saved, it writes the program patch assigned to that channel, channels with nothing assigned default to 0.
Once assigned in the header it will stay in force until you re assign it with a program change event. This can of course be right at the start or any time in the file.

Some Daws and synth write the initial ones, as events at the beginning of the event list any way, as well.

Mike


BIAB2021 UltraPlus,AsusN55S1Tbssd, W10/64,Akai EIEpro
Yamaha CVP405,SquireStrat, CoolsoftVMidSynth
Novatation Impulse61 Ctr kbd, Cwalk blab Kontakt

http://mikesmusic.byethost16.com/