Skip to content
Natuurondernemer
    6 marca, 2021 by admin

    MIDI

    MIDI
    6 marca, 2021 by admin

    Musical Instrument DigitalInterface (MIDI) jest standardowym protokołem do łączenia komputerów z instrumentami muzycznymi, oświetleniem scenicznym i innymi mediami zorientowanymi na czas.

    Prawdę mówiąc, MIDI nie jest związane z audio. Ale ponieważ MIDI jest powszechnie używane z muzyką, ten artykuł jest umieszczony w sekcji audio.

    MIDI dla NDK

    Android 10 ułatwia przenoszenie profesjonalnych aplikacji audio wykorzystujących MIDI na platformę Android.

    AMidi to API NDK, które daje programistom możliwość wysyłania i odbierania danych MIDI za pomocą kodu C/C++.

    Androidowe aplikacje MIDI zazwyczaj używają midi API do komunikacji z Androidową usługą MIDI. MIDIapps głównie zależą od klasy MidiManager do odkrywania, otwierania i zamykania jednego lub więcej MidiDeviceobiektów, i przekazywania danych do i z każdego urządzenia poprzez porty wejściowe i wyjściowe MIDI urządzenia.

    Transporty

    Fizyczny transportplayerpecified w oryginalnym MIDI 1.0 jest pętla prądowa z 5-pinowym złączem DIN.

    Od MIDI 1.0 zostały zdefiniowane dodatkowe transporty, w tym MIDI over USB i MIDI overBluetooth Low Energy(BLE).

    MIDI dla Androida

    Android wspieraUSB On-The-Go, który pozwala urządzeniu z Androidem działać jako host USB do obsługi urządzeń peryferyjnych USB. Interfejsy API trybu hosta USB pozwalają programistom na implementację MIDI przez USB na poziomie aplikacji, ale do niedawna nie było wbudowanych interfejsów API platformy dla MIDI.

    Począwszy od wydania Android 6.0 (Marshmallow), producenci urządzeń mogą włączyć opcjonalne wsparcie MIDI w platformie. Android bezpośrednio obsługuje USB, BLE, i wirtualne (interapp) transporty.Android obsługuje MIDI 1.0 poprzez zewnętrzny adapter.

    Dla szczegółów na temat programowania aplikacji z MIDI API, zobaczandroid.media.midipackage.

    Reszta tego artykułu omawia jak producent urządzeń z Androidem może włączyć wsparcie MIDI w platformie.

    Włączanie transportów

    Implementacja MIDI zależy od ALSA dla transportów USB host mode i USB peripheral mode.ALSA nie jest używana dla BLE i transportów wirtualnych.

    Tryb hosta USB

    Aby włączyć MIDI dla trybu hosta USB, najpierw wspieraj tryb hosta USB ogólnie, a następnie włącz CONFIG_SND_RAWMIDI i CONFIG_SND_USB_MIDI w konfiguracji kernela. Zobacz Android Kernel Configuration.

    Transport MIDI over USB jest formalnie zdefiniowany przezUniversal Serial Bus Device Class Definition for MIDI Devices Release 1.0 Nov 1, 1999standard opublikowany przezUSB Implementers Forum, Inc.

    Tryb peryferyjny USB

    Aby włączyć MIDI dla trybu peryferyjnego USB, możesz potrzebować zastosować poprawki do jądra Linuksa by zintegrować drivers/usb/gadget/f_midi.c do gadgetdrivera USB. Te poprawki są dostępne dla jądra Linux w wersji 3.10. Łatki te nie zostały jeszcze uaktualnione dla ConfigFs (nowa architektura dla sterowników gadżetów USB), ani nie są połączone na upstreamkernel.org.

    Łatki są pokazane w kolejności commitów dla drzewa jądra w projekcie kernel/commonbranch 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/

    Musisz również wykonać jedną z następujących czynności:

    • Przejść do Ustawienia > Opcje deweloperskie > Sieć i zaznaczyć pole dla MIDI w oknie dialogowym Wybierz konfigurację USB.
    • Podłączając się do hosta USB, pociągnij w dół od góry ekranu, wybierz pozycjęUSB for, a następnie wybierz MIDI.

    BLE

    MIDI over BLE jest zawsze włączone, pod warunkiem, że urządzenie obsługuje BLE.

    Virtual (interapp)

    Transport wirtualny (interapp) jest zawsze włączony.

    Zgłoszenie funkcji

    Aplikacje mogą sprawdzać obecność obsługi MIDI za pomocą funkcjiandroid.software.midi.

    Aby zażądać obsługi MIDI, dodaj tę linię do swojej aplikacji device.mk:

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

    Zapoznaj się z dokumentem CDD (Android Compatibility Definition Document), aby uzyskać informacje na temat wymagań, które należy spełnić, aby zażądać tej funkcji.

    Debugowanie w trybie hosta

    W trybie hosta USB, debugowanie Android Debug Bridge (adb) przez USB jest niedostępne.Zobacz sekcję Wireless usage w Android Debug Bridge, aby uzyskać alternatywę.

    Debugowanie w trybie hosta USB jest niedostępne.

    Previous articleBuprenorfina bezpieczniejszą alternatywą w leczeniu zaburzeń związanych z używaniem opioidów i przewlekłego bólu u osób starszych?Next article Obsada barwna

    Dodaj komentarz Anuluj pisanie odpowiedzi

    Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

    Najnowsze wpisy

    • Znalezienie siebie (i innych…) w rocznikach online
    • Jak skonfigurować Bitcoin ASIC miner
    • Chris Martin ma urodziny w Disneylandzie z Dakotą Johnson
    • Co to jest teren Superfund?
    • Fishing-bait bloodworms have bee-sting bites
    • Władca Much
    • A Beginner’s Guide to Pegging
    • 42 Healthy Crockpot Soup Recipes
    • Tina Fey Biografia
    • Nike wydało 15 000 dolarów na specjalną maszynę tylko po to, aby Florida State center Michael Ojo’s shoes

    Archiwa

    • Kwiecień 2021
    • Marzec 2021
    • Luty 2021
    • Styczeń 2021
    • Grudzień 2020
    • Listopad 2020
    • Październik 2020
    • Wrzesień 2020
    • Sierpień 2020
    • Lipiec 2020
    • Czerwiec 2020
    • Maj 2020
    • Kwiecień 2020
    • DeutschDeutsch
    • NederlandsNederlands
    • EspañolEspañol
    • FrançaisFrançais
    • PortuguêsPortuguês
    • ItalianoItaliano
    • PolskiPolski

    Meta

    • Zaloguj się
    • Kanał wpisów
    • Kanał komentarzy
    • WordPress.org
    Posterity WordPress Theme