Script de conversion de fichier son avec SoX

Fermé
guewini - 27 mai 2008 à 11:34
pibarze Messages postés 39 Date d'inscription jeudi 29 mai 2008 Statut Membre Dernière intervention 5 juin 2008 - 2 juin 2008 à 13:19
Bonjour,

Je me trouve face à un problème assez complexe (du moins pour moi ^^). Je ne connait rien à Linux, ni aux fichiers sons, mes compétences sont sur le PHP mais même de ce côté la je ne sais pas trop comment je vais faire et je dois pouvoir :

- récupérer un fichier son, au format G711 voix A, transmis par HTTP à un serveur Linux ; ce son aura été enregistré via un serveur vocal depuis un téléphone mobile.
- convertir ce fichier au format WAV standard (je ne sais pas vraiment à quoi ça correspond) avec un outil tel que Sox

Voici ma réflexion :

- la requête HTTP se fera sur un script PHP qui réalisera l'upload du fichier son un peu comme si il avait été transmis via un formulaire HTML (mais je ne suis sûr de rien)
- une fois le fichier son, au format G711 voix A, sur le serveur, une ligne de commande (dont je ne connait pas la syntaxe) fera appel à SoX pour la conversion au format WAV (je ne sais pas non plus comment rendre l'appel à la ligne de commande automatique ... sera-t-elle dans un script à part appelé par PHP ? ou PHP peut-il, avec une syntaxe qui m'est inconnue, faire cet appel ?)

Je suis preneur de toutes les informations possibles, mêmes partielles. Je ne suis même pas sûr de ma réflexion, ni de la pertinence de l'utilisation du PHP ... aidez-moi s'il vous plaît ! Merci d'avance
A voir également:

6 réponses

Rebonjour,

une petite correction : il ne s'agit pas de voix A mais de Loi A apparemment ^^ (comme quoi je suis largué)
0
up ^^
0
pibarze Messages postés 39 Date d'inscription jeudi 29 mai 2008 Statut Membre Dernière intervention 5 juin 2008 12
30 mai 2008 à 15:09
Si le fichier est envoyé par HTTP, PHP me paraît être une bonne idée.

As-tu un exemple de fichier son G711 Loi A ?
Es-tu obligé d'utiliser SoX ?

Tu as plusieurs possibilités pour exécuter un programme externe au travers de PHP :
https://www.php.net/exec
0
Bonjour,

Hem hem ... j'ai un peu honte, je laisse le post en plan sans donner d'éléments de réponse alors que j'ai un peu avancé de mon côté.

J'ai fait installé SoX sur le serveur en question et j'ai pu faire une petite conversion, via php et la fonction exec (effectivement), d'un .wav vers un .ogg ; pour l'instant ma ligne de commande ne précise aucune option (donc c'est vraiment basic) et ça marche !

Si je suis obligé d'utiliser SoX ? je ne sais pas trop ^^ disons que le bonhomme du serveur vocal me l'a conseillé et moi bonne poire j'ai suivi son conseil, sachant que ça marche je ne reviendrait surement pas dessus :)

Je n'ai pour l'instant pas de fichier exemple, ce qui m'ennuie car je ne sais vraiment pas quelle tête ça peut avoir un fichier G711 a-law (je veux dire quelle extension) et qu'en plus il m'a dit un truc du genre : "un fichier au format G711 loi A encapsulé dans un WAV" o_0 ... mystère ... que va me faire SoX si je lui dit :
sox test.wav test.wav (à traduire par : convertir test.wav en test.wav ... arf)

Mes interrogations sont maintenant :
- vais-je pouvoir traiter le transfert du fichier son comme un fichier transmis par un formulaire HTML (avec $_FILES et toute la procédure d'upload qui va bien) ?
- quelle va être la ligne de commande pour ma conversion de fichier ?
(c'est presque pareil qu'avant mais pas tout à fait ^^)

Voila ! Merci de vos réponses !
0
pibarze Messages postés 39 Date d'inscription jeudi 29 mai 2008 Statut Membre Dernière intervention 5 juin 2008 12
30 mai 2008 à 21:26
A ta première question je répondrai : oui, mais attention à la taille max du fichier
A ta seconde je répondrai qu'il vaudrait mieux que ton fichier en sortie n'ait pas le même nom que celui en entrée.
Ensuite pour les options de SoX, tu peux essayer la documentation de sox en faisant
man sox
D'après ce que j'ai cru voir avec SoX tu devrais pouvoir générer des fichiers A Law à partir de WAV "de base"
Ca pourrait déjà être un exercice...

Pour info, audacity permet aussi d'exporter des fichiers en A Law (en fouillant bien dans les options d'exportation)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Merci pour les infos.
J'essaye tout ça dès Lundi, à suivre ...
0
Bonjour,

J'ai reçu quelques infos:

conversion wav -> G711 a-law (extension libre) : sox test_in.wav -t AL -r 8000 test_out.ext

conversion G711 a-law -> wav : sox -t AL test_out.ext test_out.wav
0
pibarze Messages postés 39 Date d'inscription jeudi 29 mai 2008 Statut Membre Dernière intervention 5 juin 2008 12
2 juin 2008 à 13:19
Bon ben il te reste l'upload de fichier, en tapant php file upload dans google tu devrais trouver des explications détaillées...
0