Skip to content
Natuurondernemer
    März 6, 2021 by admin

    MIDI

    MIDI
    März 6, 2021 by admin

    Musical Instrument DigitalInterface (MIDI) ist ein Standardprotokoll zur Verbindung von Computern mit Musikinstrumenten, Bühnenbeleuchtung und anderen zeitorientierten Medien.

    Streng genommen hat MIDI nichts mit Audio zu tun. Da MIDI aber häufig im Zusammenhang mit Musik verwendet wird, gehört dieser Artikel in den Bereich Audio.

    MIDI für NDK

    Android 10 macht es einfacher, professionelle Audio-Apps mit MIDI auf die Android-Plattform zu portieren.

    AMidi ist eineNDK-API, die App-Entwicklern die Möglichkeit gibt, MIDI-Daten mit C/C++-Code zu senden und zu empfangen.

    Android-MIDI-Apps verwenden normalerweise die midi-API, um mit dem Android-MIDI-Dienst zu kommunizieren. MIDI-Apps hängen in erster Linie von der MidiManager-Klasse ab, um ein oder mehrere MidiDeviceObjekte zu erkennen, zu öffnen und zu schließen und Daten über die MIDI-Eingangs- und -Ausgangsports des Geräts an das jeweilige Gerät zu übergeben.

    Transporte

    Die im Original MIDI 1.0 ist eine Stromschleife mit 5-poligem DIN-Stecker.

    Seit MIDI 1.0 wurden zusätzliche Transporte definiert, darunter MIDI über USB und MIDI über Bluetooth Low Energy (BLE).

    MIDI für Android

    Android unterstütztUSB On-The-Go, wodurch ein Android-Gerät als USB-Host fungieren kann, um USB-Peripheriegeräte zu betreiben. Die USB-Host-Modus-APIs erlauben es Entwicklern, MIDI über USB auf Anwendungsebene zu implementieren, aber bis vor kurzem gab es keine eingebauten Plattform-APIs für MIDI.

    Beginnend mit der Android 6.0 (Marshmallow) Version können Gerätehersteller optional MIDI-Unterstützung in der Plattform aktivieren. Android unterstützt direkt USB-, BLE- und virtuelle (Interapp-)Transporte.

    Details zur Anwendungsprogrammierung mit den MIDI-APIs finden Sie imandroid.media.midiPaket.

    Der Rest dieses Artikels beschreibt, wie ein Android-Gerätehersteller die MIDI-Unterstützung in der Plattform aktivieren kann.

    Transporte aktivieren

    Die MIDI-Implementierung hängt von ALSA für die Transporte im USB-Host-Modus und im USB-Peripherie-Modus ab.

    Also wird ALSA nicht für die BLE- und virtuellen Transporte verwendet.

    USB-Host-Modus

    Um MIDI für den USB-Host-Modus zu aktivieren, müssen Sie zunächst den USB-Host-Modus generell unterstützen und dann CONFIG_SND_RAWMIDI und CONFIG_SND_USB_MIDI in Ihrer Kernelkonfiguration aktivieren. Siehe Android-Kernelkonfiguration.

    Der MIDI-over-USB-Transport ist formal durch denUniversal Serial Bus Device Class Definition for MIDI Devices Release 1.0 Nov 1, 1999standard definiert, der vomUSB Implementers Forum, Inc.

    USB-Peripheriemodus

    Um MIDI für den USB-Peripheriemodus zu aktivieren, müssen Sie möglicherweise Patches auf Ihren Linux-Kernel anwenden, um drivers/usb/gadget/f_midi.c in den USB-Gadgettreiber zu integrieren. Diese Patches sind für Linux-Kernel Version3.10 verfügbar. Diese Patches wurden noch nicht fürConfigFs(eine neue Architektur für USB-Gadget-Treiber) aktualisiert, noch sind sie bei upstreamkernel.org eingebunden.

    Die Patches werden in der Commit-Reihenfolge für den Kernel-Baum im Projekt kernel/commonBranch android-3.10 angezeigt:

    1. https://android-review.googlesource.com/#/c/127450/
    2. https://android-review.googlesource.com/#/c/127452/
    3. https://android-review.googlesource.com/#/c/143714/

    Sie müssen außerdem einen der folgenden Schritte durchführen:

    • Gehen Sie zu Einstellungen > Entwickleroptionen > Vernetzung und setzen Sie das Häkchen für MIDI im Dialog USB-Konfiguration auswählen.
    • Während Sie mit dem USB-Host verbunden sind, ziehen Sie vom oberen Bildschirmrand nach unten, wählen den EintragUSB für und wählen dann MIDI.

    BLE

    MIDI über BLE ist immer aktiviert, sofern das Gerät BLE unterstützt.

    Virtuell (interapp)

    Der virtuelle (interapp) Transport ist immer aktiviert.

    Funktion beanspruchen

    Apps können das Vorhandensein von MIDI-Unterstützung mit derandroid.software.midi-Funktion überprüfen.

    Um die MIDI-Unterstützung zu beanspruchen, fügen Sie diese Zeile zu Ihrem device.mk hinzu:

    PRODUCT_COPY_FILES += \frameworks/native/data/etc/android.software.midi.xml:system/etc/permissions/android.software.midi.xml

    Informationen zu den Voraussetzungen für die Beanspruchung des Features finden Sie imAndroid Compatibility Definition Document (CDD).

    Debugging im Host-Modus

    Im USB-Host-Modus ist Android Debug Bridge (adb) Debugging über USB nicht verfügbar.

    Eine Alternative finden Sie im Abschnitt „Drahtlose Nutzung von Android Debug Bridge“.

    Previous articleBuprenorphin eine sicherere Alternative bei Opioidabhängigkeit und chronischen Schmerzen bei älteren Menschen?Next article Farbstich

    Schreibe einen Kommentar Antworten abbrechen

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

    Neueste Beiträge

    • Sich selbst (und andere…) in Jahrbüchern online finden
    • Wie man einen Bitcoin-ASIC-Miner einrichtet
    • Chris Martin feiert Geburtstag in Disneyland mit Dakota Johnson
    • Was ist ein Superfund-Standort?
    • Angelköder-Blutwürmer haben Bienenstiche
    • Echolalie: Die Fakten jenseits von „Papageiensprache“, Skripting und Echoing
    • Herr der Fliegen Zitate
    • A Beginner’s Guide to Pegging
    • 42 Healthy Crockpot Soup Recipes
    • 3 überraschende Risiken einer schlechten Körperhaltung

    Archive

    • April 2021
    • März 2021
    • Februar 2021
    • Januar 2021
    • Dezember 2020
    • November 2020
    • Oktober 2020
    • September 2020
    • August 2020
    • Juli 2020
    • Juni 2020
    • Mai 2020
    • April 2020
    • DeutschDeutsch
    • NederlandsNederlands
    • EspañolEspañol
    • FrançaisFrançais
    • PortuguêsPortuguês
    • ItalianoItaliano
    • PolskiPolski

    Meta

    • Anmelden
    • Feed der Einträge
    • Kommentare-Feed
    • WordPress.org
    Posterity WordPress Theme