/// <summary>
 /// change to instrument
 /// </summary>
 /// <param name="dev"></param>
 /// <param name="program_change_number"></param>
 public static void SetInstrument(this OutputDevice dev, int program_change_number = 1)
 {
     //via: https://www.midi.org/specifications/item/gm-level-1-sound-set
     dev.Send(InstrumentHelper.GetNew(program_change_number));
 }
 /// <summary>
 /// set an instrument
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="dev"></param>
 /// <param name="instrument"></param>
 public static void SetInstrument <T>(this OutputDevice dev, T instrument) where T : struct, IConvertible
 {
     dev.Send(InstrumentHelper.GetNew <T>(instrument));
 }