Chargement...
 
Skip to main content

Historique: Enregistrer son clavier maitre

Aperçu de cette version: 5



Cette page présentera Enregistrer son clavier maitre.




 attention
Page en cours d'écriture


Ce qu'on veut faire.


Le but de ce tuto est d'expliquer une mise en oeuvre logicielle qui permette de s'enregistrer et se réécouter facilement au clavier maitre. Je l'utilise lorsque je travaille mes morceaux pour le contrôle. Comme je l'utilise tous les jours, j'ai surtout visé une ergonomie ultra-simple sans installation de matériel d'enregistrement, ni de logiciel a ouvrir qui nous coupe de notre musique. Le but est d'utiliser les boutons du clavier maitre comme ceux d'un bon vieux magnétophone:
- Un bouton pour l'enregistrement
- Un bouton pour la lecture de l'enregistrement
- Un bouton Stop (pour la lecture et l'enregistrement)

Prérequis


Tu as un clavier maître fonctionnel, qui envoie sa sortie midi sur un séquenceur midi, le tout dans Jack ( Je prendrai comme exemple un clavier vmk-161 qui envoie le midi sur linux-sampler, et je travaille sous ubuntu studio, mais c'est facilement adaptable aux autres cas ). Les logiciels mididings,jack-smf-recorder et jack-smf-player doivent être installés sur ta machine.

Mididings est normalement inclus dans ta distribution. Pour jack-smf-recoder et jack-smf-player, j'ai du les télécharger, puis les installer. Pour cela, télecharger l'archive, la décompacter, ouvrir un terminal, faire un cd pour aller dans le repertoire où se trouve l'archive décompactée, puis entrer la suite de commandes
Copy to clipboard
./configure make sudo make install

Cette suite de commandes doit etre saisie dans un terminal depuis le répertoire ou se situe

Description de la procédure générale.


J'ai choisi d'enregistres le fichier midi qui sort du clavier plutôt que le fichier audio pcm/wav qui sort du séquenceur : le fichier midi est plus léger que le pcm/wav. Si plus tard, j'ai besoin du .wav, je pourrai toujours recréer ce fichier pcm/wav en envoyant le midi vers le séquenceur.


Les étapes:
  • Ecrire un d'enregistrement de la sortie midi du clavier
  • Ecrire un script de lecture de fichier midi pour rejouer le fichier enregistré
  • Choisir les boutons affectés à l'enregistrement et connaître les évènements midi associés.
  • Ecrire un script mididings pour intercepter les évènements midi et lancer les scripts adéquats.





Les scripts


Il faut que tu crées les fichiers suivants dans un répertoire:
  • magnetoVmkRecStart.sh
  • magnetoVmkRecStop.sh
  • magnetoVmkPlayStart.sh
  • magnetoVmkPlayStop.sh

Tu mets dans ces fichiers le contenu suivant. Dans mon installation,
les fichiers se trouvent dans le répertoire $dirscripts/musique.
Il faut bien sûr que dans le code qui suit, tu adaptes le code et que tu remplaces
$dirscripts/musique par le nom du répertoire où tu mets tes fichiers.

Programme magnetoVmkRecStart.sh:
Copy to clipboard
cd $dirscripts/musique ./magnetoVmkPlayStop.sh jack-smf-recorder /tmp/enregistrement.midi


Programme magnetoVmkRecStop.sh:
Copy to clipboard
killall -s SIGINT jack-smf-recorder


Programme magnetoVmkPlayStart.sh:
Copy to clipboard
cd $dirscripts/musique source ./magnetoVmkPlayStop.sh jack-smf-player /tmp/enregistrement.midi


Programme magnetoVmkPlayStop.sh:
Copy to clipboard
killall jack-smf-player


Il reste maintenant à rendre ces fichiers exécutables, soit en ligne de commande ("chmod a+x nomDuFichier") soit par l'interface graphique de ton choix.

Voila, on a maintenant les scripts fonctionnels. Il reste maintenant à les associer aux boutons de notre clavier maître, et à effectuer les connections dans jack.

Connections dans Jack


Il faut relier la sortie du clavier maitre vers l'entrée de jack-smf-recorder, puis la sortie de jack-smf-player vers l'entrée de ton





Reconnaitre les boutons de notre clavier maître

Quand on appuie sur un bouton de notre clavier, une instruction est insérée dans le fichier midi. Il s'agit normalement d'une instruction "CTRL" affublée d'un numéro de controle et d'une valeur. On veut savoir quel contrôle et quelle valeur correspond à notre clavier.

Dans un terminal, on tape la commande:
Copy to clipboard
mididings "Print()"

puis on crée dans jack, une connection reliant la sortie midi du clavier vers l'entrée midi de mididings. Toutes les données midi issues du clavier maitre sont ainsi affichées dans le terminal.

Chez moi, j'ai ainsi repéré que les boutons que je souhaite utiliser utilisent les CTRL dont les numéros sont 37 à 39.

Le script mididings.


Chez moi, le bouton d'enregistrement émet le ctrl 37 avec les valeurs 0 et 127 une fois sur deux. La premiere fois que j'appuie sur ce bouton, la valeur 127 est émise et je déclenche l'enregistrement. Lors de l'appui suivant sur cette même touche, la valeur 0 est émise et j'arrête l'enregistrement. Cela correspond au code suivant, que du dois adapter à ton cas personnel.
Copy to clipboard
from mididings import * config(client_name="controleMagneto") run( [ Filter(CTRL) >> CtrlFilter(38) >> System("$dirscripts/musique/magnetoVmkPlayStart.sh"), Filter(CTRL) >> CtrlFilter(37) >> CtrlValueFilter(127) >> System("$dirscripts/musique/magnetoVmkRecStart.sh"), Filter(CTRL) >> CtrlFilter(37) >> CtrlValueFilter(0) >> System("$dirscripts/musique/magnetoVmkRecStop.sh"), Filter(CTRL) >> CtrlFilter(39) >> System("$dirscripts/musique/magnetoVmkPlayStop.sh")] )


Tu sauvegardes ce code par exemple sous le nom magnetoVmkMididings.py
En lancant dans un terminal la commande




Travail restant à faire

  • Ameliorer le script magnetoVmkPlayStop pour que le son s'arrete instantanement au lieu des quelques secondes actuelles
  • Ajouter deux boutons AvanceRapide/RetourRapide qui decalent la lecture de 10/5 secondes pour sauter un passage/réecouter un passage critique


Liens et commentaires




Historique

Avancé
Information Version
Mercredi 13 janvier 2016 14:10 olinuxx Intégration dans le portail des tutos et dans la structure faite + maitre -> maître (dans le titre de la page) 10
Afficher
Mardi 12 janvier 2016 15:12 leLama 9
Afficher
Lundi 11 janvier 2016 21:13 olinuxx fautes d'orthographes (surtout des accents) + un peu de balisage + 2 ou 3 trucs 8
Afficher
Lundi 11 janvier 2016 15:40 leLama Quelques modifs de relecture 7
Afficher
Lundi 11 janvier 2016 15:28 leLama Version plus ou moins finale pour ma part. Olivier, tu peux relire, faire les changements qui te semblent necessaires et mettre en ligne. Merci d'avance pour ton aide. 6
Afficher
Lundi 11 janvier 2016 14:55 leLama Sauvegarde de travail 5
Afficher
Lundi 11 janvier 2016 13:56 leLama En cours d'ecriture. sauvegarde de travail. 4
Afficher
Mercredi 06 janvier 2016 20:05 olinuxx + ajout d'un titre à la page + suppression de la balise HTML (tous deux dans l'onglet "propriétés") 3
Afficher
Mercredi 06 janvier 2016 17:16 leLama Debut du tuto. Version alpha. 2
Afficher
Mercredi 06 janvier 2016 16:48 leLama 1
Afficher