Послать миди-сигнал с c # на ableton - PullRequest
5 голосов
/ 03 апреля 2012

Я пытаюсь отправить миди-сигнал из моего приложения на c # на трек в Ableton Live.

Я пробовал и Bass.net, и midi-dot-net оба с одинаковым эффектом: никаких событий в Ableton не поступало. (У меня установлен loopMidi, и я отправляю туда свои сигналы.)

Как ни странно, когда я нацеливаюсь на свою миди-клавиатуру, она воспроизводит звук стандартного пианино ..

Мой код 1-1 копии примеров на сайтах:

OutputDevice outputDevice = OutputDevice.InstalledDevices[0];
outputDevice.Open();
outputDevice.SendNoteOn(Channel.Channel1, Pitch.C4, 80);  // Middle C, velocity 80
outputDevice.SendPitchBend(Channel.Channel1, 7000);  // 8192 is centered, so 7000 is bent down

Поскольку я все еще совсем новичок в миди, я думаю, что я все еще неправильно понимаю некоторые основы здесь .. Кто-нибудь может увидеть, что я делаю не так?

Ответы [ 2 ]

3 голосов
/ 03 апреля 2012

Я бы посоветовал использовать такую ​​утилиту, как MidiOx, чтобы убедиться, что MIDI-сигналы действительно отправляются так, как вы подозреваете.

Если это работает так, как ожидалось, то вы, вероятно, неправильно настроили MIDI I / O Live в настройках. Хороший способ проверить это - войти в режим отображения MIDI в режиме реального времени, а затем щелкнуть любой клип в представлении сеанса. Пусть ваша программа отправит MIDI-данные, и если Live сможет получать эти данные, вы увидите, что они отображают MIDI-событие на рассматриваемый клип.

1 голос
/ 04 апреля 2012

Ваш код отправляет не MIDI на Ableton live, а на выходной порт MIDI.Вам нужно использовать виртуальный порт MIDI, на который вы можете отправлять данные, и он может представлять эти данные другому приложению.Приложение MIDI Yoke может сделать это.

...