Como saber se o pitch bend é suportado

4

Win7-64: Este é o meu único dispositivo midi: Microsoft GS Wavetable Synth, deviceid = 0.

Existe alguma maneira de saber se o MIDI pitch bend é suportado neste dispositivo?

    
por P a u l 30.03.2010 / 22:26

2 respostas

3

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);
    
por 14.05.2010 / 02:15
0

Envie notas de um teclado externo com um controlador de pitch bend

    
por 31.03.2010 / 02:01