Skip to content
Natuurondernemer
    marzo 6, 2021 by admin

    MIDI

    MIDI
    marzo 6, 2021 by admin

    La Interfaz Digital de Instrumentos Musicales (MIDI) es un protocolo estándar para interconectar ordenadores con instrumentos musicales, iluminación de escenario y otros medios orientados al tiempo.

    En sentido estricto, MIDI no está relacionado con el audio. Pero debido a que el MIDI se utiliza comúnmente con la música, este artículo se coloca en la sección de audio.

    MIDI para NDK

    Android 10 hace que sea más fácil portar aplicaciones de audio profesionales que utilizan MIDI a la plataforma Android.

    AMidi es una API del NDK que ofrece a los desarrolladores de aplicaciones la posibilidad de enviar y recibir datos MIDI con código C/C++.

    Las aplicaciones MIDI de Android suelen utilizar la midi API para comunicarse con el servicio MIDI de Android. Las MIDIapps dependen principalmente de la clase MidiManager para descubrir, abrir y cerrar uno o más MidiDeviceobjetos, y pasar los datos hacia y desde cada dispositivo a través de los puertos de entrada y salida MIDI del dispositivo.

    Transportes

    La capa de transporte física especificada en el MIDI original 1.0 es un bucle de corriente con un conector DIN de 5 pines.

    Desde MIDI 1.0, se han definido transportes adicionales, incluyendo MIDI sobre USBy MIDI sobreBluetooth Low Energy(BLE).

    MIDI para Android

    Android soportaUSB On-The-Go, lo que permite que un dispositivo Android actúe como un host USB para manejar periféricos USB. Las API del modo anfitrión USB permiten a los desarrolladores implementar MIDI a través de USB a nivel de aplicación, pero hasta hace poco no existían API de plataforma integradas para MIDI.

    A partir de la versión de Android 6.0 (Marshmallow), los fabricantes de dispositivos pueden habilitar el soporte opcional de MIDI en la plataforma. Android admite directamente los transportes USB, BLE y virtual (interapp).Android admite MIDI 1.0 a través de un adaptador externo.

    Para obtener detalles sobre la programación de aplicaciones con las API de MIDI, consulte elandroid.media.midipaquete.

    El resto de este artículo analiza cómo un fabricante de dispositivos Android puedehabilitar la compatibilidad con MIDI en la plataforma.

    Habilitar los transportes

    La implementación de MIDI depende de ALSA para los transportes en modo host USB y en modo periférico USB.ALSA no se utiliza para los transportes BLE y virtual.

    Modo host USB

    Para habilitar el MIDI para el modo host USB, primero soporta el modo host USB en general, y luego habilita CONFIG_SND_RAWMIDI y CONFIG_SND_USB_MIDI en la configuración de tu kernel. Consulte la configuración del kernel de Android.

    El transporte MIDI sobre USB está formalmente definido por el estándarUniversal Serial Bus Device Class Definition for MIDI Devices Release 1.0 Nov 1, 1999 publicado por elUSB Implementers Forum, Inc.

    Modo periférico USB

    Para habilitar el MIDI para el modo periférico USB, es posible que necesite aplicar parches a su kernel de Linux para integrar drivers/usb/gadget/f_midi.c en el gadgetdriver USB. Estos parches están disponibles para la versión 3.10 del kernel de Linux. Estos parches aún no han sido actualizados paraConfigFs(una nueva arquitectura para los controladores de gadgets USB), ni están fusionados en upstreamkernel.org.

    Los parches se muestran en orden de commit para el árbol del kernel en el proyecto 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/
    4. También tienes que hacer cualquiera de las siguientes cosas:

    • Ir a Configuración > Opciones de desarrollador > Redes y marcar la casilla de MIDI en el cuadro de diálogo Seleccionar configuración USB.
    • Mientras está conectado al host USB, tire hacia abajo desde la parte superior de la pantalla, seleccione la entradaUSB para, y luego seleccione MIDI.

    BLE

    El MIDI sobre BLE está siempre activado, siempre que el dispositivo sea compatible con BLE.

    Virtual (interapp)

    El transporte virtual (interapp) está siempre activado.

    Reclamación de la función

    Las aplicaciones pueden comprobar la presencia de soporte MIDI mediante la funciónandroid.software.midi.

    Para reclamar la compatibilidad con MIDI, añade esta línea a tu device.mk:

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

    Consulta el documento de definición de compatibilidad (CDD) de Android para obtener información sobre los requisitos para reclamar la función.

    Depuración en modo anfitrión

    Mientras esté en modo anfitrión USB, la depuración de Android Debug Bridge (adb) a través de USB no está disponible.

    Previous articleLa buprenorfina es una alternativa más segura para el trastorno por consumo de opiáceos y el dolor crónico en los ancianos?Next article Tinte de color

    Deja una respuesta Cancelar la respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Entradas recientes

    • Encontrarte a ti mismo (y a los demás…) en los anuarios online
    • Cómo configurar un minero ASIC de bitcoin
    • Chris Martin cumple años en Disneylandia con Dakota Johnson
    • ¿Qué es un sitio del Superfondo?
    • Los gusanos de la sangre con cebo de pesca tienen picaduras de abeja
    • 42 recetas de sopa de olla de cocción lenta saludables
    • 3 sorprendentes riesgos de una mala postura
    • Peces Betta hembra
    • ¿Qué son las corrientes oceánicas?
    • Nike se gastó 15.000 dólares en una máquina especial sólo para fabricar las zapatillas del pívot de Florida State Michael Ojo

    Archivos

    • abril 2021
    • marzo 2021
    • febrero 2021
    • enero 2021
    • diciembre 2020
    • noviembre 2020
    • octubre 2020
    • septiembre 2020
    • agosto 2020
    • julio 2020
    • junio 2020
    • mayo 2020
    • abril 2020
    • DeutschDeutsch
    • NederlandsNederlands
    • EspañolEspañol
    • FrançaisFrançais
    • PortuguêsPortuguês
    • ItalianoItaliano
    • PolskiPolski

    Meta

    • Acceder
    • Feed de entradas
    • Feed de comentarios
    • WordPress.org
    Posterity WordPress Theme