Bonjour,
aujourd'hui je vous parle d'un logiciel Linux qui existe depuis longtemps (1999) et qui est réputé pour être stable et très léger. ecasound est un enregistreur multi-pistes (multitrack recorder) en ligne de commande qui inclut des effets mais qui peut aussi utiliser des plugins LADSPA et LV2 (depuis la 2.9.1) . il va réhabiliter votre vielle ordinateur ou vous permettre d'enregistrer avec un netbook et une carte son USB par exemple !
Le but de cet article n'est pas de refaire une doc sur ecasound mais plutôt de fournir quelques astuces et exemples concrets qui vous permettront rapidement d'être opérationnel sur ce logiciel. Dans cet article, j'utiliserai le serveur de son jack avec ecasound mais sachez qu'il est aussi possible d'utiliser ALSA ou d'autres ... J'aborderai également en fin d'article nama qui est une surcouche à ecasound et qui est plus facile à appréhender.
ecasound supporte de nombreux formats de fichiers (utilise la bibliothèque libsndfile) mais dans cet article, on utilisera le format WAV.
Installation d'ecasound
Pour installer ecasound, tapez la ligne de commande suivante:$ sudo apt-get install ecasound
Obtenir de l'aide sur ecasound:
$ man ecasound
Pour démarrer ...
Voici un exemple qui joue un fichier "musique.wav" sur la sortie du serveur de son jack.$ ecasound -i musique.wav -o jack,system
Voici un exemple qui enregistre un fichier "micro.wav" à partir de l'entrée jack
$ ecasound -i jack,system -o micro.wav
jusque là, ça va ... Maintenant passons à la défintion de quelques concepts d'ecasound.
Concepts
Voici quelques concepts d'ecasound:- le concept de chainsetup : C'est l'équivalent d'un patch audio
- le concept de "chain" qui s'apparente à un jack audio avec toujours une entrée (input) et une sortie (output). On peut appliquer sur un bout de chaîne (entrée ou sortie) des effets et faire des conversions de formats numériques (nombre de bits, nombre de canaux, fréquence d'échantillonage)
ecasound utilise le format de fichier .ecs pour stocker un fichier projet (ecasound chain-setup). Ce type de fichier contient simplement les options en ligne de commande que vous voulez utiliser avec ecasound. C'est beaucoup plus pratique que de saisir des longues ligne de commande.
Exemple de chain-setup
Fichier .ecs
Voici un exemple avancé de projet dans lequel on enregistre deux pistes que l'on monitore avec en plus un mix Basse/batterie/Chant/Click:
######################################################## # GENERAL # Real time low latency -B:rtlowlatency # frame buffer (determine la latence disponible pour le traitement (voir qjackctl)) -b 128 # nom du projet -n:"lacher_prise" # mode update/truncate : update les fichiers en les tronquants -x # s'arrête au premier xrun -z:xruns # mixmode average : mixe en faisant la moyenne -z:mixmode,avg # pour les problèmes de latences : -z:nointbuf # envoie les informations de positionnement aux autres process jack connectés -G:jack,ecasound,send # format numérique par défaut (32 bits, 2 canaux, à 48000 Hz) -f:32,2,48000 # MIDI port -Md:alsaseq,14:0 ######################################################## # -f => format numérique # -i => chain input : entrée de la chaîne # -o => chain output : sortie de la chaîne # -a => chain name : nom de la chaîne # # par défaut, il ne peut y avoir qu'une entrée et une sortie par chaîne # avec loop,tag on peut mettre une entrée sur plusieurs sorties et une même sortie sur plusieurs entrées ######################################################## # AUDIO INPUTS -a:Capture1 -f:,1, -i:jack,system:capture_1 -a:Capture2 -f:,1, -i:jack,system:capture_2 -a:RecCapture1,MixCapture1 -f:,1, -i:loop,rec1 -a:RecCapture2,MixCapture2 -f:,1, -i:loop,rec2 # Les deux lignes suivantes transforment le signal mono en stéréo -a:MixCapture1 -chcopy:1,2 -epp:0 -a:MixCapture2 -chcopy:1,2 -epp:100 # -ea : volume de la piste en pourcentage # -ea:amplify% # # -km : affectation d'un paramètre d'effet à un contrôleur MIDI # -km:fx-param,start-value,end-value,controller,channel -a:Basse -i Basse24-48.wav -a:Basse -ea:100 -km:1,0,100,1,1 -a:Batterie -i Batterie24-48.wav -a:Batterie -ea:100 -km:1,0,100,2,1 -a:Chant -i Chant24-48.wav -a:Chant -ea:100 -km:1,0,100,3,1 -a:Metronome -i Click24-48.wav -a:Metronome -ea:100 -km:1,0,100,4,1 -a:Master -f:,2, -i:loop,all_mix -a:Master -ea:100 -km:1,0,100,5,1 ######################################################## # AUDIO OUTPUTS -a:Capture1 -f:,1, -o:loop,rec1 -a:Capture2 -f:,1, -o:loop,rec2 -a:RecCapture1 -f:,1, -o:new_track_capture1.wav -a:RecCapture2 -f:,1, -o:new_track_capture2.wav -a:MixCapture1,MixCapture2,Basse,Batterie,Metronome,Chant -f:,2, -o:loop,all_mix -a:Master -f:,2, -o:jack,system
Petit diagramme excplicatif
Voici un petit graphique simple qui illustre le script ci-dessus:
/--1c--: new_track_capture1.wav system:capture_1 :--1c--: rec1 :-----+ (loopback) \--2c--: mix_all (loopback) : /--1c--: new_track_capture2.wav system:capture_2 :--1c--: rec2 :-----+ (loopback) \--2c--: mix_all (loopback) : Basse24-48.wav :--2c--: Basse :--2c-------+-: mix_all (loopback) :--: Master :---: system / Batterie24-48.wav :-2c: Batterie :-2c----/ / Chant24-48.wav :---2c-: Chant :-2c-----/ / Click24-48.wav :-2c-: Metronome :-2c-/ / rec2 (loopback) :----1c=>2c--------/ / rec1 (loopback) :----1c=>2c------/ 1c = 1 canal : mono 2c = 2 canaux : stereo loopback : astuce pour connecter une entrée à plusieurs sorties ou plusieurs entrées à une sortie.
Surface de contrôle
ecasound permet de contrôler les paramètres d'effets via un contrôleur MIDI. Celui-ci peut-être hardware ou software (Virtual MIDI Sliders avec wine, Virtual MIDI Piano Keyboard: VMPK ...).
Exemple:
# -km:fx-param,start-value,end-value,controller,channel -a:Metronome -ea:100 -km:1,0,100,4,1La combinaison de -km et -ea permet de contrôler le pourcentage du volume (ici 0 à 100) avec le message MIDI CC 4 sur le canal MIDI 1.
La surcouche à ecasound: Nama
Nama fournit de nombreuses fonctionnalités de haut niveau (punch in/out => track edit, marqueurs, pistes, bus, mixage, mastering, edition non-destructive ...) implémentées avec ecasound. Il évite la surcouche graphique généralement consommatrice en CPU ...
L'avantage sur ecasound est évident, les chainsetups sont gérés automatiquement par Nama. Les commandes de Nama sont de haut niveau, biens documentées dans le logiciel et faciles à comprendre et à retenir.
Comme tout nouvel outil, il y a un temps d'apprentissage mais selon votre cas d'utilisation, cela peut aller très vite. En tout cas, ça peut valoir le coup si vous avez un ordinateur un peu juste en CPU ou avec un petit écran !
Articles connexes
Voici d'autres articles sur ecasound qui pourront vous intéresser.
- Synchroniser un séquenceur MIDI avec ecasound
- Métronome avec ecasound
Voilà,
amusez-vous bien,
Musicalement,
Vous trouverez d'autres astuces pour l'audio et la musique sur Ubuntu par ici.
Aucun commentaire:
Enregistrer un commentaire