1 2 Copyright 2005 - 2008 : Claudio Fernandes de Souza Rodrigues 3 S�o Paulo, Brasil. 4 5Homepage: http://gnormalize.sourceforge.net 6See too : http://www.gnomefiles.org/app.php?soft_id=736 7 8For suggestions, grammatical errors and bugs, my email: claudiofsr@yahoo.com 9 10This software is available under GNU General Public License, version 2. 11 12 13**-----------------------------Introduction-----------------------------** 14 15gnormalize is an audio converter and CD ripper with ReplayGain normalization algorithms, 16an audio player and a metadata (tag) editor. It uses gtk2-perl under GNU/Linux. 17 18gnormalize is a utility that rips, decodes, normalizes, encodes, and converts audio files. 19It uses 'wavegain' to normalize wave files with the accurate gain_analysis.c code 20from ReplayGain. It decodes MP3, MP4 (or M4A or AAC), MPC (or MPP or MP+), OGG, APE, 21or FLAC files to wave, then normalizes the wave and re-encodes it. It can rip audio 22CDs, encode audio data, convert audio formats between MP3, MP4, MPC, OGG, APE, and 23FLAC, and change the encoding properties and edit metadata (tag) (like title, artist, 24album, etc.) of the final normalized files. 25 26Input : supported files format: MP3, MP4 (or M4A or AAC) , MPC (MPP or MP+ - Musepack), 27 OGG, APE (Monkey's Audio), FLAC, AUDIO CD and WAV. 28 29Output: supported files format: MP3, MP4, MPC, OGG, APE, FLAC and WAV. 30 31 32gnormalize distinguish this formats only by extension and can make transcoding. 33Transcoding is the process of converting audio files from one format to another. 34 35To be implemented (TODO): 36 - Mix mode of gnormalize; 37 - Submit cddb info. 38 - To be the most userfriendly interface ever. 39 40 41 NORMALIZE DESCRIPTION: 42 "normalize is used to adjust the volume of WAV audio files to a standard 43 volume level. This is useful for things like creating MP3 mixes, where 44 different recording levels on different albums can cause the volume to 45 vary greatly from song to song. 46 47 normalize operates in two phases. In the first phase, it analyzes the 48 specified files as WAV audio files, and computes the volume of each 49 file. In the second phase, it applies a volume adjustment to each file 50 to set each file's volume to a standard level." 51 ( See the manual of normalize. Author of normalize: Chris Vaill. ) 52 53 54**-----------------------------Dependencies-----------------------------** 55 56Required and recommended programs: 57 58 gtk2 (gtk+) - version >= 2.6.0 59 gtk2-perl - version >= 1.050 60 wavegain - to normalize the WAV files. 61 (http://www.rarewares.org/others.html) 62 lame - for decode MP3 to WAV, and encode WAV to MP3 file. 63 mppdec,mppenc - mppdec (decoder) and mppenc(encoder) for MPC format. 64 faac,faad - faac (encoder) and faad (decoder) for MP4 format. 65 vorbis-tools: - oggenc, oggdec and vorbiscomment. 66 cdparanoia or cdda2wav 67 - to rip audio cd. 68 flac and metaflac - to encode, decode and edit flac format. Version >= 1.1.1 69 70 mac (Monkey's Audio Console) - to encode and decode APE format. 71 Get the packages mac see 72 http://supermmx.org/linux/mac (source code) 73 or http://plf.zarb.org or http://rpm.pbone.net 74 according to your Linux distribuition. 75 76 cdcd - command-driven cd player. Download cdcd and libcdaudio 77 from http://libcdaudio.sourceforge.net 78 79 Perl modules: 80 Gtk2 81 Glib 82 Gtk2::Pango 83 File::Find 84 Encode 85 CDDB_get - (to install: login as root; connect to the internet; 86 give the command: <perl -MCPAN -e 'install CDDB_get'> 87 Press <q> to quit). 88 Armin Obersteiner is the author of CDDB_get. 89 90 Audio::CD - Perl interface to libcdaudio (cd + cddb) 91 (required: libcdaudio and libcdaudio-devel; 92 perl-devel to compile this module) 93 94 If you want to use Audio::CD to play audio CD, 95 it MUST have the functions (see man Audio::CD): 96 my ($minutes, $seconds, $frames) = $info->time; 97 my $current_track = $info->current_track; 98 If not so, install Audio-CD-0.04-changed.tar.gz inside 99 the gnormalize-version.tar.gz package. 100 101 MP3::Info - The package MP3::Info is included in the gnormalize. 102 MP3::Info substitutes mp3info,id3info and id3tag. 103 Chris Nandor is the author of MP3::Info. 104 105To play audio CD, gnormalize will first search for gnormalize::cdplay perl 106module, next to Audio::CD and finally, the cdcd. 107 108**-------------------------------Install-------------------------------** 109 110Execute the bash script commands: 111 tar zxvf gnormalize-0.63.tar.gz 112 cd gnormalize-0.63/ 113 ./install 114as root. 115 116To install only the gnormalize: 'make install'. 117To uninstall the gnormalize: 'make uninstall'. 118 119 120After install, to execute gnormalize: 121 122 gnormalize 123 124 125Make sure that the correct path of perl is '/usr/bin/perl'. If not 126so, change the first line '#!/usr/bin/perl' of gnormalize to the correct path. 127 128If "cdcd" is used to play audio cd: 129When, for the first time, run "cdcd" in command line to make the 130config file .cdcdrc, choose "n" for the question: 131 Are you connected to a network (y/n) [y]? 132If choose "y", remove the config file (rm -f ~/.cdcdrc) and run "cdcd" again. 133 134**------------------------------Download-------------------------------** 135 136Download gnormalize: 137http://prdownloads.sourceforge.net/gnormalize/gnormalize-0.63.tar.gz?download 138 139**----------------------------Translations-----------------------------** 140 141The basic idea is to search for all variable "$language" inside the gnormalize code! 142 1431) Open gnormalize with one editor. I, particularly, use "nedit". 144 1452) Search for the lines: 146 147 "if ( $language eq 'English' )" 148 149 and 150 151 "if ( $language eq 'Portugu�s' )" 152 153 1543) Add the lines for your language, like, for example: 155 156 "$all_language{'Fran�ais'} = $true;" # this add a new language 157 158 and 159 160 "if ( $language eq 'Fran�ais' )" 161 { 162 ... 163 ... 164 }" 165 166 You must to add this lines in the sequence order. 167 1684) Translate all the variables: $langs{all_tabX}, $langs{nameX}, $langs{tipX} and 169 $langs{msgX} (X is one number), between that lines "{ ... ... }" of item 3). 170 1715) Search for all "$language" variables and make the suitable change! 172 1736) Send me one email with your Translation. 174 My email: claudiofsr@yahoo.com 175 I will be in debt immense of endless gratitude. 176 177 --- Translations --- 178English : Claudio FSR. 179Portugu�s (Brasil) : Claudio FSR. 180Fran�ais : Yaen Pujol. 181 182**-------------------------------Changes-------------------------------** 183version 0.63: - some bug fixes; 184 - change the loop, random and sound icons. 185 186version 0.62: - Add the possibility to play tracks that satisfies established filters in a more convenient way. 187 The available filters are 'Play Tracks From Different Albums/Artists/Genres/Years'. For example, 188 if the filter is set to Albums, then play tracks jumping between different Albums. In this case, 189 all Albums will be played before repeat some Album. In others words, until one track from each 190 Album has been played, the same Album will not be chosen twice; 191 - Add columns that show the 'Play Count' to the albums and artists tree view; 192 - Start playing when one track is double clicked. 193 194version 0.61: - Add support to Unicode data in UTF8 encoding; 195 - Add entry to change the comment tag; 196 - Use Ape Tag 2.0 for wav files. 197 198version 0.60: - Now, gnormalize uses 'wavegain' to normalize wav files because 'wavegain' 199 is based on more accurate gain_analysis.c code from ReplayGain to adjust and 200 normalize the sound amplitude; 201 - I change WaveGain-1.2.6/wavegain.c and remove the bug when using rename() c function 202 on Linux. The Author of wavegain is John Edwards; 203 - New Method for easy translations; 204 - Remove 'file chooser' Check Button because 'Gtk2::FileSelection' is deprecated; 205 - Minimum required gtk2 version >= 2.6.0; 206 - Don't need more to make Wave copy; 207 - Add mac (Monkey's Audio Console) to encode and decode APE format inside gnormalize*.tar.gz; 208 - Can use mplayer to play all supported files format; 209 - Some Bug Fixes. 210 211version 0.53: - Translation to French by Yaen Pujol; 212 - The ability to create artist and album subdirectories when ripping an 213 Audio CD. For example, we can choose filename rip format "%a/%b/%n-%t". 214 215version 0.52: - Bug Fixes. 216 217version 0.51: - Show the Scrolling Text on the vertical or horizontal direction. 218 219version 0.50: - Bugfixe on used Gtk2::Button icons. 220 - Bugfixe on strings values of set_popdown_strings 221 function (thanks to Bj�rn C. Schaefer). 222 - Show/Hide file number, artist and track columns of playlist. 223 - Color for artists and albuns columns when a file is played. 224 - Changes on Interval and Step for Scrolling Text. 225 226version 0.49: - The possibility to change the Remaining Time color. 227 - Add a button to show/hide the progress bar. 228 - remove the '--athtype 2' option for --vbr-new lame encoding. 229 - Make a Makefile. 230 231version 0.48: - Only some bugfixes. 232 233version 0.47: - Only some bugfixes. 234 235version 0.46: - Play APE format with the command: 236 mac "song.ape" - -d | play -t wav - 237 'mac' is the "Monkey's Audio Console" and 'play' comes with 'sox'. 238 239version 0.45: - The ability to select more than one album or artist by pressing 240 the control key and mouse button. 241 242version 0.44: - The ability to choose what columns to show on the playlist. 243 - Some bugfixes. 244 245version 0.43: - Some color on playlist. 246 - The ability to remove the selected musics from playlist. 247 - Use the directory name for Album list if no album name is found. 248 249version 0.42: - Save the playlist in the configuration file and show the playlist 250 like Rhythmbox. 251 - The output directory can be selected. 252 253version 0.41: - The ability to play MP3, MP4, MPC, OGG, FLAC and WAV format was added. 254 gnormalize play MP3 with mpg321/mpg123/madplay, MPC with mppdec, 255 OGG with ogg123, FLAC with flac123/MPlayer and WAV with MPlayer. 256 257 - Convert/Normalize all supported files inside the directory to one 258 specific format. 259 - Output to WAV without need to encode. 260 - Change the cd player skin. 261 262version 0.40: - The ability to select one skin to cd player was added. 263 264version 0.39: - Only CD player display mode was added. 265 - Display with scrolling text and customized button colors. 266 267version 0.38: - More improve on the CD player display. 268 269version 0.37: - Set the relative audio track position and improve the 270 buttons appearance on the CD player. 271 272version 0.36: - Select the type of files for Gtk2::FileChooser. 273 - Verify the perl module depence for CDDB_get. 274 - More animations. 275 276version 0.35: - Add a Gtk2::VPaned to adjust debug informations. 277 - Show some animations in the "about" textview, just for fun. 278 279version 0.34: - Change fonts whithout gnome-font-properties. 280 - Some bugfixes. 281 282version 0.33: - Remove the Audio::CD or cdcd dependencies to play Audio CDs 283 and substitute with the new internal gnormalize::cdplay package 284 writen in perl (only valid for Linux) without any dependecies. 285 - A bug in the 'ID3_SET_SIZE28' subroutine which set 32 bit 286 synchsafe integer used by ID3v2.3.0 was fixed. 287 288version 0.32.1: Remove one bug in cd player when Audio::CD is used. 289 290version 0.32: - Resizing the main window is now allowed. 291 - New button to change the volume level of Audio CDs. 292 - New entry to choose the audio cd player. 293 - If Audio::CD is used to play Audio CD, recompile and install 294 Audio-CD-0.04-changed.tar.gz because this perl module uses 295 the new function $info->current_track . 296 297version 0.31: - New icons for notebook. 298 - Remove the ogginfo dependence. Now, use the new internal subroutines. 299 - Minimum required METAFLAC version >= 1.1.1 ( the new version 300 changed the command --set-vc-field to --set-tag ). 301 - Add filesize in the technical info (metainfo). 302 - Some bugfixes. 303 304version 0.30: - Support for translations enables by rearrange the tooltips. 305 - Translation to portuguese (Brasil). 306 - Some bugfixes. 307 308version 0.29.1: Only some bugfixes. 309 310version 0.29: - Can read directory recursively. 311 312version 0.28: - New entry for additional command line used by encoders. 313 - New entry for rip filename format. 314 - Edit and save the tag of cddb info for Audio CD; add cddb configurations. 315 - New file chooser used when a file is selected. 316 - Some bugfixes. 317 318version 0.27: - Get the first parameter from the command line as selected file, 319 for example: 'gnormalize music.mp3'. 320 - Support new 'mac' encoder (version >= 3.98) for APE files. 321 - Some bugfixes. 322 323version 0.26: - Support for mp4 format with dependencies on faac (encoder) and faad (decoder). 324 - improve the subroutine 'save_ID3v2_mp3_tag' of gnormalize that saves 325 ID3tagv2 to mp3 files. 326 327version 0.25: - Make new perl subroutines to get informations about flac and ape 328 files like time, bitrate, frequency, ... 329 - Some bugfixes. 330 331version 0.24: - Remove the id3info, id3tag and mp3info dependence. 332 - Include MP3::Info to obtain mp3 informations. 333 - Make new perl subroutines to edit ID3v1 and ID3v2 tag for mp3 files. 334 - Make new perl subroutines to edit APE tag for mpc and ape files. 335 336