|
|
Ce document est disponible en: English Castellano Deutsch Francais Nederlands Russian Turkce Arabic |
par Philip de Groot <philipg /at/ baserv.uci.kun.nl> L´auteur: Il va bientôt obtenir son doctorat à l'université de Nijmegen avec pour sujet la chimiométrie. Il aime travailler avec Linux et écrit régulièrement ses expériences. Traduit en Fran�ais par: Iznogood <iznogood /at/ iznogood-factory.org> Sommaire: |
Enregistrement de mp3 en temps réelRésumé:
Cet article traite de l'enregistrement de la musique. Contrairement au "truc" de LinuxFocus de Janvier 2001, le 'coûteux' format WAV n'est pas utilisé. Le format mp3, beaucoup plus petit, est utilisé pour l'enregistrement direct. Il est possible d'obtenir 24 heures d'enregistrement en qualité CD avec ce format.
|
L'enregistrement rapide d'un fichier wave prend beaucoup d'espace disque (100 MB pour 10 minutes de musique stéréo en qualité CD). Cela limite la capacité de stockage de ce type de musique. Un codeur mp3 est capable de convertir le fichier wave de 100 MB en un fichier de 10 MB en qualité standard mp3 (128 kbps, stéréo). Cette propriété permet l'enregistrement numérique de la musique pendant 24 heures, sans aucune interruption! 24 heures, ça fait 60*24 = 1440 minutes, en utilisant seulement 1,4 GB (1440 MB) d'espace disque !!! J'ai utilisé cette propriété pour enregistrer les 80 top 300, transmis par la radio Loostad (quelques pages Anglaises sont aussi disponibles). L'enregistrement n'a été interrompu qu'une fois car le programme d'enregistrement de mp3 s'arrête automatiquement au bout de 24 heures et cela n'était pas documenté... mais l'enregistrement était très bon! Dans cet article, je présente le logiciel utilisé, je propose des alternatives pour réaliser des enregistrements temps réels de mp3 et je fournis quelques outils disponibles en téléchargement.
'Mpegrec' fait la même chose que 'sox | lame' mais des paramétrages différents sont déjà définis. L'utilisateur n'a rien à faire pour enregistrer, sinon d'installer 'Lame'! Je vous conseille d'utiliser 'mpegrec'. Néanmoins, rappelez-vous que ce programme s'arrête au bout de 24 heures!!! De plus, un bug dans la programmation donne des temps d'enregistrement erronés: le temps d'enregistrement indiqué par l'utilisateur n'est pas correctement utilisé. La plupart du temps, c'est beaucoup plus court!
-b | Utilise 128 kbps pour le taux de transfert mp3. La valeur standard dans 'mpegrec' est à 192, ce qui est étrange (et beaucoup trop haut). La plupart des fichiers mp3 ont un taux constant de 128 kbps. |
-o | Nom du fichier de sortie. Dans cet exemple : ./test.mp3. Si aucun fichier n'est défini, tout est envoyé vers la sortie standard ('stdout'). Habituellement, c'est le xterm dans lequel le programme est exécuté. Tout le codage du mp3 est affiché à l'écran au lieu d'être stocké dans un fichier... |
Attention:
Vérifiez que les paramètre de mixage soient corrects. Si ce
n'est pas le cas, rien ne sera enregistré! La bonne source d'enregistrement doit
être sélectionnée et les contrôles de volumes doivent être réglés au maximum.
sox | Le programme d'enregistrement : le son est enregistré en utilisant le 'line-in' de la carte son. |
-t ossdsp | L'entrée du son a pour origine les pilotes de son OSS. Ces pilotes sont inclus dans le noyau Linux si le support standard du son est défini. |
-w | Le type de bit d'échantillonnage est 16 bits long word (si vous ne comprenez pas : ne vous inquiétez pas, ce n'est pas important). |
-s | La 'donnée échantillonnée' est 'signed linear' - linéaire signé - (si vous ne comprenez pas : pas de panique, ce n'est pas important). |
-r 44100 | La fréquence d'échantillonnage est de 44100 Hz (qualité CD). |
-c 2 | Enregistrement à partir de deux canaux (stéréo). |
/dev/dsp | C'est le périphérique d'échantillonnage du son : le périphérique linux qui fournit les données d'enregistrement. Tous les périphériques, ports, disques, etc sont accessibles par le répertoire '/dev'. Dans linux, le flux du son est accessible à partir de '/dev/dsp'. En fait, il est même possible d'obtenir votre fichier son en utilisant la commande suivante : 'cat /dev/dsp >test.wav' (ne fonctionne que si les paramètres de mixage sont corrects!!!). |
-t raw | La sortie est faite de données 'brutes' (inchangées, directement à partir de la carte son). |
- | Utilise la sortie standard, symbolisée par '-' |
lame | Le programme de codage : le son enregistré est envoyé à 'lame' pour la conversion mp3. |
-x | 'Forcer le byte-swapping pour l'entrée '. Je ne connais pas la fonction précise de cette option mais sans elle, la procédure ne fonctionne tout simplement pas (avant que je ne la trouve!). |
-m s | Encodage au format mp3 stéréo. En standard, 'lame' encode en 'joint-stereo': seules les DIFFERENCES entre les deux canaux du son sont encodées. Le résultat est une meilleure compression mais la qualité est moins bonne. |
- | L'entrée est 'stdin'. C'est correct pour notre exemple. |
./test.mp3 | Le nom du fichier mp3 final. |
La Figure 1 décrit que le microphone est la source d'enregistrement courante. Pour notre propos, une source externe est connectée à l'ordinateur en utilisant le connecteur 'line-in' de la carte son. La source d'enregistrement doit être 'line-in'. Si le pointeur de la souris est positionné sur le canal line-in du mixer KDE, le résultat d'un clic droit dans le menu est décrit dans la Figure 2:
Bien sûr, 'RecSource' est sélectionnée pour définir le 'line-in' de la carte son comme source d'enregistrement. Utilisez la même procédure pour que le micro ne soit plus source d'enregistrement : vous ne tenez pas à une source de bruit additionnelle!
Figure 3: Le mixer KDE est paramétré correctement.
La remarque ci-dessus indique que les enregistrements peuvent être meilleurs
si aucun environnement graphique n'est présent. Cela signifie aussi que le shell
Bash doit être utilisé (un shell en mode texte). Cette approche a certaines conséquences :
Ces deux problèmes peuvent être résolus assez facilement. Le premier
problème, le support de son, est résolu comme suit :
'modprobe -k sb'
Cette commande charge le module 'sb', qui installe ma carte son (une SoundBlaster AWE 64). Si vous ne connaissez pas le module qui doit être installé, regardez dans '/etc/conf.modules' (SuSE) ou '/etc/modules.conf' (selon votre distribution). Pour moi, la partie carte son est la suivante :
Le second problème est de sélectionner le 'line-in' sur votre carte son avec un
programme de mixage basé sur le texte. J'utilise le programme 'aumix'. Si la
commande 'aumix' est exécutée dans Bash, le mixer démarre en mode interactif.
Dans ce mode, les paramètres peuvent être contrôlés et changés en un clin d'oeil, voir la Figure 4.
Vous pouvez sélectionner les différentes sources d'enregistrement avec les touches fléchées. Les touches '<' ou '>' sélectionnent le volume (gauche) ou la balance (droite). Les touches '+' et '-' augmentent et diminuent le volume de la source actuellement sélectionnée. 'm' mute ou unmute la source courante. Si la source courante est sélectionnée comme source d'enregistrement, un 'R' rouge est affiché sur la gauche de cette source de volume. Si la source n'est utilisée que pour du playback, un 'P' vert est affiché. Presser 's' sauve les paramètres courants dans '~/.aumixrc'. Ces paramètres sont activés très facilement au démarrage suivant avec la commande : 'aumix -l'.
Pour automatiser la procédure ci-dessus, j'ai écrit un petit script : './mrec'. Ce script contient les lignes suivantes :
modprobe -k sb
aumix -l
mpegrec -b 128 -o ./test.mp3
Le son est initialisé, 'line-in' est sélectionné comme source d'enregistrement et 'mpegrec' démarre immédiatement l'enregistrement.
Les fichiers 'lame' et les conseils d'installation peuvent être trouvés là.
Note: Je ne vais pas parler de l'installation sous windows mais vous aurez
besoin de la version windows de 'lame'!!! La version windows de 'mpegrec' est
seulement disponible pour ceux qui sont intéressés. Une bonne documentation est
incluse dans le fichier .tar.gz-file (winzip). Le lien de la page d'accueil peut aussi aider.
Les lignes qui n'avaient pas de '#' doivent maintenant en avoir un. Vous n'avez pas besoin de ces options supplémentaires!
mv /usr/sbin/cron /usr/sbin/cron.backup
Il y a des chances pour que 'cron' se situe ailleurs dans d'autres distributions Linux. Vous pouvez le trouver avec la commande :
which cron
Vérifiez si 'cron' est nécessaire à d'autres tâches! Sur une machine de bureau Linux, cela ne doit pas être un problème.
Site Web maintenu par l´équipe d´édition LinuxFocus
© Philip de Groot "some rights reserved" see linuxfocus.org/license/ http://www.LinuxFocus.org |
Translation information:
|
2005-02-13, generated by lfparser version 2.52