Arduino MIDI Library Version 3.2

Тема в разделе "Arduino & Shields", создана пользователем zsm, 9 фев 2014.

  1. zsm

    zsm Гик

    Здравствуйте , подскажите пожалуйста если кто сталкивался с данной библиотекой, что и как возвращает функция MIDI.read() . http://arduinomidilib.sourceforge.net/files.html

    Отправлять с дуни MIDI гораздо проще
     
  2. acos

    acos Официальный гик Администратор

    Судя по всему, там может быть два варианта развития событий:
    Тупой:
    в главном цикле делаем что-то вида
    Код (Text):
    int myMidiChannel = 1;
    if (MIDI.read(myMidiChannel)) {
      switch(MIDI.getType()){
      case NoteOn:
        analogWrite(13, MIDI.getData2());
        break;  
      case NoteOff:
        digitalWrite(13, LOW);
        break;
      }
    }
     
    Этот код я не проверял) По идее, он должен зажигать светодиод 13 с яркостью, пропорциональной силе нажатия на клавишу миди-клавиатуры. Всё это происходит на канале 1. Номер клавиши - по барабану, но он ловится MIDI.getData1().

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

    Проверить всё это дело пока не могу (страшно признаваться - я сходу не врубился как скачать эту библиотеку))). Да и городить нормальный миди-приёмник на оптопаре дома что-то лень), если на неделе свободное время выпадет, попробую поиграться.
     
    Последнее редактирование: 9 фев 2014
    zsm нравится это.
  3. acos

    acos Официальный гик Администратор

    Рано лайкать - вы проверьте. Может быть я вообще неправ)
     
  4. zsm

    zsm Гик

    спасибо за быстрый ответ , обязательно попробую пример.
    вроде разобрался без библиотек, нашёл такой обработчик миди , оказалось то что нужно.
    хочу простого робота барабанщика попробовать сделать:)
     
  5. zsm

    zsm Гик

    лайк за участие:D
     
  6. acos

    acos Официальный гик Администратор

    Можно и так. Обратите внимание, некоторые миди клавы вместо note Off могут присылать note On с velocity=0. Могут случится знатные грабли
     
  7. zsm

    zsm Гик

    да слышал про это , сейчас меня это не коснётся т.к. посылаю midi партию ударных из REAPER через Serial MIDI Converter и midi yoke. Сейчас со скоростью буду шаманить , пока только на 9600 завелось..