#android #midi
#Android #midi
Вопрос:
Какие классы доступны для платформы Android для связи (вход / выход) с внешним MIDI-устройством? У меня есть смартфон HTC Desire, у него есть USB-порт, я бы предположил, что его можно подключить к MIDI-синтезатору, используя стандартный USB-кабель конвертер [Type A -> Mini A]. Я хотел бы написать приложение MIDI-секвенсора, которое могло бы записывать MIDI-поток с синтезатора, а затем воспроизводить его позже.
Ответ №1:
Короткий ответ: Нет. Немного более длинный ответ: в HTC Desire нет встроенной поддержки режима USB host (который вам нужен, поскольку usb-midi-адаптер будет USB-клиентом). (Android 3.1 имеет некоторую поддержку режима USB Host, но это недоступно для HTC Desire) Если вы не боитесь паяльника, вы можете использовать midi-over-bluetooth: http://nettoyeur.noisepages.com/2011/01/midi-over-bluetooth-part-iii-new-hardware /
Ответ №2:
Многое изменилось на этом фронте. Следующая библиотека позволяет осуществлять MIDI-ввод-вывод с помощью USB OTG-адаптера по API 12 :
https://github.com/kshoji/USB-MIDI-Driver
Это далеко от совершенства, и в моем тестировании довольно сложно, но, по крайней мере, это должно быть хорошей отправной точкой для тех, кто ищет соответствующие классы.
Комментарии:
1. Выглядит многообещающе, посмотрите на это! Спасибо!
Ответ №3:
Как сказал @edovino, вам нужен режим USB-хоста, а затем драйверы.
Если вы не возражаете против рутирования вашего телефона, и аппаратное обеспечение поддерживает это, у вас есть несколько вариантов. Проверьте эту ссылку: http://sven.killig.de/android/N1/2.2/usb_host /
Этот парень смог заставить работать аудио, видео, клавиатуру и некоторые другие вещи. Он включает в себя аудио / MIDI-драйверы.
Ответ №4:
Да, как указано выше, это невозможно с помощью телефона, поскольку он не обеспечивает возможности USB-хоста. Последние несколько месяцев я добросовестно работал над созданием XY-контроллера для моего синтезатора, чтобы я мог передавать значения контроллера для использования в выступлениях. Я полагаю, это то, что вы хотите сделать с дополнительной функциональностью.
Bluetooth, безусловно, является опцией, и если вы посмотрите на libpd, сам Питер Бринкманн решил эту проблему и признал, что Bluetooth-ключи для MIDI не за горами.
Wi-Fi — это тоже то, на что можно обратить внимание. Используя rtpMIDI, мы можем создавать сеансы на стороне ПК и использовать практически любое MIDI-устройство с поддержкой Wi-Fi для передачи / приема данных. ЕСЛИ вы хотите управлять программными синтезаторами с помощью телефона, это кажется идеальным. Приложения TouchDAW и TouchOSC для Android используют эту функцию.
С драйвером USB-Android единственная проблема, которую я вижу, — это отсутствие поддержки изохронных передач с использованием USB-хоста. Таким образом, мы не можем гарантировать детерминированную задержку. Но, учитывая отсутствие других подключенных аксессуаров для шины, в моих тестах производительность кажется довольно приличной.