J'ai ajouter une nouvelle section musique. C'est des extraits de quelques chansons sous plusieurs style musicaux. Disont que pour le moment j'ai pas grand chose, mais j'espère pouvoir vous mettre une bonne collection de ce que j'aime. Ils vont bien sûr disparaitre et se rajouter au fil du temps.
Pour ceux qui aiment Linux et Perl, j'ai fait un script qui me permet de couper la chanson, faire un fade-in/out de 3 secondes, normaliser le tout, réencrypter dans un bitrate plus petit, copier le morceau sur mon serveur Linux/Apache et me pondre le code HTML pour le mettre sur le blog. Que voulez-vous, je suis un peu vache. Pourquoi ce forcer le derrière quand un ordi peut le faire pour vous?
Voici le code source :
#!/usr/bin/perl -w
#Variable Global
$j = 0;
while($ARGV[$j]){
#print "$j - $ARGV[$j]\n";
$sound = $ARGV[$j]; #Fichier à traité
$time = ""; #Temps total du fichier
$time1 = "00:00:00+00"; #Temps du début
$time2 = "00:00:00+00"; #Temps de la fin
$output = "temp.mp3"; #Fichier de sortie
$title = ""; #Titre de la chanson
$artist = ""; #Artiste de la chanson
$album = ""; #Album de la chanson
#$home = $ENV{HOME}; #Variable d'environnement
#Récupération de certaines données contenu dans le fichier original
#Clip info:
# Title: Rise Up (Original Mix)
# Artist: Yves Larock
# Album: clubKAOS 02 Unmixed CDJ Format
# Year: 2007
# Comment:
# Genre: House
if ( -e $sound ){
@config = `mplayer -vo null -ao fast "$sound" 2>&1`;
$i = 0;
while($config[$i]){
$title = $1 if "$config[$i]" =~ /Title: (.+)/;
$artist = $1 if "$config[$i]" =~ /Artist: (.+)/;
$album = $1 if "$config[$i]" =~ /Album: (.+)/;
$i++;
}
}
$output = "$artist - $title (Version Blog)";
#print "$output\n$title - $artist - $album\n";
#Trouver les temps de coupure d'avant et après
#mp3length
#Length of Yves Larock - Rise Up (Original Mix).mp3: 00:07:32+493
#Décidés le temps de coupure approx 75 sec
#Décidés le temps du départ approx 1/3 de la chanson
$ajout = 75; # par défaut la longueur est de 75 sec
$facteur = 3; # par défaut on pars la chanson dans son tiers
$time = $2*60 + $3 if `mp3length "$sound" 2>&1` =~ /(\d\d):(\d\d):(\d\d)/;
if($time >= 270){$ajout = 90;$facteur = 4} # si on une chanson de plus de 5 minutes (Dance mix entre autres)
$time1 = int($time / $facteur);
$time2 = $time1 + $ajout;
$time1S = $time1 % 60;
$time1M = ($time1 - $time1S) / 60;
$time2S = $time2 % 60;
$time2M = ($time2 - $time2S) / 60;
$time1 = "00:$time1M:$time1S+00";
$time2 = "00:$time2M:$time2S+00";
#print "$time1 $time2\n";
# mp3cut -o outputfile -T title -A artist -N album-name -t [hh:]mm:ss[+ms]-[hh:]mm:ss[+ms] mp3file -t ... mp3file1
#print "mp3cut -o $output.mp3 -t $time1-$time2 $sound\n";
`mp3cut -o "$output.mp3" -t $time1-$time2 "$sound" 2>&1`;
#Ajouter un fade-in/out avec SoX
#--$ajout;
#print "sox $output.mp3 $output.wav fade t 3 $ajout 3";
`sox "$output.mp3" "$output.wav" fade t 3 $ajout 3`;
#Normalizer le fichier
`normalize-audio "$output.wav" 2>&1`;
#On enleve les espaces pour la version blog
$outputmp3 = $output;
while ($outputmp3 =~ s/\s//){$outputmp3 =~s/\s//;}
#Réencoder le tout en 128Kbits avec lame
print "Création de $output.mp3\n";
`lame -h -b 128 --tt "$title" --ta "$artist" --tl "$album" "$output.wav" "$outputmp3.mp3"`;
#Déplace le fichier mp3 sur le serveur web
`mv "$outputmp3.mp3" /media/homes/public_html/blog/musique/.`;
#On enleve le fichier wav
`rm "$output.wav" "$output.mp3"`;
#Pondre le code html pour le blog
$html = "---------- Couper ici ----------\n\n";
$html .= "<div style=\"font-family:Verdana;font-size:7pt;\">$artist - $title</div>\n";
$html .= "<object data=\"http://doum.homelinux.com/~dominique/blog/dewplayer.swf?
son=http://doum.homelinux.com/~dominique/blog/musique/$outputmp3.mp3\"
width=\"200\" height=\"20\" bgcolor=\"FFFFFF\" type=\"application/x-shockwave-flash\">\n";
$html .= "</object>\n\n";
$html .= "---------- Couper ici ----------\n";
print $html;
$j++;
}
Et voici le résultat que ça donne :
dominique@dominique-bureau:~/Desktop$ ./sound-cut "Classé/Umbrella - Rihanna feat. Jay Z.mp3"
Création de Rihanna - Umbrella (Feat. Jay Z) (Version Blog).mp3
LAME version 3.96.1 (http://lame.sourceforge.net/)
CPU features: MMX (ASM used), 3DNow! (ASM used), SSE
Using polyphase lowpass filter, transition band: 17249 Hz - 17782 Hz
Encoding Rihanna - Umbrella (Feat. Jay Z) (Version Blog).wav
to Rihanna-Umbrella(Feat.JayZ)(VersionBlog).mp3
Encoding as 44.1 kHz 128 kbps j-stereo MPEG-1 Layer III (11x) qval=2
Frame | CPU time/estim | REAL time/estim | play/CPU | ETA
2870/2873 (100%)| 0:09/ 0:09| 0:10/ 0:10| 7.7530x| 0:00
average: 128.0 kbps LR: 8 (0.2785%) MS: 2865 (99.72%)
---------- Couper ici ----------
<div style="font-family:Verdana;font-size:7pt;">Rihanna - Umbrella (Feat. Jay Z)</div>
<object data="http://doum.homelinux.com/~dominique/blog/dewplayer.swf?
son=http://doum.homelinux.com/~dominique/blog/musique/
Rihanna-Umbrella(Feat.JayZ)(VersionBlog).mp3" width="200" height="20" bgcolor="FFFFFF" type="application/x-shockwave-flash">
</object>
---------- Couper ici ----------
dominique@dominique-bureau:~/Desktop$
Si vous comprenez quelque chose vous me le dites, moi j'y comprends plus rien... (joke) ! :)