Mastering with 64studio
Un très bon article sur la phase de mastering.
Un très bon article sur la phase de mastering.
Mise en garde: Il s’agit uniquement d’une note ‘brute’ réalisée dans un but d’aide-mémoire suite à mon installation de la 64Studio sur mon PC MAO (XP2200+ / Audiophile 2496 / Carte graphique chipset NVIDIA en Dual Screen) et en aucun cas d’un tutorial. Que le débutant me pardonne de ne pas détailler mais à force de faire de l’informatique, on en oublie la musique…
Suite à la lecture des priorités IRQ sur linuxMAO:
TODO: essayer de mesurer si cela a vraiment un effet…
Télécharger et graver l’ISO du CD d’install de 64studio qui se trouve sur http://64studio.com/.
Booter sur le CD et faire l’installation en mode expert comme une Debian classique.
Via aptitude, installer le package console-common qui bizarrement n’est pas installé
# apt-get install console-common
Lancer la configuration du clavier pour la console
# dpkg-reconfigure console-data
Récupérer les drivers sur http://www.nvidia.fr/object/linux_fr.html
Selon la version du noyau, récupérer le compilateur Gcc 4.0 sur le snapshot Debian sur http://snapshot.debian.net/. En effet, le kernel (2.6-17-2) par défaut est compilé en gcc-4.0 et nécessitera donc un module nvidia compilé en 4.0. En revanche, la version 2.6-18-2 est compilé en 4.1 donc avec le compilateur gcc inclu dans la version 64Studio.
Si vous utilisez un kernel 2.6-17-2 (celui d’origine dans la stable 1.0)
# export CC='gcc-4.0'
Compiler le driver nvidia
# ./NVIDIA-Linux-x86-1.0-9746.pkg1.run
Modifier le fichier /etc/apt/source.list pour récupérer les paquets de la 64studio stable et de Debian Etch (ce qui permet d’installer d’autres applications hors audio) en ajoutant:
deb http://apt.64studio.com/64studio/ stable main deb http://ftp2.fr.debian.org/debian etch main non-free contrib deb-src http://ftp2.fr.debian.org/debian etch main non-free
Pour deux écrans LCD 17 pouces sur une seule carte DualHead à base de chipset Nvidia
Je détaille pas, l’affichage pour moi c’est vraiment le côté obscur, récupérez mon fichier xorg.conf que j’ai mis une éternité à configurer!
Pour suivre les conseils lus ici et là:
Editer /boot/grub/menu.lst et ajouter noapic et nolapic en fin de ligne kernel
kernel /boot/vmlinuz-2.6.18-2-multimedia-486 [...] noapic nolapic
Cela désactive l’Apic qui attribue les IRQ.
Possibilité de désactiver aussi ACPI [gestion avancée de l'alimentation] qui se place sur l’IRQ 9, prioritaire sur une machine non APIC.(ajouter acpi=off)
TODO: Voir si c’est réellement important et significatif
Configurer Jack comme sur le screenShot
Lui donner entre autre une priorité de 72 au lieu de 0 par défaut (72 parce que c’est joli)
TODO: comprendre la valeur.
Carte Via (chipset audio intégré à la carte mère)
Carte M-Audio Audiophile 2496 PCI sur l’IRQ 10
A partir du kernel 2.6 dans Debian, utiliser plutot le répertoire /etc/modprobe.d/ pour placer les fichiers de modules.
Pour éviter les embrouilles:
renommer le fichier modules.conf en modules.conf.off
renommer le répertoire /etc/modutils/ en /etc/modutilsoff/
Dans /etc/modprobe.d/, créer un fichier sound qui contient:
# ALSA portion (chargement du module/driver) alias snd-card-0 snd-via82cxxx # Options du module options snd-card-via82cxxx index=0 # ALSA portion (chargement du module/driver) alias snd-card-1 snd-ice1712 # Options du module options snd-card-ice1712 index=1
Ce programme permet d’éviter les bloquages du PC que peut causer un freeze d’un processus temps réels.
Télécharger la dernière version sur http://www.notam02.no/arkiv/src/ dans /usr/src.
# tar xvzf das_watchdog # cd das_watchdog/ # make # cp das_watchdog /usr/local/sbin/
Créer ensuite un script ‘das_watchdog‘ (Chmod 755) dans /etc/init.d.
Mettre à jour les modes rc.d via
# update-rc.d das_watchdog defaults
Et lancer le daemon:
# /etc/init.d/das_watchdog start
Faire un test
# /usr/src/das_watchdot/test_rt
Si une fenêtre apparaît, c’est OK.
Malgré mes tentatives d’installer Fluxbox qui est bien plus adapté selon moi à une station audio performante, grosses instabilités avec la carte graphique qui plante l’affichage de manière imprévisible. Ne se produit pas sous Gnome (TODO: WHy ?)
Les kernels 32 bits proposés sont tous lowmem enabled… donc les 1Go de RAM sont vus comme 896Mb (Cf dmesg). Dommage pas pas de solution pour l’instant…
Je suis bluffé: bien paramétré comme indiqué, j’ai pu faire tourner le proc à 100% (sur une extraction d’archive de taille importante), tout en faisant tourner Ardour, Hydrogen et Qsynth, en enregistrant dans Ardour, sans aucun Xrun. Impressionnant!
Pour mémoire, information, téléchargement, etc…
Cette note explique rapidement comment mettre en place un serveur audio (MPD), puis diffuser le flux au format OggVorbis sur Internet (Icecast2). Cette solution permet donc de réaliser facilement une webRadio peu gourmande en ressources, dont les usages variés raviront le musicien: diffusion de musique sur plusieurs PC aux 4 coins du monde, diffusion de compositions…
MPD (Music Player Daemon) est un comme son nom l’indique un lecteur/serveur audio qui fonctionne sous forme de daemon (à la manière du serveur de mail exim4 par exemple, c’est à dire en tâche de fond). Cette solution remplacera avantageusement votre vieux lecteur xmms car sans interface graphique, la performance est optimale et sans fioriture. MPD se contrôle donc au moyen d’un client, qui va lui envoyer des commandes. Il existe plusieurs clients, certains graphiques, certains en console. J’utilise personnellement ncmpc, interface ncurse, légère, en mode texte, rapide et simple à utiliser (et tout au clavier!).
Cette première partie détaille la configuration de MPD en tant que serveur audio autonome sur un seul ordinateur. Cela permet de lire l’ensemble de vos fichiers audio au format ogg ou mp3, d’écouter des webradios et bien plus encore…
Le package mpd est dans toutes les distributions et s’installe facilement avec aptitude par exemple sous Debian.
Editer le fichier /etc/mpd.conf, en changeant les paramètres
music_directory
playlist_directory
et éventuellement db_file, log_file, error_file et pid_file, surtout si vous prévoyez d’utiliser mpd dans un compte non root.
Par exemple chez moi:
music_directory "/mnt/share/mp3" playlist_directory "/mnt/share/mp3/playlist" db_file "/mnt/share/mp3/.mpd/tag_cache" log_file "/mnt/share/mp3/.mpd/mpd.log" error_file "/mnt/share/mp3/.mpd/errors.log" pid_file "/mnt/share/mp3/.mpd/pid"
Eventuellement précisez quelle carte audio utiliser si vous en avez plusieurs:
audio_output {
type "alsa"
name "Via Chip"
device "hw:1,0" # optional
format "44100:16:2" #optional
}
mixer_type "software"
state_file "/var/lib/mpd/state"
NB: pour plus de sécurité, vous pouvez décommenter et modifier le paramètre user plus loin dans le fichier de configuration (mais dans ce cas, vous devez vous assurer que le user saisi a les droits d’écritures sur les fichiers définis précédemment (de log par exemple).
La première fois, il faut demander de créer la base de données du serveur, à partir de la commande:
# mpd --create-db
Pour lancer mpd:
# /etc/init.d/mpd start
Normalement, mpd se lancera à chaque démarrage du système, comme n’importe quel daemon.
J’ai choisi ncmpc (la version ncurse de mcp, pur produit en ligne de commande), qui s’installe à partir du package Debian du même nom.
ncmcp se lance dans un terminal via la commande:
~ ncmpc
Une fois lancé, il se connecte directement au serveur mpd (sur le port 6600 par défaut).
Je ne détaille pas, les principales commandes de ncmcp sont accessibles via la touche F1.
En synthèse l’utilisation est simple: votre bibliothèque musicale est accessible via la touche F3. Vous ajoutez des fichiers et des répertoires à votre playlist en vous déplaçant dans vos fichiers, puis en les sélectionnant à l’aide de la touche Espace.
La playlist est accessible via la touche F2. Vous pouvez sauvegarder une playlist en appuyant sur S. Vous pouvez lancer une recherche dans tous vos fichiers via la touche F5.
A ce stade, MPD émet un flux en local (sur vos enceintes). Nous allons le configurer pour qu’il émette également un flux oggVorbis en streaming.
Simplement modifier la section nommée SHOUT STREAMING du fichier /etc/mpd.conf:
audio_output {
type "shout"
name "Ma station"
host "mon hostname"
port "8000"
mount "/stream.ogg"
password "monpassword"
# quality "7.0"
bitrate "128"
format "44100:16:1"
#
# Optional Paramters
user "source"
description "Description de la Radio"
genre "Jazz"
} # end of audio_output
Laisser le nom ‘source’ pour le user (à priori).
Au niveau du hostname, j’ai mis le nom du serveur, sur le réseau interne (son IP privée même…).
Le mot de passe est important, vous devrez le reporter dans Icecast (à priori).
Au passage, décommentez également la ligne 198:
password "XXXXXXX@read,add,control,admin"
Cela permet de protéger l’accès à MPD avec un mot de passe. Du coup, vous pourrez vous connecter au serveur via la commande:
~ ncmpc -P XXXXXXXX
Icecast2 permet de diffuser le flux généré par le serveur audio MPD à tout l’internet, en streaming. Icecast2 permet de diffuser un flux »source », mais également de relayer une autre station (relay, non expliqué et non mis en place ici).
Installer le package icecast2 via aptitude.
# vim /etc/icecast2/icecast.xml
Le fichier de configuration est en XML, c’est un peu touffu, mais facile à comprendre à la lecture.
Quelques paramètres que j’ai changé:
Ligne 3: Nombre de clients pouvant se connecter simultanément. J’ai limité, ayant un petit serveur peu puissant à la maison.
<clients>5</clients>
Ligne 25: reportez le mot de passe ‘monpassword’ de la source (mpd).
<source-password>monpassword</source-password>
Ligne 31: mot de passe admin: j’ai mis celui défini dans mpd pour le compte admin (XXXXXXXX), mais je pense qu’il peut être différent.
<admin-password>passwordAdminIcecast</admin-password>
Ligne 45: le hostname du serveur: j’ai mis mon adresse IP fixe
<hostname>xx.yy.zz.ww</hostname>
Pour lancer Icecast2 au démarrage, en tant que daemon, il suffit d’éditer /etc/default/icecast2
et de modifier l’option ENABLE=true à la fin du fichier.
Stoppez icecast2 s’il est lancé pour recharger le fichier de configuration.
#/etc/init.d/icecast2 stop
Sous root, faire
#/etc/init.d/mpd start #/etc/init.d/icecast2 start
Pour créer la bibliothèque multimedia de mpd, faire:
# mpd --create-db
Sur la base du paramétrage précédent, le flux audio est accessible à l’adresse:
http://hostname_publique:8000/stream.ogg
N’importe quel lecteur multimédia (xmms, vlc, Winamp…) sera capable de lire ce flux.
L’interface d’Icecast2 est accessible à l’adresse:
http://hostname_publique:8000
Dans la partie Admin, vous pouvez vous logguer en saisissant les identifiants du compte admin définis dans Icecast (admin / passwordAdminIcecast dans mon exemple).
Il suffit d’arrêter les daemons, sous root:
# /etc/init.d/icecast2 stop # /etc/init.d/mpd stop
http://www.musicpd.org
http://www.icecast.org/
http://blog.effraie.org/post/2006/11/06/MPD-et-icecast2-Webradio-ou-lecteur-ultime
Ca y est, j’ai craqué pour une Squeezebox classic, trouvée sur eBay à 150 euros. La Squeezebox (vendue par Logitech) est un boitier audio à brancher à une chaîne Hifi, capable de se connecter à internet et donc de diffuser des webradios et d’accéder à votre bibliothèque musicale, quel que soit le format (mp3, ogg, flac, wma etc…). C’est une solution idéale pour écouter de la musique dans votre salon (quand votre PC est dans une autre pièce).
Ci-dessous pour mémo mes quelques notes suite à l’installation du serveur de diffusion audio slimserver sur mon fanless ‘YoyoBox’ en mode lecture seule (carte compact flash) parce que ça a pas été simple en raison du mode lecture seule et de la taille assez conséquence des dépendances à installer… Bref, ça marche donc pour mémo et bonne chance avec le vôtre…
- Non car impossible d’installer Squeezeserver 7.3.2 à cause de mySql qui est trop gourmand pour monter en mémoire avec uniquement 256Mo de RAM. Ca plante à l’install faute d’assez de place /unionfs.
TODO: ça semble marcher sur le second fanless (CF 1Gb | 512 Mo Ram). A retenter ultérieurement…
- Du coup, repli sur la version Slimserver 6.3.1 inclue par défaut dans Debian Etch.
- Installation du package slimserver de Debian Etch
- Editer /etc/default/slimserver:
Modifier HTTP_ADDR = titanium (le nom DNS du serveur)
Cela permet désormais depuis un autre ordinateur de se connecter via l’interface web à
http://titanium:9000
- Modifier /var/lib/slimserver/slimserver.pref selon votre configuration.
La difficulté pour moi a été de gérer le mode lecture seule. J’ai donc sorti le répertoire ‘cache’ (qui doit être accessible en écriture) sur une partition rw (de mon disque dur), et non sur la Compact Flash.
Les quelques paramètres importants que j’ai modifié:
allowedHosts: ’127.0.0.1,192.168.0.*
audiodir: /mnt/data/mp3
cachedir: /mnt/data/slimserver/cache
playlistdir: /mnt/data/playlists
Tous les packages nouveaux et anciens du slimserver / SqueezeCenter
http://downloads.slimdevices.com/
J’ai écumé le web à la recherche de la distribution la plus adaptée pour mon usage. Il y a plétore de distributions GNU/Linux et de plus en plus de distributions ‘Live’ (qui s’exécutent en lecture seule). Toutes ont leurs spécificités, leurs points forts mais aussi leurs points faibles. Je vous livre le résultat de ma propre expérience dans ma quête de la distribution parfaite pour ma yoyoBox…
Pour le fun, un assistant pour choisir sa distro!
Dans mon cas, je cherchais le graal: une distribution légère mais polyvalente, capable de tourner sur un CPU de 533Mhz avec 256Mo de RAM, orientée multimédia tout en disposant des daemons nécessaires à mon usage (du genre serveur FTP, SSH, NFS, SAMBA, MPD…), capable d’être installée en lecture seule sur une compact Flash, en ayant la possibilité de personnaliser l’installation mais aussi de mémoriser facilement les changements opérés dans la configuration par la suite. Le tout sans être trop compliqué à installer et à configurer…
DSL est surement la distribution la plus souvent citée quand on parle d’installation en lecture seule et de petite config. Elle est assez polyvalente (même si elle est plutôt orientée bureautique). Je me suis fait la main avec le live-CD en version 4.1, ce qui m’a permis de trouver un certain nombre d’informations techniques sur le matériel ainsi que de copier certains fichiers de configuration (le système de configuration automatique de Knoppix est définitivement top!). DSL fait une cinquantaine de Mo et est conçu pour tourner sur une majorité de plateformes, même anciennes.
Le mode Frugal Install est intéressant car il permet d’installer DSL en lecture seule (sur une Compact Flash par exemple). La mémorisation des paramètres personnels est également possible via le concept de myDS, mais je n’ai pas creusé plus loin.
Le seul point noir à mon avis est que DSL n’est pas énormément évolutif (il y a bien un système de paquets dans lequels je n’ai pas trouvé VLC, Mplayer, NFS).
GeexBox est une distribution live (8mo!) qui transforme votre ordinateur en lecteur multimedia (basé sur mplayer). J’ai trouvé ça bluffant et très fonctionnel, la lecture divX est très fluide, même sur ma petite machine.
Là encore, dès que l’on veut sortir des sentiers battus en installant ‘des trucs pas prévus pour’, ça se complique (trop pour moi)…
Finalement, j’ai choisi Debian, parce que c’est la distribution GNU/Linux que je connais le mieux et qu’elle contient tout ce dont j’ai besoin.
Concernant l’installation en lecture seule, ça n’a pas été évident tout de suite à mes yeux. Il existe plusieurs projets Live-CD de Debian, mais ce n’est pas ce que je cherchais (je ne voulais pas un CD déjà tout fait, mais faire moi même ma propre version customisée de Debian, en lecture seule).
Il y a bien aussi le projet Debian Live, mais la seule question qui m’intéressait de la FAQ (How can I convert an already installed standard Debian partition into a Debian Live system?) reste désespéremment sans réponse…
Au final, j’ai trouvé la solution un peu par hasard, sur cette page. Pour pouvoir appliquer cette méthode, il faut avoir un système GNU/Linux déjà fonctionnel (pour pouvoir faire une nouvelle installation dans un répertoire via chroot). Ensuite, Casper et le script moo font le reste…
J’ai du mettre à jour le Bios de la carte mère car la précédente installation (ADD-X Titanium 500, une sorte de client léger que je n’ai pas réussi à identifier) utilisait une version particulière de BiosAward. Du coup, un certain nombre de paramètres n’étaient pas disponibles depuis le Bios.
Télécharger la version CV860AA3.BIN du Bios au format .tar.gz (256 Ko).
J’ai fait la mise à jour en bootant sur une clé USB bootable au format DOS, contenant le fichier CV860AA3.bin ainsi que l’utilitaire awdflash.exe. J’ai réalisé la clé sous Windows XP.
Attention, réalisez cette opération à vos risques et périls!
L’accès aux paramètres du Bios se fait selon les systèmes en appuyant sur ‘DEL’, F2, F11 pendant la séquence de boot.
http://jphdupre.chez-alice.fr/win_xp/usbkey/usbkey.html
Note 1: Attention à la compatibilité de la RAM: ma barrette Samsung 512Mo (16×32) est reconnue comme une barrette de 256Mo (la machine était fournie avec 128Mo Ram).
Télécharger le manuel de la carte mère VIA CV860A (pdf, 1.9Mo).
Audio: snd-via82xx
… à compléter …
Combien d’heures, combien de reboots, combien de jurons…
Je souhaite installer Debian sur une carte compacte-Flash.
La principale difficulté de la manipulation réside dans la réalisation d’un système personnalisé mais en mode lecture seule (car les Compact-Flash ne supportent pas des cycles d’écritures répétés, comme peuvent les supporter les disques durs).
C’est celle que j’ai essayé de mettre en oeuvre pendant de nombreuses heures: essayer d’installer Debian sur la CF (en branchant un lecteur CD sur la nappe 3.5)! Ca marche pô, pour différentes raisons (notamment du fait que la carte flash n’est pas reconnue comme une disque dur par l’installeur de Etch).
C’est la seconde méthode que j’ai tenté, après l’échec de la première.
Installer Debian sur un disque dur 2.5 branché sur la nappe IDE secondaire, depuis le lecteur de CD-Rom branché sur la nappe IDE primaire. Ensuite, faire une copie des partitions du DD vers la CF, en modifiant le /etc/fstab pour en mettre certaines en lecture seule/. En bricolant avec unionfs, j’ai même réussi à la faire fonctionner, mais les mises à jour sont laborieuses.
La méthode avec Unionfs est expliquée ici.
Utiliser Casper (qui vient du monde Ubuntu et utilisé pour faire des liveCD de Debian) et Moo (un script qui automatise tout cela). Je rentre pas dans les détails techniques, cela me dépasse. J’ai simplement suivi à la lettre les instructions qui sont ici et ça fonctionne à merveille (au passage, merci à ‘flimzy’ pour ce superbe howto). En somme, la technique consite, à partir d’une machine équipée Linux, de réaliser une installation minimale de Debian sur la carte (via chroot et un lecteur de carte Compact Flash). Ensuite, il est possible de modifier l’image en lecture seule sur la carte (donc d’écrire en dur les modifications ‘volatiles’ faites en mémoire sur le système), en jouant simplement le script Moo.
La méthode avec Moo et Casper est expliquée ici.
Il est désormais relativement commode de réaliser une clé USB bootable avec une distribution GNU/Linux en mode lecture seule.
En vrac, 2 liens intéressants:
Create Your Own Live Linux CD or USB distribution | USB Pen Drive Linux
Kristof?s blog » Blog Archive » Debian on compact flash
Serveur NFS (nfs-kernel-server)
Serveur SSH (openssh)
Serveur audio et frontend ncurse (mpd & ncmpc)
Serveur de diffusion webradio (icecast2)
Serveur X (xorg)
Gestionaire de fenêtre léger (fluxbox)
Lecteurs multimédias (mplayer & vlc)
Client Bittorrent (bittornado)
Copie avancée de répertoires, backup (rsync)
Gestionnaire de fichiers (rox-filer)
Monitoring système (conky)
Analyseur de logfiles (logcheck)
Viewer d’images (gqview)
Utilitaires de compression (rar,zip,bzip2,tar)
Utilitaires disque dur (smartmontools, hdparm et sdaparm
Plusieurs jours que je me bats avec un petit serveur fanless (Via 533 Mhz) acheté sur eBay, à essayer d’installer Debian Etch dessus, pour en faire une « box-à-tout-faire », mais à tout faire dans le silence. Comme j’y suis finalement arrivé – non sans mal-, je vous raconte…
L’objectif pour moi est d’utiliser cette petite machine comme un mini-pc de salon ‘à tout faire’, soit:
-Un serveur de fichiers (Nfs & Samba) pour partager les fichiers d’un disque dur USB externe (mp3, photos, vidéos, documents…) entre les 3 ordinateurs de l’appartement
-Un serveur ssh pour le piloter à distance
-Un serveur audio (mpd) connecter à ma chaine stéréo, également accessible en webradio
-Un client Bittorrent (bitTornado) pour partager des fichiers
-Un lecteur vidéo capable d’encoder en mpeg2 en temps réel pour diffuser sur la Freebox (via VLC)
-Un système de backup périodique (par un second disque USB)
-Potentiellement plein d’autres choses encore qui pourraient trouver leur place sur une machine de salon allumée tout le temps, il suffit d’imaginer (décharger l’appareil photo, recharger l’ipod, rendre accessible une clé USB sur le réseau etc.)
Cette machine est en vente ici.
CPU Via 533 Mhz
3 ports USB 1.1 bootable
1 port IDE 3.5 et 1 port IDE 2.5
1 LAN 10/100 (Realtek)
Carte Compact Flash Kingston 2Go sur /dev/hdc
Carte Graphique intégrée Trident 8Mo AGP : Sortie VGA
Carte Audio intégrée (Via)
256Mo Ram PC133 (en fait devait être 512 mais la carte est à moitié reconnue!)
Disque dur externe 5400 tours en USB 1.1
Alimentation en 12V / 3A

Configuration absolument silencieuse (aucun ventilateur)
Ne consomme presque rien (peut rester allumée 24/7)
Globalement plus puissante et évolutive (et plus économique) qu’une ‘Multimedia Box’ du commerce.
Système en Read-Only donc qui ne craint pas les coupures électriques ou les reboots un peu sauvage…
Une sortie audio stéréo (jack 2.5mm)
La prise micro -je pourrais en faire une sampleBox plus tard
Le USB1.1: ca n’autorise des transferts théoriques qu’à 1.2 Mo/s (contre plus de 30 Mo/s pour l’USB2)
Le processeur 533Mhz: en fait, c’est vite limite-limite pour tout ce qui demande du ‘temps réel’ (genre diffuser un flux audio ou video).
Pas de sortie TV, ce qui va grandement compliquer la diffusion vidéo sur mon écran TV cathodique (entrée péritel uniquement).