J'ai un échantillon, une application plutôt inutile, qui génère un signal (courte pointe d'une certaine fréquence, suivi d'une période de silence plus longue, à la queue), que je dois ensuite écrire sur la carte son. La carte son est simplement bouclée avec un câble minijack-minijack. Donc, mon application enregistre simplement le signal transmis, afin de détecter la latence du chemin suivant:
app-> driver-> dac-> lineout-> linein-> adc-> driver-> app
Tout d’abord, pour ma tâche, j’ai besoin de minimiser le temps de latence, de dépasser la plage inférieure à la milliseconde. 0,01-0,1 ms satisfera, car il s’agit d’une application de sonar sur une plate-forme PC.
Et deuxièmement, je voudrais pouvoir passer du remplissage du tampon entier au travail avec un échantillon individuel. Ou tout au plus minimiser la taille de la mémoire tampon pour la rendre aussi courte que possible. J'ai calculé besoin de 16 échantillons ou plus à 192 kHz. Parfaitement est de travailler avec des échantillons individuels en temps réel, j'ai entendu dire que c'est possible.
Alors, comment puis-je "activer le temps réel"? et de quel genre dois-je avoir besoin en temps réel - dur ou mou?
Réponses:
Vérifiez votre gestionnaire de paquets pour la version "rt" de votre linux-image (noyau). Une autre option serait de recompiler votre noyau avec le correctif "rt".
Pour une très bonne explication sur le noyau temps réel, voir ce lien .
la source
Csound offre une lecture audio en temps réel via la ligne de commande.
http://csound.github.io/download.html
http://www.csounds.com/manual/html/UsingRealTime.html
Vous devez télécharger et installer Csound et l’utiliser à la place de votre périphérique audio par défaut.
Csound est une solution "douce".
la source