MIDI

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:

  1. https://android-review.googlesource.com/#/c/127450/
  2. https://android-review.googlesource.com/#/c/127452/
  3. 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.