Teensy 2.0 MIDI: количество нот в аккорде ограничено 6?

Я использую Teensy 2.0 с USBMidi в проекте, который позволяет музыкантам использовать ретро-компьютеры в качестве «инструментов» (https://github. com/fredlcore/midijoy). До сих пор все эти компьютеры имели не более четырех голосов, поэтому проблемы, которую я сейчас решаю, пока не возникало.

Когда я хочу сыграть аккорд, состоящий из более чем шести нот одновременно, принимаются и воспроизводятся только первые шесть нот. Однако, если я отпущу две из, скажем, восьми нот, оставшиеся две ноты будут последовательно воспроизводиться, если эти клавиши все еще удерживаются нажатыми.

Вот сценарий, сокращенный до минимума, когда вы нажимаете восемь клавиш на MIDI-устройстве одну за другой, вы увидите, что он останавливается после шестой клавиши, и когда вы затем последовательно удерживаете все клавиши и отпускаете одну после другого вы увидите, что «оставшиеся» ключи/ноты будут получены тогда:

void setup() {
  Serial.begin(38400);
  usbMIDI.setHandleNoteOn(doNote); 
  usbMIDI.setHandleNoteOff(doNoteOff); 
}

void loop() {
  usbMIDI.read(); 
}

void doNote(byte channel, byte pitch, byte velocity) {
  Serial.println(channel);
  Serial.println(pitch);
}

void doNoteOff(byte channel, byte pitch, byte velocity) {
  Serial.println(channel);
  Serial.println(pitch);
}

Вы должны настроить Teensy как MIDI-устройство, чтобы можно было найти библиотеки USBMidi.

Есть ли в Teensy 2.0 аппаратное ограничение, которое не позволяет ему обрабатывать более шести заметок одновременно? Или это ограничение библиотеки?

, 👍0

Обсуждение

В MIDI нет понятия аккордов. Скорее всего, то, что вы используете для отправки MIDI-сообщений, не может справиться с более чем 6-нотной полифонией., @Majenko

Подключите клавиатуру к ПК и запустите MIDI-монитор. Я думаю, что вы увидите ту же проблему., @CL.


1 ответ


Лучший ответ:

0

@Majenko указал мне на основную причину проблемы: я отправлял MIDI-заметки с помощью функции Ableton по использованию клавиатуры компьютера. Кажется, что ОС (или клавиатура) не может отправлять/принимать более шести одновременных нажатий клавиш.

,

Можно принять свой собственный ответ как решение проблемы. Возможно, вам придется подождать 48 часов, прежде чем вы сможете его принять., @VE7JRO

Это особенность USB-клавиатур. У них есть «N-key rollover», где N=6. Т.е. в отчете HID есть место для 6 ключей., @Majenko

@Majenko: Да, это имеет смысл. Вы хотите сами написать ответ, чтобы я мог принять его как решение?, @fredlcore

Нет, твоего вполне достаточно. Принимайте свои собственные, когда система позволяет вам., @Majenko

Нормально будет делать...., @fredlcore