Как определить, поддерживается ли изменение высоты звука?

442
P a u l

Win7-64: Это мое единственное миди-устройство: Microsoft GS Wavetable Synth, deviceid = 0.

Есть ли способ узнать, поддерживается ли midi-тональный изгиб на этом устройстве?

4
IMO, если это GM, он обязательно поддерживает изменение высоты тона, скорость и некоторые другие основные элементы управления и sysex. wazoox 14 лет назад 0
Хорошо, я считаю, что он поддерживается на встроенном программном синтезаторе по умолчанию, Microsoft GS Wavetable Synth. Я должен был написать миди программу, чтобы проверить это. P a u l 14 лет назад 0
Вы должны опубликовать это как ответ; ответ на свой вопрос приветствуется. вам не нужно отправлять код, если вы не хотите, но не стесняйтесь вдаваться в подробности, как вам нравится. quack quixote 14 лет назад 0

2 ответа на вопрос

3
P a u l

Я протестировал это с устройством по умолчанию 0 (Microsoft GS Wavetable Synth) и закончил свое решение, используя C # Midi Toolkit . Вот код C #, который работает с этим инструментарием. pitchBend - любое целое число от 0 до 16383. Pitch Bend работает. Сначала нужно включить заметку (не показана).

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); 
0
PiedPiper

Отправить его заметки с внешней клавиатуры с контроллером высоты тона

Не иметь этого Что было бы хорошо, так это полная техническая документация по программному обеспечению, включенному в Windows. Вы должны искать на форумах и в Google, чтобы найти что-нибудь, если вам повезет. P a u l 14 лет назад 0