2013-02-07 1 views
5

Je veux faire un concept pour une interface en temps réel pour l'interaction audio, donc une réelle faible latence est essentielle. J'ai beaucoup lu sur ce sujet la semaine dernière, mais il est impossible d'avoir une vue d'ensemble en si peu de temps. Donc, avant de creuser vraiment profondément, j'ai besoin d'évaluer la faisabilité de ce projet. J'ai beaucoup lu sur les problèmes avec Android et les applications audio à faible latence et je sais que iOS est bien supérieur dans ce domaine, mais je préfère Android quand c'est possible. (Je n'ai pas un mac qui est essentiel pour le développement iOS, et je viens comme le plus « ouvert » Andoid plus)La latence OSC/Midi (pas d'audio) est-elle faible sur Android?

Ma question sont:

  1. Est-ce le mauvais comportement à faible latence seulement lié au tampon/traitement audio réel, ou affecte-t-il aussi les applications midi ou OSC seulement? Pour moi, l'interface est la partie importante - cela signifie que je peux juste obtenir des commandes midi/OSC qui sont traitées sur un PC séparé.

  2. J'ai besoin d'une latence globale faible (de l'événement tactile à la sortie de commande). Est-ce aussi un problème avec Android par rapport à iOS?

Répondre

2

La latence est principalement fonction du tampon audio. Il y a une discussion approfondie sur les derniers développements ici:

http://createdigitalmusic.com/2012/07/android-high-performance-audio-in-4-1-and-what-it-means-plus-libpd-goodness-today/

Tl, version dr: Galaxy Nexus est capable de 12ms de latence de la mémoire tampon audio de Jelly Bean. J'ai lu ailleurs que le Nexus 10 et le Nexus 4 peuvent faire la même chose, mais le Nexus 7 est à la traîne.

Et voici une discussion un peu plus technique qui vous conduira aussi à une bibliothèque qui utilise Open SL pour atteindre une faible latence:

https://github.com/libpd/pd-for-android/wiki/Low-latency-support-for-compliant-devices

2

latence lente de son Android est lié sur la longueur de la mémoire tampon sonore de l'appareil.

J'ai comparé avec mon ancienne tablette (Android 3.2, Acer ICONIA Tab A500).
La latence de transfert d'un événement MIDI (Note-on) était de 12 ms en moyenne.
Je pense que les applications sans audio peuvent faire assez. J'ai créé la référence avec Java. L'utilisation du NDK Android aura de meilleures performances.

+0

Merci, c'est le genre d'information que je cherche! 12 ms ne semble pas très bon, mais il est proche d'un niveau utilisable. Puis-je vous demander comment vous l'avez mesuré un peu plus en détail pour mieux comprendre ce que les 12 ms signifient dans ce contexte? La description approximative de la configuration de mesure serait particulièrement intéressante. –

+0

J'ai écrit le programme de référence comme ci-dessous. 1. Envoyez un paquet MIDI de Mac à Android, avec le câble USB MIDI. 2. Android reçoit un paquet MIDI. Ensuite, l'Android envoie le MIDI au Mac immédiatement. 3. Mac reçoit le MIDI, puis le Mac enregistre la durée. Il a fallu 24 ms en moyenne. Cette durée contient les deux sens de transfert; envoyer et recevoir. Donc, j'ai évalué la latence de direction à sens unique comme 12 mSec. – kshoji

Questions connexes