Eu testei isso com o dispositivo padrão 0 (Microsoft GS Wavetable Synth) e terminei minha solução usando o C # Midi Kit de ferramentas . Aqui está o código C # que funciona com este kit de ferramentas. O pitchBend é qualquer inteiro de 0 a 16383. Pitch bend funciona. Você precisa virar uma nota primeiro (não mostrado).
if(pitchBend > 16383)
pitchBend = 16383;
int mask = 127;
ChannelMessageBuilder builder = new ChannelMessageBuilder();
// Build pitch bend message;
builder.Command = ChannelCommand.PitchWheel;
// Unpack pitch bend value into two data bytes.
builder.Data1 = pitchBend & mask;
builder.Data2 = pitchBend >> 7;
// Build message.
builder.Build();
ChannelMessage pitchBendMessage = builder.Result;
// Send message (assumes we've created an output device).
outDevice.Send(pitchBendMessage);