Page 1 sur 1

Faire une boucle avec du MP3

Publié : 21 sept. 2012, 20:18
par gdubrez
Bonjour tout le monde! Voici mon premier post sur SDO!

Que je vous explique :

On m'a demandé de faire une boucle (ambiance et musique) pour du support internet et Flash (pour du Jeu Vidéo). Les conditions : que ce soit du .mp3 et que ce ne soit pas lourd à downloader pour l'utilisateur (donc compression à 22050Hz à 32kbps... oui oui ça existe et en mono s'il vous plait :shock: ).

Donc gentillement, je dis oui en essayant de me battre un peu sur le taux de compression mais rien n'y fait.

Je fais mes petites affaires dans Pro Tools... tout se déroule bien et ça boucle bien. Je bounce donc et je me mets à compresser mes sons.
Je vérifie si mes sons vont bien du point A au point B... bien.

Et là malheur, ça ne boucle pas bien me dit l'intégrateur. Flute! Pourquoi?!

Je ré-importe mes sons dans Pro Tools et remarque effectivement que j'ai du delay. J'me dis donc : Existe-t-il un rapport avec la compression? Ou autre chose?!

J'ai donc effectuer ma petite comparaison : Sous Pro Tools j'ai généré un 1kHz sur 1 seconde. Je l'ai ensuite exporter en .wav (48kHz 24 bits) pour le soumettre à différent convertisseur que j'ai à portée de main qui sont : - Nuendo, Audacity et SUPER de eRightSoft.
J'y ai fais une conversion .mp3 à 320kbps 48kHz et 24bits dans tous ces soft. et voici mon résultat :

Image

La conversion .mp3 me créer un décalage.
Résultats :
Audacity : 36ms de décalage (soit 1728 samples)
Nuendo : 14ms de décalage (soit 672 samples)
SUPER : 12ms de décalage (soit 576 samples)

Mais ce n'est pas tout !

Image

La conversion .mp3 me rajoute aussi des samples à la fin de mes échantillons!
Résultats :
Audacity : 24ms de décalage (soit 1162 samples)
Nuendo : 15ms de décalage (soit 722 samples)
SUPER : 16ms de décalage (soit 769 samples)

Il m'est donc impossible de faire quelque chose qui boucle correctement sans entendre une coupure.

Ma question est donc toute simple : A quoi cela est du? C'est ma machine qui me génère ça? Ce sont les softs (le plus probable selon moi)? Ou c'est tout simplement l'encodage MP3 qui créer cela? Et avez-vous déjà eu ce genre de problème avec le MP3?

Merci!

Re: Faire une boucle avec du MP3

Publié : 21 sept. 2012, 20:45
par Blast
Des explications, notamment dans la partie 2 de cette page ( si tu lis l'anglais )
http://www.compuphase.com/mp3/mp3loops.htm

[Edit]Sinon, ici, on peut lire qu'il serait possible de demander à Flash de sauter le gap de début et de fin (et indique comment en calculer la longueur).

Re: Faire une boucle avec du MP3

Publié : 21 sept. 2012, 21:36
par gdubrez
Merci pour ta réponse!

Le premier lien est vraiment super intéressant, je vais le filer à mon intégrateur qui se posait la même question que moi sur le format mp3!

Je ne pensais pas que l'encodage mp3 était si pourri que ça pour créer un delay d'encodage et de décodage!

C'est quand même beaucoup de boulot pour juste une pauvre boucle :( !

Re: Faire une boucle avec du MP3

Publié : 21 sept. 2012, 22:00
par 23bertrand
euh question bête, j'ai pas tout pigé le lien en anglais, mais si tu restes en MP3, re-sauver ça fait aussi le gap ? (en gardant le même format / taux de compression bien sûr)

je veux dire, tu pourrais bouncer en mp3, puis dans un éditeur (genre twisted wave, qui semble très précis "à ce qu'on dit"), tu restes en MP3, donc, et tu (re)fais ton looping point zéro, tu l'édites quoi, et tu sauves...

comme ça, en plus, tu checkes la qualité sonore finale du truc compressé... voir même tu lui appliques un filtre adéquat..

limite même tu exportes en wav. tu gardes une version wav au cas où et sur une copie, dans un éditeur, tu downsamples, mp3-ise, puis corriges la loop...

Re: Faire une boucle avec du MP3

Publié : 21 sept. 2012, 22:47
par Axs
Hello,

Comme précisé dans le lien ci-dessus faire boucler un mp3 n'est pas chose facile. FMOD et Wwise sont capables de compenser le gap créé par l'encodage, mais en général pour le jeu vidéo il vaut mieux utiliser des formats comme l'ogg ou l'adpcm.

A ce qu'on m'a raconté, le format VAG de Sony utilisé pour la Playstation 2 posait aussi ce type de soucis, il fallait que les 2 samples avant la loop correspondent aux 2 samples à la fin de la loop sinon ça clickait. En plus de cela il fallait que le fichier ait un nombre de sample multiple de 28, sinon il comblait avec des 0 pour que cela corresponde au bon multiple, en résulte que le fichier ne bouclait plus.

Pour revenir à ton soucis, tu peux aussi mettre tes sons directement en wav dans Flash et le laisser gérer la compression et l'encodage (normalement il y a des options dans Flash Pro).

Sinon il y a déjà eu deux autres sujets à ce propos :
http://www.sounddesigners.org/forum/aud ... -8640.html

http://www.sounddesigners.org/forum/aud ... -6615.html

Re: Faire une boucle avec du MP3

Publié : 22 sept. 2012, 10:23
par charLeQ
Hello Shaxti.

J'ai été confronté au même problème que toi pour un jeu ou tout était en mp3.
J'étais arrivé à quelque chose de correct avec l'encodeur LAME, il restait toujours quelques samples de silence dans mes boucles mais peu audible.

Pour arriver à ce résultat j'ai édité de nombreuses fois la durée de mes boucles pour avoir le moins de silence possible à l'encodage (un peu au hasard). En bref, j'y ai passé beaucoup de temps...

J’essaye maintenant de convaincre les développeurs de ne pas utiliser du mp3 mais du ogg par exemple.

Pour info la ps3 qui utilise beaucoup ce format à son propre encodeur. Un paquet de 1152 sample (pas plus, pas moins) de silence est ajouté au début des fichiers et à chaque lecture de la boucle, la console saute ce 1er paquet.

En espérant t'avoir un petit peu aidé...
Bon courage.

Re: Faire une boucle avec du MP3

Publié : 22 sept. 2012, 15:25
par gdubrez
Merci pour les réponses!

Je leur ai fais aussi ces mêmes boucles en .ogg. Le problème, c'est que certains navigateur internet ne reconnaisse pas l'ogg et donc le mp3 est obligatoire. De plus les navigateurs sachant décoder les deux types vont préférer le mp3.

Après le développeur peut écrire une ligne de code propre pour chaque navigateur.

Ici un petit tableau récapitulatif (attention il y a une lecture automatique...)
--> http://html5demo.braincracking.org/demo/audio.php

Tous (sauf IE...) peuvent lire le .wav! Mais pas possible car fichier trop lourd donc niet pour ma part.

Je vais essayer l'encodage par LAME voir ce que ça donne!