File: README

package info (click to toggle)
normalize-audio 0.7.7-21
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 3,032 kB
  • sloc: sh: 9,255; ansic: 8,286; perl: 635; makefile: 139; sed: 16
file content (188 lines) | stat: -rw-r--r-- 9,199 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
Pour les amigaistes :
Rcuprer et installer ixemul.lha disponible sur Aminet afin
d'amliorer la compatibilit des programmes utilisant ixemul.library.
En cas de problmes, me contacter : fr3dy@retemail.es

------------------------------------------------------------------------

Ceci est la version 0.5.2 de Normalize, un ajusteur de volume pour fichier wav.
Copyleft 2001, Chris Vaill <chrisvaill@gmail.com>

Normalize est un outil excessivement complexe pour ajuster le volume
de fichiers wave  un volume standard. Cela s'avre utile pour la
cration de compilation de fichiers mp3 dont les niveaux sonores
d'enregistrement sont diffrents, provoquant des variations de volume
d'une chanson  l'autre.

Pour le construire, tapez :

./configure
make
make install

Consultez le fichier INSTALL pour plus d'informations.
Consultez le fichier normalize.1 dans le tiroir man pour les paramres.
Envoyer les bugs, suggestions et commentaires  chrisvaill@gmail.com
normalize est freeware. Consultez le fichier COPYING pour sa diffusion.

-------------------------------------------------------------------------

1 Sur quelles plates-formes fonctionne-t-il?

Je l'ai test sous GNU/Linux sur x86 et sous Solaris sur sparc. J'ai
entendu dire qu'il fonctionne galement sous GNU/Linux sur alpha et
sur BeOS R5 (en utilisant les options de configuration
--with-included-gettext et --disable-nls).

J'ai essay de faire un code aussi portable que possible et
j'apprierais de savoir s'il fonctionne sur d'autres plates-formes.

2 A quoi sert-il?

Disons que vous avez une floppe de fichiers wav contenant, selon
vous, le meilleur d'Elvis Presley et provenant de diffrents
albums. Vous voulez crer des fichiers mp3 pour les rajouter  votre
collection existante mais comme ils proviennent de sources diverses,
ils sont tous enregistrs  des volumes diffrents. Si vous avez dj
utilis normalize pour crer votre collection de mp3 ( partir de
fichiers wav), les fichiers ont tous le mme niveau sonore et vous
voulez que ces nouveaux titres aient galement le mme volume. Rien de
plus simple, lancez normalize sans options et chaque titre sera ajust
au niveau sonore standard :
   
            normalize "Hound Dog.wav" "Blue Suede Shoes.wav" \
                      "Here Comes Santa Claus.wav" ...

Maintenant supposez que vous venez de rcuprer en fichiers wav les
titres de l'album "Start today" de Gorilla Biscuits, dont vous savez
qu'il a t enregistr  un volume particulirement bas. On veut que
l'album entier soit plus fort mais que chaque piste garde le mme
volume par rapport aux autres. On utilise donc le mode batch. Les
fichiers sont dnomms 01.wav jusqu' 14.wav et sont dans le mme
tiroir que normalize. On lance normalize en mode batch pour conserver
les niveaux sonores relatifs, les autres options sont par dfault.
      
            normalize -b *.wav

Vous lancez ensuite votre compresseur de mp3 et au final l'album
complet sera uniformment plus fort.

Maintenant supposez que vous voulez compresser l'album "When Forever
Comes Crashing" du groupe Converge. Cet album contient un titre, "Ten
Cents" relativement faible alors que les autres titres sont de volume
quivalent entre eux et plus fort. On lance normalize en mode batch
avec l'option v (verbosity) pour voir ce qui se passe :

            > normalize -bv *.wav
            Je calcule des niveaux...
            Niveau pour track01.cdda.wav: -9,3980dBFS (0,0000dBFS maximum)
            Niveau pour track02.cdda.wav: -9,2464dBFS (-0,1538dBFS maximum)
            Niveau pour track03.cdda.wav: -8,6308dBFS (-0,2520dBFS maximum)
            Niveau pour track04.cdda.wav: -8,7390dBFS (0,0000dBFS maximum)
            Niveau pour track05.cdda.wav: -8,1000dBFS (-0,0003dBFS maximum)
            Niveau pour track06.cdda.wav: -8,2215dBFS (-0,1754dBFS maximum)
            Niveau pour track07.cdda.wav: -8,9346dBFS (-0,1765dBFS maximum)
            Niveau pour track08.cdda.wav: -13,6175dBFS (-0,4552dBFS maximum)
            Niveau pour track09.cdda.wav: -9,0107dBFS (-0,1778dBFS maximum)
            Niveau pour track10.cdda.wav: -8,1824dBFS (-0,4519dBFS maximum)
            Niveau pour track11.cdda.wav: -8,5700dBFS (-0,1778dBFS maximum)
            L'cart type est 1,47 dB
            Je jette de niveau -13,6175dBFS (diffrent par 4,58dB)
            Moyen niveau: -8,6929dBFS
            Je m'applique le rglage de -3,35dB...

Le volume de "Ten Cents", qui est la piste 8, diffre de la moyenne de
4.65 decibels, ce qui le classe comme aberration statistique d'aprs
la dviation standard de 1.48 decibels. Il n'est donc pas pris en
compte dans la moyenne mais l'ensemble de l'album est ajust, y
compris le titre "Ten Cents". Est considr comme aberration
statistique tout fichier ayant un niveau suprieur au double de la
dviation standard. Ce seuil peut tre chang en utilisant l'option
-t.
      
Pour finir, vous voulez faire une compilation de chansons des annes
80 pour votre maman ou quelqu'un d'autre. Vous ne voulez pas que ces
titres viennent polluer votre collection et donc leurs niveaux sonores
absolus importent peu du moment qu'ils soient equivalents, pour que
votre maman n ai pas besoin de rgler le volume  chaque titre. On
lance normalize en mode mix :

            normalize -m *.wav

Ainsi le volume de chaque titre sera ajust en fonction de la moyenne
obtenue pour tous ces fichiers et non pas en fonction du niveau par
dfault.

3 Comment a marche?

Voici juste une petite explication sur la faon dont normalize
fonctionne, pour les plus curieux.

Les volumes calculs correspondent  des amplitudes RMS correspondant
grosso modo au volume peru. Mesurer l'amplitude RMS d'un fichier
entier n'apporte que peu de renseignements car une chanson douce
comprenant des parties bruyantes courtes sera toujours une chanson
douce mais les ajustements feront ressortir encore plus les parties
bruyantes.

On veut prendre en compte le volume maximum du fichier et ajust en
fonction de ce volume. Le signal est divis en 100 petits morceaux par
seconde et chaque morceau est analys de faon  obtenir une
estimation de la "puissance instantanne" par unit de temps.
Malheureusement ce signal varie normment rendant la mesure de la
puissance maximale du signal original allatoire donc on applique un
algorythme sur la puissance du signal (en fait, un filtre moyen avec
une fentre de 100 lments de large). Le point maximum du signal le
plus stable reflte bien la puissance du fichier. On prend ensuite la
racine carre de la puissance pour obtenir la valeur de l'amplitude
RMS maximale.

Pour l'amplitude par dfaut de 0.25, j'ai trouv qu'elle tait dj
assez proche du niveau de la plupart de mes albums mais pas assez pour
occasionner des coupures dans des albums de volume sonore faible. Vous
pouvez changer l'amplitude par dfaut en fonction de votre collection
musicale (mais assurez-vous que tout soit ajust  la mme amplitude
pour avoir le mme volume!).

Attention : je ne suis ni un ingnieur acoustique ni un statisticien
et ma thorie pour le traitement du signal peut tre incorrecte. Je
serais heureux d'avoir le point de vue d'un gnie du traitement des
signaux acoustiques si mes suppositions concernant la puissance du
signal, le signal peru, ou sur n'importe quel point de la thorie du
signal, sont errones.

4 Pourquoi ne pas utiliser l'ajustement par crte  la place de
l'ajustement par amplitude RMS?

Cela fonctionnait comme a dans les versions prcdentes (non
distribues). J'ai simplement dcouvert que a ne fonctionnait pas
correctement. Le volume peru par l'oreille correspond plus  une
amplitude RMS moyenne qu' un niveau de crte. Par consquent en
ajustant deux fichiers  la mme amplitude RMS, on obtient un volume
peru identique (approximativement identique car certaines frquences
paraissent plus fortes  la mme amplitude car l'oreille est
simplement plus sensible a ces frquences). Il est possible que j'en
tienne compte dans une version future mais a implique un tas de
nouveaux problmes.

L'ajustement par crte rend normalement les fichiers de gamme
dynamique restreinte trs fort et ne fait rien sur ceux  gamme
dynamique tendue. Il n'y a pas vraiment d'ajustement, cela ressemble
plus  l'extension d'un histogramme.  Nanmoins depuis la version 0.5
vous pouvez utilisez l'option --peak pour l'ajustement par crte.

Au sujet des coupes : depuis la version 0.5.1 l'option -c effectue une
compression de la gamme dynamique au lieu des coupures ce qui limine
compltement les coupures mais donne un volume d'ajustement
incorrect. Merci  Ted Wright pour cette suggestion.

5 Normalize pourrait-il oprer directement sur des fichiers mp3?

Je ne connais pas grand'chose sur le fonctionnement du mpeg audio,
mais je crois que pour analyser le volume et spcialement pour le
manipuler il faut des donnes audio au format PCM.  Donc pour ajuster
un fichier mp3, vous devez le dcompresser, l'ajuster et le
re-compresser au risque de subir une deuxime perte due  la
re-compression. Si cela ne vous pose aucun problme vous pouvez faire
ces oprations en lanant le script "normalize-mp3" inclus dans la
distribution.