Müzik Aleti Dijital Arayüz (MIDI), müzik sistemiyle bilgisayarları birbirine bağlamak için kullanılan standart bir protokoldür. enstrümanlar, sahne ışıklandırması ve zaman odaklı diğer medyalar.
Android 13'ten itibaren USB aktarımına MIDI 2.0 desteği eklenmiştir. MIDI 2.0, daha yeni bir MIDI standardını 2020 yılında tanımlanmıştır. Bu protokol iki yönlü iletişim, güvenlik açıkları, veri aktarımları çözüm ve mülk alışverişi vardır. USB ana makine modu üzerinden MIDI 2.0, MIDI desteği her zaman etkinleştirilir etkinleştirildiğinden emin olun.
MIDI'nın ses ile ilgisi yoktur. Ancak MIDI yaygın olarak bu makale ses bölümüne yerleştirilir.
NDK için MIDI
Android 10, profesyonel ses uygulamalarını taşımayı kolaylaştırır MIDI kullanarak Android platformuna geçelim.
AMidi
bir
Uygulamaya olanak sağlayan NDK API
geliştiriciler için C/C++ kodu ile MIDI verileri gönderme ve alma olanağı.
Android MIDI uygulamaları, Android MIDI hizmetiyle iletişim kurmak için genellikle
midi
API'sini kullanır. MİDI
uygulamaların, en az bir
MidiDevice
uygulamasını keşfetmek, açmak ve kapatmak için öncelikle
MidiManager
sınıfını kullanması gerekir
ve cihazın MIDI giriş ve çıkış bağlantı noktaları aracılığıyla her bir cihaza veri iletir.
Taşımacılık
Fiziksel ulaşım katman orijinal MIDI 1.0'da belirtilen, değer içeren bir döngüdür. 5 pinli DIN konnektörü.
MIDI 1.0'dan bu yana, USB üzerinden MIDI dahil ek aktarımlar tanımlanmıştır ve MIDI Bluetooth Düşük Enerji (BDE).
Android için MIDI
Android'in desteklediği USB Hareket Halinde, USB'yi sürücüye vermek için bir Android cihazın USB ana makinesi gibi çalışmasına izin verir çevre birimleri USB ana makine modu API'leri uygulama düzeyinde USB üzerinden MIDI'yı uygulamaya geçirebilir, ancak yakın zamanda MIDI için yerleşik platform API'leri olmamasına dikkat çekiyor.
Cihaz üreticileri, Android 6.0 (Marshmallow) sürümünden itibaren isteğe bağlı MIDI'yi etkinleştirebilirler. destek sunmak. Android doğrudan USB, BDE ve sanal (uygulamalar arası) aktarımları destekler. Android, harici bir adaptör üzerinden MIDI 1.0'ı destekler.
MIDI API'larıyla uygulama programlama hakkında ayrıntılı bilgi için
android.media.midi
paketinden yararlanın.
Bu makalenin geri kalanında, bir Android cihaz üreticisinin platformda MIDI desteğini etkinleştirin.
MIDI 1.0 aktarımlarını etkinleştirme
MIDI 1.0'ın uygulanması, USB ana makine modu ve USB çevre birimi modu aktarımlarında ALSA'ya bağlıdır. ALSA, BDE ve sanal taşımalarda kullanılmaz.
USB ana makine modu
USB ana makine modunda MIDI'yı etkinleştirmek için önce genel olarak USB ana makine modunu destekleyin ve
Ardından çekirdeğinizde CONFIG_SND_RAWMIDI
ve CONFIG_SND_USB_MIDI
özelliklerini etkinleştirin
yapılandırma. Android Kernel Yapılandırması konusuna bakın.
USB aktarımı üzerinden MIDI, MIDI Cihazları için Evrensel Seri Yol Cihaz Sınıfı Tanımı, Sürüm 1.0 1 Kasım 1999 tarafından yayınlanan standart USB Implementers Forum, Inc.
USB çevre birimi modu
USB çevre birimi modu için MIDI'yı etkinleştirmek üzere yama uygulamanız gerekebilir
drivers/usb/gadget/f_midi.c
öğesini USB aygıtına entegre etmek için Linux çekirdeğinize bağlayın
gerekir. Bu yamalar, Linux çekirdek sürümü için kullanılabilir
3:10. Bu yamalar henüz
ConfigF'ler
(yeni bir mimari
için geçerlidir) veya yayın adımında birleştirilir.
kernel.org adresini ziyaret edin.
Yamalar, kernel/common
projesindeki çekirdek ağacı için taahhüt sırasına göre gösteriliyor
dal android-3.10
:
- https://android-review.googlesource.com/#/c/127450/
- https://android-review.googlesource.com/#/c/127452/
- https://android-review.googlesource.com/#/c/143714/
Ayrıca, aşağıdakilerden birini yapmanız gerekir:
- Ayarlar > Geliştirici seçenekleri > Networking ve Select USB Configuration (USB Yapılandırması Seç) iletişim kutusunda MIDI kutusunu işaretleyin.
- USB ana makinesine takılıyken ekranın üst tarafından aşağı çekin, girişi seçin Şunun için USB: ve ardından MIDI'yı seçin.
BDE
Cihazın BDE'yi desteklemesi durumunda BDE üzerinden MIDI her zaman etkindir.
Sanal (uygulamalar arası)
Sanal (uygulamalar arası) taşıma her zaman etkindir.
Özellik üzerinde hak talebinde bulunma
Uygulamalar,
android.software.midi
özelliği.
MIDI desteği talep etmek için bu satırı device.mk
sayfanıza ekleyin:
PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.software.midi.xml:system/etc/permissions/android.software. midi.xml
Bkz. Android Uyumluluk Tanımlama Belgesi (CDD) için uygunluk şartlarını kontrol edin.
Ana makine modundayken hata ayıklama
USB ana makine modundayken Android Debug Bridge (adb) üzerinden USB üzerinden hata ayıklama özelliği kullanılamaz. Bkz. Kablosuz kullanım bölümünü inceleyin.