Poppikone
Poppikone
Introduction
Poppikone (prononcer « pop-pi-co-né »), du finnois « poppi » qui signifie
« pop-music » et de « kone » qui
signifie « machine ». Poppikone est un lecteur de
musique numérique compressé au format MP3 ou Ogg/Vorbis. Il accepte exclusivement les
CD-ROMS et CD-R (parce que j'ai déjà un lecteur de CD Audio qui
fonctionne très bien, et qui n'a pas été construit
à partir de matériel de récupération, lui).
L'appareil
Matériel
Poppikone est à la base un PC réduit au strict minimum : une carte mère
(Soyo), un processeur (Intel Pentium 200 MHz ralenti à 133 MHz), 32 Mo de RAM,
un disque dur de 850 Mo, un lecteur de CD-ROM (24x, ralenti à 8x), une carte
son (SoundBlaster Vibra128) et une alimentation pour PC.
À cela s'ajoute un écran à cristaux liquides (4 lignes de 20 caractères)
connecté au port parallèle, un récepteur infra-rouge relié au port série et
la puce d'un clavier, branchée sur une matrice de boutons-poussoirs, qui joue
le rôle d'un clavier de 9 touches. La télécommande infra-rouge est celle de
l'amplificateur de la chaîne HiFi, qui a le bon goût d'être prévue pour
commander 9 appareiles différents.
Il semble que 133 MHz soit un minimum pour jouer correctement les
Ogg/Vorbis. Si on se contente du Mp3, 100 MHz seraient suffisants.
Logiciel
Poppikone boote Linux (2.2.19), puis charge un ramdisk (initrd) de 6 Mo
qui contient une Debian GNU/Linux (2.2) réduite au minimum : le noyau lance
init, qui lance un shell (bash) sur le deuxième port série, et lance le script
d'initialisation. Celui-ci charge les modules son, met le disque dur en
veille, ralentit le lecteur de CD-ROM à 8x, lance lcdproc pour gérer
l'écran, lirc pour
le récepteur infra-rouge, dmms pour jouer les fichiers son et enfin lcdplaylist qui
reçoit des commandes du clavier (de tty1 sur l'entrée
standard) et de lirc et envoie des commandes à dmms et lcdproc.
Tous les logiciels utilisés sont des logiciels libres, et sont disponibles
en téléchargement
Boitier
Fait de contreplaqué de 6,5mm, de profil d'aluminium en L de 15x15x1mm et de
tasseau de 15x15mm. Le panneau avant est en polycarbonate, et les pieds sont
en bois. Le tout a été peint en noir mat, à la bombe. Le panneau avant a été
peint sur sa face arrière, ce qui lui donne un aspect très brillant qui
rappelle le noir laqué d'un piano, et collé sur le boitier. Toutes les autres
parties sont vissées, à l'exception des pieds qui sont collés.
Fonctionnement
Fonctionnalités
Le bouton Power switch met Poppikone en marche.
Au bout d'environ 30 secondes, il est prêt à fonctionner (oui c'est long, mais
il est difficile de faire beaucoup plus court). Pour l'arrêter, il suffit de
presser le même bouton à nouveau, l'extinction est immédiate (pas de système
de fichier à démonter !)
Poppikone dispose ensuite de 9 touches sur le panneau avant qui sont
suffisante pour accéder aux principales fonctionnalités de l'appareil:
- Insérer ou enlever un disque
- Parcourir les fichiers du CD
- Commencer, mettre en pause ou arrêter la lecture d'un morceau
- Afficher les informations du morceau en cours
- Modifier la liste des morceaux qui vont être joués
La touche Open/Close ouvre ou referme le tiroir
du lecteur de CD. L'écran affiche Open lorsque le
tiroir est ouvert, Empty lorsqu'il est fermé et
vide, et le nom du CD lorsqu'il y a un CD dans le tiroir. Il faut noter que la
touche d'ouverture/fermeture situé sur le lecteur de CD lui-même n'a pas été
desactivé. Cependant, à cause de limitations dans l'interface (ATAPI) entre
le lecteur de CD et la carte-mère, il n'est pas possible au logiciel de
connaître la position du tiroir, ce qui fait qu'utiliser cette touche va
fausser les informations dont le logiciel dispose au sujet de l'état du
tiroir, et provoquer un comportement inhabituel de la touche Open/Close. Presser cette touche deux fois de suite
permet de revenir au fonctionnement normal.
Poppikone dispose de 3 modes d'affichage:
- Liste des fichiers
- Informations
- Liste des morceaux
La touche Display mode permet de passer d'un
mode à l'autre: Liste des fichiers → Informations → Liste des
morceaux → Liste des fichiers.

Le panneau avant de Poppikone
Liste des fichiers
Dans le mode liste des fichiers, la première ligne de l'écran affiche Browse: et un certain nombre de caractères indiquant
les actions possibles : ˆ et v indiquent qu'on peut faire défiler la liste vers le
haut ou vers le bas, > indique que l'élément
courant est un répertoire et que l'on peut y entrer, et < indique que l'on peut sortir du répertoire
courant. Les 3 lignes suivantes affichent les noms des fichiers et
répertoires, et un curseur (le symbole >)
indique l'élément courant.

La liste des fichiers
On peut utiliser les quatre touches fléchées du
clavier pour parcourir la liste des fichiers. Les flèches vers le haut
(↑) et vers le bas (↓) permettent de faire défiler la liste, la
flèche vers la droite (→) permet d'entrer dans un répertoire, et la
flèche vers la gauche (←) permet de sortir du répertoire courant. Les
touches correspondantes sur la télécommande ont le même effet. La touche Play/Add permet d'ajouter l'élément courant à la liste
des morceaux à jouer. Si l'élément courant est un répertoire, son contenu sera
ajouté à la liste des morceaux à jouer, y compris d'éventuels
sous-répertoires, dont le contenu sera aussi pris en compte. La touche Play de la télécommande assure la même fonction.
Informations
Le mode informations affiche diverses informations sur le morceau en
cours :
- Titre du morceau (première ligne), de l'album (deuxième ligne) et de
l'auteur (troisième ligne)
- État de la lecture
- Débit de données (en bits par seconde), fréquence d'échantillonage (en
kilohertz), mono/stereo
- Durée écoulée/restante/totale (en minutes et secondes)

Informations sur le morceau courant
Les touches Play, Stop et Pause permettent
respectivement de commencer la lecture du morceau, de l'arrêter ou de la
mettre en pause. Ces trois états sont représentés respectivement par les
symboles |>, []
et ||. Les touches Previous et Next permettent
de passer respectivement au morceau précédent ou suivant. Les touches Forward et Backward
permettent de sauter 3 secondes respectivement vers l'avant ou vers
l'arrière.
Les touches équivalentes de la télécommande ont les mêmes fonctionnalités.
En plus des précédentes, des pressions successives sur la touche Time permettent d'afficher, dans cet ordre, le temps
restant avant la fin du morceau, la durée totale du morceau et de revenir à
l'affichage de la durée écoulée depuis le début du morceau. Enfin, des
pressions successives sur la touche Text de la
télecommande permettent de faire défiler le nom du compositeur (s'il dépasse
les 20 caractères de long), le nom de l'album (s'il dépasse les 20 caractères
de long), de ne faire défiler aucune des 3 lignes d'information, ou de revenir
au défilement du titre du morceau
Liste des morceaux
Le mode de liste des morceaux affiche la liste des morceaux qui ont été ou
vont être joués, dans l'ordre. La première ligne de l'écran affiche PL: , le numéro d'ordre du morceau courant dans la
liste et le nombre total de morceaux dans la liste. Deux curseurs dans la
colonne de gauche indiquent le morceau en train d'être joué (à l'aide du
symbole |) et le morceau sélectionné (à l'aide du
symbole -. Lorsque le morceau sélectionné est le
même que le morceau en train d'être joué, le symbole utilisé est +.

Liste des morceaux
On peut utiliser les quatre touches fléchées du clavier pour parcourir et
modifier la liste des fichiers : les flèches vers le haut
(↑) et vers le bas (↓) permettent de faire défiler la liste, et les
flèches vers la droite (→) et vers la gauche (←) permettent de
déplacer le morceau sélectionné respectivement vers le bas et vers le haut au
sein de la liste. La touche Play permet de
commencer la lecture du morceau sélectionné, la touche Stop/Clear efface toute la liste et la touche Pause/Del enlève le morceau sélectionné de la liste. Les
touches équivalentes de la télécommande ont les même fonctionnalités.
Des pressions successives sur la touche Text de
la télécommande permet d'afficher sur les 3 lignes en même temps le nom de
l'album, puis celui du compositeur, puis une ligne composée du nom de
l'auteur, de l'album et du titre du morceau, et enfin de revenir à l'affichage
du titre du morceau.
Bruit
Le niveau de bruit du système est acceptable compte tenu qu'aucune
isolation phonique n'a été faite et que les composants sont tout à fait
ordinaires. Le fait de mettre le disque dur en veille après le démarrage
diminue grandement le bruit (et probablement la température dans le boitier).
Le ventilateur de l'alimentation est cependant perceptible lorsque le volume
de la musique est faible. Ceci est peut-être amplifié par le fait qu'il y a un
mur plat juste derrière le boitier, qui peut réverbérer le son...
Refroidissement
L'alimentation dispose d'un ventilateur dont la vitesse est régulée par une
thermistance et est raisonnablement silencieuse (mais ça pourrait être
mieux).
Le processeur dispose d'un radiateur en aluminium dont les ailettes font
environ 6cm de hauteur, sans ventilateur.
Le ventilateur de l'alimentation crée un courant d'air suffisant pour
refroidir le processeur, même si celui-ci se trouve loin de l'entrée d'air du
boitier de l'alimentation, et que le chemin que parcourt le flux d'air est
assez tortueux. La température entre les ailettes du radiateur en
fonctionnement est de 36°C, ce qui est tout à fait acceptable.
Administration
Poppikone dispose d'une interface série sur le panneau arrière qui permet
d'y brancher un terminal texte (ou un émulateur de terminal sur un ordinateur
ordinaire). Le script /etc/rc3 permet de passer en
mode d'administration, c'est à dire qu'il monte le disque dur et lance chroot pour en faire la nouvelle racine du système de
fichiers. On peut alors modifier des fichiers du ramdisc, puis recréer le
ramdisc, quitter le mode administration (par CTRL-D) pour démonter le disque
dur et enfin rebooter pour prendre en compte les modifications.
Remerciements
Un grand merci à mes collègues et amis Lari et Tommi pour m'avoir conseillé
dans le choix des matériaux et le montage du boitier et m'avoir transporté
jusqu'aux différents magasins de bricolage de Jyväskylä, à Pasi pour avoir
donné son nom au Poppikone, avoir baptisé cette version Kenny (parce qu'à
chaque fois que ça ne marchait pas, il pouvait alors s'écrier « Oh
my God, you killed Kenny! » et pour m'avoir demandé au moins une
fois par semaine si « ça avançait », à mon beau-frère
Reijo et au laboratoire de télécomunications de l'université de Jyväskylä pour
m'avoir prêté leurs outils et de l'espace de travail, et à l'université de
Jyväskylä pour avoir prêté le coeur de Poppikone pour une durée
indéterminée. Merci enfin à Ritva pour n'avoir pas trop râlé que je ne
m'occupe pas assez d'elle lors des longues heures passées à monter
Poppikone...