A propos de ma sonothèque

Version 2.0 - Mar 1999

Historique  ;  Installation  ;  Technique

Ce site présente le contenu de ma discothèque informatique personnelle. La plupart des enregistrements issus de mes CD sont au format MPEG 1.0 couche 2, stéréo, échantillonés à 44,1 kHz, avec un débit de 128 kbd.

Historique
J'ai commencé ce site en janvier 1997, avec des fichiers .idc et Microsoft IIS 2.0. J'ai créé puis rempli toute la base de données MS Access, enregistré tous mes disques (près de 200). La version 1.0 du site était prête en novembre 97 (mais encore peu de mes disques étaient enregistrés à cette époque). Puis, fin 98, je me suis enfin décidé à utiliser des scripts de gestion de base de données plus standard, et j'ai modifié tous mes fichiers pour utiliser les scripts asp sur IIS 4.0.

Notes d'installation
Pour fonctionner, le site a besoin de quelques prérequis...
Il faut

    Côté serveur :
  1. PWS (Microsoft Personal Web Server), avec gestion des pages asp. Ceci est inclus dans l'Option Pack de Windows NT 4.0 (gratuit, à télécharger). Il est également inclus sur le CD-ROM de Windwows 98. Installer la version minimale suffit.
    Côté client :
  2. Winamp (lecteur de fichiers MPEG), ou de tout autre lecteur de fichiers MP2/MP3 gérant les listes
  3. IE4.0 (Microsoft Internet Explorer 4.0). Les fonctionalités JavaScripts sont utilisées pour afficher/masquer les commentaires dans la page de description détaillée des albums. Pour le reste, IE3.0 est suffisant. Le site n'a pas été testé avec d'autres browsers.
D'autre part, pour que toutes les fonctionnalités soit opérationnelles :
    Côté serveur :
  1. Copier les fichiers du site (fichiers du dossier \Inetpub\wwwroot\Music du CD-ROM, arborescence comprise) dans le répertoire \Inetpub\wwwroot\Music, et affectez le répertoire virtuel \Music à ce chemin dans le gestionnaire PWS
  2. Installer la connexion à la base de données : Dans le Panneau de configuration, application ODBC, DSN Système, mettre les paramètres suivants :

    Côté client :
  3. Si vous installez Winamp, il créera lui-même le nouveau type MIME qui va bien.
    Sinon, il vous faudra rajouter la clé suivante dans le registre :
    REGEDIT4
    [HKEY_CLASSES_ROOT\MIME\Database\Content Type\audio/x-mpegurl]
    "Extension"=".m3u"
    Ceci est valable pour Winamp, dont les fichiers listes sont associés à l'extension m3u. Si un autre lecteur est utilisé, avec une autre extension pour les listes, il faut et il suffit de changer l'extension dans cette clé du registre.
  4. Pour accéder au site, taper l'URL suivante : http://localhost/Music/index.htm
  5. Enfin, vous devez bien sûr vérifier que les fichiers de musique (*.mp2, *.mp3) et les pochettes (*.jpg, *.png) se trouvent bien à l'endroit indiqué dans le cadre en bas à droite du site ("Musique" et "Pochettes"),

Technique
Les compressions ont été effectuées grâce au programme freeware AMPEG 4.3 (le source est également nécessaire à cause des tables), distribué par Fraunhoffer. N. B. : J'ai dû modifier ce programme pour qu'il tienne compte que les fichiers .WAV Windows ont une entête. (Sans la modification, la compression se passe bien, mais l'entête étant considérée comme des échantillons, cela génère un clic fortement audible au début du fichier son en lecture).
J'ai utilisé des fichiers au format WAV, directement pris de mes CD (sans passage par l'analogique), grâce à l'utilitaire shareware cdda32.exe (version 32 bits, marche sous 95, 98 et NT), écrit par James McLaughlin. Il est possible de connaître la taille de chaque fichier grâce à la formule :

Débit*Durée/8= Taille
kbdsecondesoctets

Par exemple, un morceaux de 4 mn enregistré avec un débit sortant de 128 kbd occupera 128 000 * 240 / 8 = 3 840 000 octets = 3,66 Mo
Note : Cette formule est approximative, car la compression MPEG de couches 2 et 3 se fait par tranches (frames) de 1024 échantillons (soit environ 0,023 s), la dernière étant complétée par des zéros si nécessaire. L'entête des fichiers mp2 occupe 4 octets.
Performances :
Le temps pris par la compression logicielle (avec aencode) est de l'ordre de
Compression (pour 1)Caractéristiques du PCCompilation
2,5Pentium INTEL 133 MHz doté de 32 Mo de RAMMicrosoft C++ 5.0 avec optimisation pour Pentium
4,8Cyrix 686 233 MHz doté de 96 Mo de RAMMicrosoft C++ 5.0 avec optimisation pour Pentium
0,636Celeron INTEL 400 MHz doté de 64 Mo de RAMMicrosoft C++ 5.0 avec optimisation pour Pentium
0,625Celeron INTEL 400 MHz doté de 64 Mo de RAMMicrosoft C++ 5.0 avec optimisation pour Pentium Pro


Il est possible de lire ces fichiers avec n'importe quel lecteur lisant les fichiers à la norme MPEG 1.0 couche 2. Le meilleur lecteur que j'ai trouvé pour l'instant est Winamp, un lecteur en freeware très complet et très stable. On trouvera également MAPLAY, proposé par Jeff Tsay, qui a monté un site web très intéressant. PHILIPS en propose également un très correct.
En fait, avec l'avènement du mp3 depuis 1999, les lecteurs mp3 se sont multipliés à une vitesse phénoménale. Si l'on suit la norme MPEG à la lettre, pour pouvoir se vanter d'être un "lecteur mp3", il faut être capable de lire les fichiers aux normes mp1 et mp2 (compatibilité ascendante). Si l'on regarde les algorithmes de codage successifs, on se rendra compte que c'est en fait très simple à réaliser, et c'est effectivement le cas de la plupart des lecteurs.

Enfin, on notera que la DLL ActiveMovie fournie par Microsoft peut lire les fichiers MP2et MP3, mais elle ne permet pas l'utilisation de listes à ma connaissance.

Pour en savoir plus sur le mp3, trouver des sources de code notamment : http://www.mp3-tech.org/

Annexe :

Lignes de commandes utilisées:
Record.bat
C:
pushd \progra~1\cdda
FOR /L %%i IN (%1,1,%2) DO CALL d:\music\cd2mp2.bat %%i D:\temp\%%i.mp2
C:
popd

cd2mp2.bat
C:
cd \progra~1\CDDA\
cdda32 /T %1 /F D:\temp\%1 /O /NJC
cd \progra~1\MPEGL2~1
mp2encode -b 128 -c D:\temp\%1.wav %2
del D:\temp\%1.wav


© Copyright 1999 Olivier Houdas - Tous droits réservés.