Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 30/12/2014, à 21:19

temps

[résolu avec sox] Format flux audio libre

Bonjour,
Je suis à la recherche des formats de flux audio libre.
Je pense qu'ils se nomment "streaming "
Ainsi que des liens sur les docs permettant leur programmation.

peut être en mappant avec ffmpeg ?

L'idée je génère mon fichier audio en comptant le temps, arrivé à une valeur j'utilise ffmpeg pour commencer à lire ce qui a été déjà généré pendant que mon appli continu de générer la suite du fichier.

Cordialement

Dernière modification par temps (Le 01/01/2015, à 12:16)


Parce que l'USB bootable est le support des systèmes experts,
Parce que l'USB bootable contient sa propre image au démarrage.
L'USB bootable permet de créer un monde à la dimension de son imagination
https://www.letime.net

Hors ligne

#2 Le 30/12/2014, à 21:41

wido

Re : [résolu avec sox] Format flux audio libre

Bonjour,

format audio libre:

http://doc.ubuntu-fr.org/flach
https://fr.wikipedia.org/wiki/Ogg
https://fr.wikipedia.org/wiki/Format_ouvert#Multimedia

Dernière modification par wido (Le 30/12/2014, à 21:41)

Hors ligne

#3 Le 30/12/2014, à 21:50

temps

Re : [résolu avec sox] Format flux audio libre

Bonjour,
Merci pour la réponse, mais elle est à coté de la question et ne m'aide pas.
Le premier lien mène nul par.
le deuxième est sur un format audio avec perte.
Le troisième ne mène pas non plus aux flux.

J'aurai peut-être du poser la question :
Existe-t-il un flux audio libre sans perte (PCM) ?

Cordialement


Parce que l'USB bootable est le support des systèmes experts,
Parce que l'USB bootable contient sa propre image au démarrage.
L'USB bootable permet de créer un monde à la dimension de son imagination
https://www.letime.net

Hors ligne

#4 Le 30/12/2014, à 22:06

temps

Re : [résolu avec sox] Format flux audio libre

Pour donner plus de détail à la question, voici l'idée de principe avec ffmpeg :

Je fork la génération des fichiers audio demandés.
Arrivé à une certaine valeur du fichier audio générée
Je demande à ffmpeg de récupérer et de mixer pendant que la suite continue d'être générée.

ffmpeg -i 1.wav -map 0:1 -c:a 1bis.wav
ffmpeg -i 2.wav -map 1:0 -c:a 2bis.wav

fmpeg -i 1bis.wav -i 2bis.wav -map 0:0 -map 0:1 -map 1:0 -c copy   mixed.wav

Cordialement

P.S j'ai commencé à créer mes fork sur la création des fichiers, mais en l'état ça ne marche pas car je dois ajouter des repères pour indiquer l'état d'avancement avant de lancer la lecture. Pour cela j'ai besoin de savoir si le fork a fini son action, de manière à pouvoir synchroniser les pistes audio.
J'imagine bien placer des variables dans les fork mais il faut introduire dans le code une fonction attente jusqu'à ce que la variable autorise la continuation du programme.

Dernière modification par temps (Le 30/12/2014, à 23:52)


Parce que l'USB bootable est le support des systèmes experts,
Parce que l'USB bootable contient sa propre image au démarrage.
L'USB bootable permet de créer un monde à la dimension de son imagination
https://www.letime.net

Hors ligne

#5 Le 31/12/2014, à 05:33

temps

Re : [résolu avec sox] Format flux audio libre

Bonjour,
Je poste en résolu.
J'ai une première version qui marche.
Je compte l'améliorer et aussi créer mes propres fonctions de mix(j'ai déjà créé dans d'autres appli cette fonction, c'est très simple, il suffit de mettre dans le tableau des valeur, *0.5 pour 2 piste, *0.33 pour trois pistes ... puis aditionner, l'inconvénient c'est qu'il y aura un convertisseur différent pour chaque nombre de piste mixé, soit 16 convertisseurs différents, soit encore un application légèrement plus lourde, mais bien plus rapide en lecture)
En fait le concept :
je fork le lancement des créations de fichier, je piste avec des return, au moment je lance la lecture dans une class dédiée qui regarde que tout va bien, (en dehors de la class principale qui a lancé les fork).
Je mettrai en ligne bientot le temps de tout arranger

En exemple de code qui marche pour lancer la lecture du flux avant que le fichier audio soit généré entièrement

calculdepartlecture +=(double)(nbdepoints);


if((calculdepartlecture>44100)&&(dejafait<1))
{
dejafait =5;
if(!fork())
   {
system("play -t wav --ignore-length -r 44100 -e signed-integer -b 16 -c 1 1.wav");
    perror("Ceci ne devrait pas arriver.");
    exit(-1);
   }
dejafait =5;
}

calculdepartlecture me sert à attendre 1 seconde de musique écrite, un minimum générée avant de commencer la lecture, et ensuite je lis le fichier alors même qu'il est entrain de se générer avec un fork. (finalement l'application utilisé pour lire le flux est sox)

En reprenant l'écriture de manière à avoir mes propre mix sans passer par sox, je me suis apercu que je générai un fichier .jo que je convertissais en wav à l'ajout de chaque nouvelle forme (500 forme -->1000 fichiers écrit), j'ai déplacé la demande d'action 2 ligne plus bas pour ne généré qu'un seul .jo et un sel wav. la génération de fichier audio est devenue tellement rapide que je me demande si la lecture du flux avant la génération complète ne sert plus qu'à prouver que c'est possible.

Cordialement

Dernière modification par temps (Le 01/01/2015, à 12:15)


Parce que l'USB bootable est le support des systèmes experts,
Parce que l'USB bootable contient sa propre image au démarrage.
L'USB bootable permet de créer un monde à la dimension de son imagination
https://www.letime.net

Hors ligne