Silences en début et fin des fichiers MP3

Démarré par HCkev, 22 Juin 2008 à 22:19

0 Membres et 1 Invité sur ce sujet

J'ai remarqué depuis un moment que lorsqu'on encode un fichier en MP3, tous les logiciels que j'ai testés ajoutent un silence en début et fin de fichiers. Le problème, c'est que j'utilise l'encodage MP3 pour les musiques de mon jeu, et parce qu'il y a un silence en début de fichiers, les musiques, qui doivent être lus en boucle(ou être relues à un moment précis), coupent pendant une fraction de seconde avant de se répéter...


Exemple ici: http://www.megaupload.com/fr/?d=VMFJ7RXP
Il s'agit de la musique du menu "choix du fichier" d'Oot, qui peut être lu en boucle. Mais à cause des silences créés lors de l'encodage, ça coupe avant de reprendre la lecture :(


J'aimerais donc savoir s'il y a moyen de retirer ces silences, sans changer la qualité du fichier, et en gardant la même fréquence d'échantillonnage. J'encode en 22 050 Hz mono pour réduire au maximum la taille du fichier sans perdre trop de qualité, j'aimerais donc que ça conserve ces paramètres pour ne pas alourdir le fichier, ni en altérer la qualité.

En fait, c'est surtout le silence à la fin du fichier qui me tracasse; il m'est possible de démarrer la lecture juste après le silence de départ, mais il ne m'est pas possible(sauf en bidouillant un truc pas très optimisé) darrêter la lecture juste avant le silence... Donc si je pouvais au moins retirer le silence à la fin, ce serait déjà très bien(mais si on peut retirer les deux, c'est encore mieux!) :)


Y a t-il un programme dédié à cette tâche ? Ou quel encodeur me conseillez-vous ?

En cherchant sur le net, j'étais tombé sur un petit programme qui servait justement à retirer ces silences, mais ça ne fonctionnait tout simplement pas...



Merci d'avance :)


Je ne me souviens plus trop d'audacity, mais il me semble qu'il permet un découpage de certaines parties pour les supprimer... :unsure:
Sinon désolé si je me trompe. ;)

Je ne peux malheureusement pas écouter ton MP3 mais je crois savoir de quoi tu parles, mon proxy le filtre, navigation modem mobile oblige... :rolleyes:

Ce n'est sans doute pas un problème d'encodage en soi, peut être simplement une fonction de ton éditeur qui insère des silences pour faire des pistes propres comme sur les CD. Enfin, en clair, je ne pense pas que ton problème soit bien compliqué...

Audacity peut couper des morceaux de fichiers.

Mais sinon je sais que certains programmes, comme Game Maker, mettent un silence non-intentionellement quand on boucle un fichier musical pas fait pour être bouclé, à cause d'une latence entre le contrôleur audio et la carte son elle même. Dans ce cas, la solution est d'ordonner à Game Maker de relancer le son genre 1/4 de seconde avant la fin de la lecture. Ca ne me surprendrait pas que ça vienne de là.

Oui, pleins de logiciels permettent en effet de couper les fichiers, mais quand en réencode, les silences reviennent ;)

Sinon, le silence est bel et bien dans le fichier:



Après, pour reprendre la musique avant la fin, il faudrait que je fasse un script qui s'exécute en boucle et qui vérifie à chaque fois le temps du fichier, ce qui risque de bouffer des ressources pour rien.

Citation de: HCkev le 22 Juin 2008 à 22:49
Oui, pleins de logiciels permettent en effet de couper les fichiers, mais quand en réencode, les silences reviennent ;)

Même avec audacity ? Si oui, t'as vérifié dans les options qu'il n'y ait pas un truc à décocher des fois ?

Citation de: HCkev le 22 Juin 2008 à 22:49
Après, pour reprendre la musique avant la fin, il faudrait que je fasse un script qui s'exécute en boucle et qui vérifie à chaque fois le temps du fichier, ce qui risque de bouffer des ressources pour rien.

J'avais mis ça en place sur game maker, et les ressources bouffés sont carément négligeables. Et j'imagine que c'est pour ton jeu en flash - bah rien que le fait de lire des musiques en flash est horriblement friand en cycle processeurs, donc ça reste négligeable - puis bon on prend pas un outil tel que celui là pour l'optimisation non plus.

On peut pas avoir le beurre, l'argent, toussa.

Bon, après un bon trois heures de recherche, j'ai finalement trouvé un petit programme qui fonctionne plus ou moins.

En fait, ça fonctionne, et sans décoder le MP3, le seul problème, c'est que les sélections sont très imprécise, du coup, il est difficile de totalement retirer les silences sans retirer une partie du son.

De mon côté, j'ai réussi à retirer le silence à la fin du fichier(il en reste un peu au début, mais je peux le passer lors de la lecture), non sans efforts(en ajoutant volontairement du silence afin de pouvoir le sélectionner totalement sans couper une partie vitale du son...).


Enfin, pour ceux qui en auraient de besoin, il s'agit de Mp3DirectCut.

Mais juste pour savoir, ça ne fonctionne pas avec audacity? Parce que moi ça fais 2 ans que je l'utilise et franchement, ça n'a jamais ajouté de silence lorsque j'encode en mp3, tu es sûr que ce n'est pas un paramètre réglable?

Sinon, je peux te montrer comment faire avec audacity, si tu ne l'a pas déjà essayé.

C'est le logiciel le plus performant gratuit que je connaisse pour ce genre de manipulation.

Non, après quelques lectures, ce serait normal pour le MP3 d'avoir des silences en début et fin de fichier, par son algorithme de compression... Donc peut-importe ce qu'on fait, même si le fichier d'origine n'a pas un millième de silence, ça ajoute un silence en début et fin de fichier lors de l'enregistrement MP3.. C'est probablement pourquoi mp3DirectCut travaille sur le fichier lui-même sans le réencoder.

Évidemment, quand je parle de silences, je ne parle pas de silence de quelques secondes mais bien de silences de quelques microsecondes. Lorsqu'on fait jouer le fichier normalement, on ne fait pas de différence, mais lorsque c'est un son qui doit se lire en boucle, alors là on s'en rends compte. Donc Memo, probablement que tu ne t'en ai jamais rendu compte, mais les silences sont bien là!