Bonjour,
Il est difficile aujourd'hui de faire de la musique sans passer par les fichiers MIDI car ils peuvent servir à piloter votre hardware et/ou à jouer de la musique.
Tout cela est bien beau, cependant ecasound ne supporte pas nativement la synchronisation Midi avec le monde extérieur. Il est seulement capable d'envoyer start/stop à un périphérique MIDI.
Pourtant il existe une application qui permet de transformer les informations de transport Jack en Messages Midi Clock si vous utilisez un seul tempo dans votre chanson.
Nous allons voir comment synchroniser midish avec ecasound grâce des messages Midi Clock.
Installation
Dans cet article, l'installation de jack et la configuration de votre Linux pour la MAO n'est pas abordé. Cependant, vous trouverez sur ce blog les articles nécessaires à la réalisation de cette tâche (voir lien en à la fin de cet article).Pour les besoins de cet article, il vous faudra installer:
$ sudo apt-get install ecasound midish a2jmidid fluidsynth fluid-soundfont-gm
et téléchargez jack_midi_clock et le compiler:
$ bzip2 -d jack_midi_clock-0.4.0-bad61589.tar.bz2 $ tar xvf jack_midi_clock-0.4.0-bad61589.tar $ cd jack_midi_clock-0.4.0-bad61589 $ sudo make install
Vous pouvez aussi à la place de la version ci-dessus, utiliser la version suivante d'un autre mainteneur (travail plus récent):
$ git clone git://github.com/x42/jack_midi_clock.git $ cd jack_midi_clock $ sudo apt-get install libjack-dev libjack-jackd2-dev $ make $ sudo make install
Démarrer les programmes
1/. Démarrer jack avec qjackctl par exemple.2/ Démarrer le pont entre port MIDI jack et alsa:
$ j2amidi_bridge
3/ Démarrer la traduction du transport jack en évenements MIDI Clock avec le tempo que vous désirez (ici 110 bpm)
$ jack_midi_clock -b 110
4/ Connectez les ports MIDI jack de jack_midi_clock vers j2a_bridge.
5/ Démarrer fluidsynth (synthétiseur logiciel avec banque son pour votre fichier MIDI):
$ fluidsynth -j -a jack -m alsa_seq -p fluidsynth /usr/share/sounds/sf2/FluidR3_GM.sf2
6/ Démarrer rmidish
$ rmidish
Saisissez le script suivant et adaptez le à votre environnement:
# ajoute les périphériques MIDI ALSA # # device 0 dnew 0 "131:fluidsynth" wo # device 1 dnew 1 "134:j2a_bridge" ro # déclare le device 1 comme master clock dclkrx 1 # active le métronome m on # importe un fichier MIDI import "batterie.mid" # convertit le fichier MIDI au clock rate standard setunit 96 # play (attend les informations de transport jack_midi_clock avant de commencer à jouer p
NB: les lignes avec dièse devant peuvent être ignorées lors de la saisie ...
7/ Démarrer ecasound. Ce qui est important c'est qu'il soit initiateur du transport (-Gjack,ecasound,send)
$ ecasound -c -s projet.ecs
NB: le fichier projet.ecs est à remplacer par votre fichier projet ou une ligne de commande plus simple du style:
$ ecasound -c -i fichier.wav -o jack,system -G:jack,ecasound,sendune fois dans le mode interactif, saisissez:
engine-launch t
NB: t pour start, s pour stop. ecasound contrôlera midish également. Vous devriez entendre un click de métronome, votre fichier MIDI (grâce à fluidsynth piloté par midish), vos pistes audio dans ecasound et tout ceci synchronisé.
L'idéal serait que midish implémente le support du serveur de son jack pour avoir la possibilité d'utiliser des ports midi jack mais à ma connaissance, ce n'est pas à l'ordre du jour.
Articles connexes
Voici d'autres articles sur ecasound qui pourront vous intéresser.
- ecasound / nama le multitrack recorder léger !
- 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