Конфигурация USB: RNDIS, MTP, PTP, MIDI. Что это такое на телефоне Android?
В режиме разработчика на смартфоне Андроид пользователь может найти массу крайне интересных пунктов меню, которые зачастую вызывают большой интерес. В этой статье мы рассмотрим подраздел «Конфигурация USB» и узнаем, что обозначают пункт этого подраздела.
Для начала откроем режим разработчика. Пример на базе смартфона Samsung. Идем в настройки.
Далее находим раздел «Параметры разработчика» или «Режим разработчика. Если он у вас вдруг отключен, включите его с помощью нашей инструкции.
Включаем режим при необходимости и находим пункт «Конфигурация USB» или «Конфигурация USB по умолчанию» или «Выбор настройки USB», например:
Пример на Huawei:
Видим следующее (Samsung):
Что значит этот подраздел? С его помощью вы можете выбрать, какое действие используется при подключению смартфона к компьютеру или ноутбуку. К примеру, вы можете включить передачу файлов, а можете — только передачу изображений и видео.
Теперь пройдемся по каждому пункту.
Пункты меню
Передача файлов (MTP или Media Transfer Protocol). Передача любых доступных файлов, будь то музыка, видео, фотографии, документы и т.д.
Передача изображений (MTP или Picture Transfer Protocol ). В этом режиме при подключении смартфона к компьютеру или ноутбуку и после разблокировки экрана становится доступна передача изображений, а также видеороликов.
USB-модем (RNDIS или USB Ethernet). Подключается как USB-модем, то есть вы можете использовать смартфон как точку доступа для ПК или ноутбука.
MIDI. Позволяет использовать ваш смартфон как MIDI-устройство.
Аудиоисточник. Использование вашего смартфона как источник вывода звука.
Только зарядка. В этом случае доступ к данным после разблокировки экрана не осуществляется, смартфон лишь заряжается от вашего ПК или ноутбука.
Есть один нюанс. Некоторые смартфоны при выборе одного из режимов используют выбранный вами пункт по умолчанию постоянно. Так, если вы выбрали «Только зарядка», то при подключении смартфона к ПК или ноутбуку каждый раз будет использовать именно указанный вариант подключения. Если выбрали «Передача файлов», то после подключения и разблокировки рабочего стола каждый раз будет доступна файловая система смартфона и для любого компьютера, что может быть опасно в некоторых случаях. Будьте внимательны.
How Android Mutes The Next Billions With Android USB Audio And Android MIDI
In people’s pockets all around the world, there are more 3 billion super-computers that run on either ARM+iOS or ARM+Android. Android boasts 1.4 billion (30 day active) users, and Android’s share of the global smartphone OS market (share in unit shipments) is greater than 80%.
And on not a single one of those Android devices does either USB audio or MIDI — two indisputable, keystone technologies for audio, music creation, production and performance — ‘run’ without crippling problems.
On iOS, aside from orders of magnitude more music production apps than on Android, the burgeoning USB audio/MIDI hardware industry includes plug-and-play, class-compliant devices like USB sound cards, USB mixers, USB microphones, USB headphones, USB recording interfaces (guitar, voice), MIDI keyboards, MIDI button pads, MIDI controllers, MIDI-enabled instruments (such as MIDI wind instruments), synthesizers, effects, drumpads, mixing consoles, DAW workstations and DJ Controllers.
All of which hardware manufacturers would happily release to eager Android users, but can’t.
This means there are entire markets missing from Android. Markets with latent demand, waiting to explode. Markets that would materialize instantaneously on Android.
All because Android doesn’t handle USB audio and MIDI well.
Will the next billions of Android users not get access to these technologies? Speaking of billions, will Google stop leaving billions on the table by not equipping Android devices with the core music and audio technologies that are part and parcel of iOS?
Will Android users remain muted?
State of Android USB Digital Audio Support
USB Audio is an interface designed to allow audio recording and playback between analog peripherals and digital devices such as smartphones and computers. USB Audio hardware is often used to overcome the limitations of a digital device’s built-in audio, with professional audio features such as high audio quality, low latency, multiple channels and various analog audio connectivity options.
Native Android USB support was only introduced with Jelly Bean, Android 4.1 (API level 16) and USB Android audio performance is still severely limited, suffering from multiple issues such as lack of API, high audio latency, fixed bit depth and a limited number of sample rates as illustrated in the Android DVS (Digital Vinyl System) USB Audio Case Study below.
USB (Universal Serial Bus), is an industry standard for connection, communication, and power protocols between a host and its peripherals. For the purposes of this article focusing on mobile audio on Android, the host will be considered to be an Android device (smartphone, tablet or phablet) and peripherals are typically the USB hardware mentioned above.
Android has allowed Android devices to act as host since Honeycomb, Android 3.1 (API level 12). Most Android devices are manufactured with a micro-USB port, which itself does not allow for host operation. As such, an inexpensive ($5) USB On-The-Go (OTG) adapter is required for USB audio operation.
Common USB Android Audio Use Cases include:
- USB audio recording
- USB audio playback
- USB headset for telephony and VOIP
For each of these use-cases, Android automatically routes audio through the Android USB audio path. The Android USB audio path differs from the other audio paths we have described in Android Audio’s 10ms Problem and Rebooting the Android Audio’s 10ms Problem.
The default software USB Audio Stack on Android
- USB audio device connected to the USB host controller
- USB host controller driver
- USB core
- Linux USB audio driver (for class compliant devices)
- ALSA kernel driver
- Android HAL for USB
- AudioFlinger (Android media server)
- AudioTrack (OpenSL ES)
- User Application
Android DVS (Digital Vinyl System) USB Audio Case Study
As a proxy for real-time musical instruments powered by USB audio, we wanted to create the first ever real-time Android DVS (Digital Vinyl System).
A DVS system consists of a DJ turntable playing a ‘control vinyl’ connected to a computer running DJ software via a USB sound card.
This is what DVS sounds and looks like on iOS with USB audio (using DJ Player App built with Superpowered Audio SDK).
The DJ ‘scratches’ the control vinyl back and forth on the turntable. Unlike a regular vinyl record that plays music, the control vinyl emits a single control tone. The control tone then directs the DJ software audio playback by direction (forward/backward), playback speed and position. What is exciting about DVS is that the physical (analog) scratching action makes for fun effects and a great performance with digital audio.
To bring DVS to Android, we connected a Behringer USB sound card to the Nexus 9 tablet with an OTG adapter. The Android audio stack recognized the sound card, but we ran into a number of problems soon after:
- Android is incapable of telling the user application whether the audio is routed via the USB sound card or via the built-in microphone/speaker. But the DVS application depends on USB audio path and is useless with the built-in microphone/speaker audio path.
- Because Android cannot tell us the current audio routing status, there is no programmatic method to tell the user to connect a USB sound card. (In comparison, the iOS USB API allows for this.)
- Android only reports the native sample rate of the built-in audio device, but not the USB sound card available sample rates. Meaning that Android cannot determine programmatically which sample rate to use for low latency audio performance.
- Without the correct sample rate, Android’s audio stack may refuse “Fast Mixer” mode, which is essential for DVS (
Cutting to the chase, the Superpowered USB Audio and MIDI SDK for Android solves all of the above problems. In the case of the Android DVS, it provides glitch-free low latency audio with the very same sound card and the Nexus 9. The round-trip latency is 11 ms with this setup.
Routing, sample rate and buffer size are properly reported and configurable by the Superpowered USB Audio API and all of these features will now be available to +1.1 billion Android devices.
What happens when you connect a USB audio device for playback and/or recording to an Android device?
The Android device may or may not have the appropriate audio driver to handle USB audio. If the device has a USB audio driver and Android’s media server (AudioFlinger) is configured to handle it, then audio can be managed by the Android media server.
It has several severe limitations though:
- It’s impossible to configure it via OpenSL ES for consistent, glitch free, low latency audio on most devices.
- Audio is limited to 2 channels (stereo). For example, if the USB audio device has multiple channels, such as a sound card designed for DJs, then only a single stereo output will work, which makes it effectively useless.
- Audio is limited to 16-bits. For example, if the sound card is designed for 24-bit audio recording for musicians, the user will not be able to fully utilize the sound card’s capability for high quality.
- Audio is limited to maximum 48000 Hz. For example, if the sound card is designed for 96000 Hz playback or recording, the user will not be able to take the advantage of higher audio quality.
Comparison between iOS Core Audio USB Audio, Android USB Audio and Superpowered USB Audio for Android
Beyond the above tabular representation of the facts, what really matters is how do we empower the creative output of Android users?
What will USB MIDI on Android mean to most of the world?
Android USB MIDI
MIDI is the industry standard set of communication protocols that allow digital musical instruments to communicate with one another and with other digital devices to transmit musical information (eg notation, pitch and velocity, volume, vibrato, audio panning, cues, and clock signals). MIDI is the equivalent of the musician’s’ keyboard and mouse.
MIDI is used mostly for live performances, such as musicians playing on a keyboard (piano) or DJs on controllers. Low latency and low jitter (time variation) is paramount for pleasing live performances.
What happens if you connect a USB MIDI device to an Android device?
Currently, only 7.5% of all active Android devices will recognize the MIDI device and handle it appropriately (Android 6.0 and up), the rest — 92.5% of all Android devices — will simply ignore it.
Even if the Android device has Marshmallow installed, the MIDI package by Google is implemented in Java, which hampers real-time communication. The Android MIDI suffers from scheduling problems with the Android Runtime (the virtual machine running Java), and Java’s garbage collection. Even if garbage collection is significantly improved in Android, it still may stop all execution for a few milliseconds, delaying the next stroke on the piano for example.
Comparison between iOS Core MIDI, Android USB MIDI and Superpowered USB MIDI for Android
See our table here. What would making 1.1 billion Android devices MIDI-compliant sound like?
It might sound like this:
Superpowered USB Audio and MIDI SDK for Android
The Superpowered USB Audio and MIDI SDK for Android will fully take over MIDI device handling with none of the limitations described above, providing low latency and low jitter (below 2 ms) access to MIDI devices for 1.1 billion Android devices, that is, 75.6% of all Android devices.
It’s the Android equivalent of iOS Core Audio and Core MIDI for USB devices.
- Fully built-in to the user application (your application).
- No special permissions (such as rooting) are required. There is no additional installable component. It doesn’t install anything.
- I/O is fully independent of the Android Runtime (and Dalvik), with no Java dependency.
- Entirely independent of the Android audio and MIDI stack. It takes over the attached USB audio and MIDI devices.
The Superpowered USB Audio Stack on Android
- USB audio device connected to the USB host controller
- USB host controller driver
- USB core
- Linux USBFS, user space communication (devio.c)
- Superpowered USB Audio library
- User Application
The Superpowered USB Audio and MIDI SDK provides stable, professional, low latency, low jitter, multi-channel audio and MIDI functionality for more than 1 billion active Android devices, letting Android users fully experience and express the sonic power of that Android powered super-computer in their pocket unmuted.
Что такое MIDI через USB на телефоне?
Приветствую всех автолюбителей! Меня зовут Владимир, и сегодня я хотел бы рассказать вам о том, что такое MIDI через USB на телефоне. MIDI, сокращение от Musical Instrument Digital Interface, является стандартом связи для передачи музыкальной информации между различными электронными устройствами.
Как работает MIDI через USB на телефоне?
В основе своей, MIDI через USB на телефоне работает по тому же принципу, что и на других устройствах. Однако, не все телефоны поддерживают такое подключение, поэтому перед приобретением необходимо проверить совместимость вашего устройства.
Для подключения MIDI-клавиатуры или других MIDI-устройств к телефону через USB необходимо выполнить следующие шаги:
- Проверьте наличие USB-порта на вашем телефоне. В большинстве случаев, современные телефоны имеют порт типа USB-C.
- Приобретите адаптер, который позволит подключить устройства с MIDI-выходом к USB-порту вашего телефона.
- Подключите MIDI-клавиатуру или другое MIDI-устройство к адаптеру.
- Подключите адаптер с устройством к USB-порту вашего телефона.
Следует обратить внимание, что не все телефоны автоматически распознают подключенные MIDI-устройства, поэтому может потребоваться дополнительная настройка, например, включение режима USB-отладки.
После правильного подключения MIDI-клавиатуры к телефону через USB, вы сможете использовать ее для музыкальных приложений на вашем телефоне или даже записывать музыку прямо на него.
Преимущества использования MIDI через USB на телефоне
Использование MIDI через USB на телефоне имеет некоторые преимущества:
- Повышенная мобильность: MIDI-клавиатура с USB-подключением довольно компактна и позволяет легко брать ее с собой в поездках.
- Широкий выбор приложений: на рынке существует множество музыкальных приложений для телефонов, которые поддерживают MIDI-интерфейс, поэтому вы сможете выбрать программу, которая лучше всего подходит для ваших потребностей.
- Удобство использования: подключенная MIDI-клавиатура может значительно упростить процесс создания музыки, так как она предоставляет более натуральное и удобное управление в сравнении с экранными клавишами на телефоне.
Интерфейс MIDI через USB на телефоне открывает новые возможности для меломанов, музыкантов и звукорежиссеров, позволяя им легко создавать и записывать музыку с помощью устройств, которые они уже используют в своем хобби или профессии. При выборе MIDI-устройств и адаптеров следует обратить внимание на их совместимость с вашим телефоном, чтобы наслаждаться музыкой без ограничений.
Частый вопрос: что такое MIDI на телефоне Android?
Цифровой интерфейс музыкальных инструментов (MIDI) — это стандартный протокол для соединения компьютеров с музыкальными инструментами, сценическим освещением и другими носителями, ориентированными на время.
Как использовать MIDI на Android?
На устройстве Android A:
- Проведите пальцем вниз от верхнего края экрана.
- Выберите значок USB для зарядки.
- Выберите MIDI.
- Запустите приложение MidiKeyboard.
- Выберите Android USB Peripheral Port в меню Receiver for Keys вверху.
Что значит использовать устройство как MIDI?
Обычно опция «Использовать устройство как MIDI» предназначена для прием / передача MIDI через USB от / до приложений Android (которые поддерживают MIDI) или внешние MIDI-устройства (напрямую подключенные к устройству Android через USB).
Как использовать MIDI на моем телефоне?
Подключение MIDI-клавиатуры к устройству Android: пошаговое руководство (с изображениями!)
- 1) Установите, какое у вас соединение на телефоне / планшете. …
- 2) Определите, какой тип соединения у вас есть на вашей MIDI-клавиатуре. …
- 3) Закажите себе переходной кабель. …
- 4) Подключите 5-контактный кабель USB или MIDI к MIDI-клавиатуре.
Что на самом деле делает MIDI?
MIDI — это стандарт связи, позволяет цифровому музыкальному оборудованию говорить на одном языке. MIDI — это сокращение от Musical Instrument Digital Interface. Это протокол, который позволяет компьютерам, музыкальным инструментам и другому оборудованию обмениваться данными.
Могу ли я подключить MIDI-клавиатуру к своему Android-устройству?
Во-первых, вам понадобится кабель, который подключается непосредственно к клавиатуре. В зависимости от модели вашей клавиатуры это либо Конвертер кабеля MIDI в USB или кабель USB типа A — B. Оба кабеля позволяют подключить клавиатуру к компьютеру, устройству Android или Apple для передачи MIDI-данных.
Как подключить клавиатуру Android?
Вот как вы это делаете:
- Включите Bluetooth на обоих устройствах.
- В списке ближайших устройств Bluetooth выберите клавиатуру. Если потребуется, укажите пин-код. Обычно это «0000».
- Клавиатура подключится, и вы сможете начать печатать.
Что означает MIDI через USB?
Это означает, что вы можете подключить свое MIDI-устройство прямо к компьютеру, вообще не требуя интерфейса (при условии, что на вашем компьютере достаточно свободных USB-портов).
MIDI то же самое, что и MTP?
Передача файлов (MTP) позволяет копировать файлы между телефоном и компьютером с помощью протокола передачи мультимедиа. … MIDI — это вариант, который вы будете использовать, если хотите подключить MIDI-устройство — что-то вроде MIDI-клавиатуры — к своему телефону или планшету и использовать приложение-синтезатор для создания музыки.
Что такое MIDI и PTP в USB?
МИДИ: Используется при подключении телефона к MIDI-устройству (например, цифровая клавиатура). PTP: при подключении ваше устройство будет отображаться на ПК как цифровая камера. Без передачи данных: Никаких действий не предпринимается.
Могу ли я использовать свой телефон в качестве MIDI-контроллера?
MIDI — это аббревиатура от Musical Instrument Digital Interface. … С появлением смартфонов и повсеместным использованием сторонних приложений мы теперь можем использовать приложение для позвольте нашему телефону общаться через протокол MIDI в нашу DAW. По сути, это превращает наш смартфон или Android-устройство в MIDI-контроллер.
Как работает MIDI-секвенсор?
MIDI-секвенсор позволяет пользователю записывать и редактировать музыкальное исполнение без использования аудиоисточника. Выступление записывается как серия событий, которые обычно воспроизводятся с помощью клавишного инструмента. … Эти данные затем воспроизводятся в MIDI-инструменте или звуковом модуле.
MIDI лучше, чем USB?
USB намного быстрееи так же надежен, как MIDI-кабель. Внешний дисковод с подключением USB без проблем передает данные в тысячи раз быстрее, чем один MIDI-инструмент! Если вы хотите использовать очень длинные кабели, например, для работы на сцене, MIDI может быть лучшим вариантом.