Se connecter
Se connecter

ou
Créer un compte

ou
Tutoriel

Mixer avec Reactivision

Par the-effe le 16/10/2007 - (Confirmé)

Introduction

Les tables de mixage et autres surface de contrôle coûtent cher. Sans prétendre à une qualité digne d'un studio, Reactivision permet de se construire un périphérique MIDI intéressant pour peu de frais : du carton, des pots de yaourts et une webcam.

Étape 1

Pour commencer, qu'est-ce que Reactivision ? C'est un logiciel de reconnaissance visuelle développé pour la Reactable, une table lumineuse, sur laquelle les musicos posent des éléments qui permettent de faire la musique. Pour bien comprendre, je vous conseille de voir une démo en vidéo.
Ce logiciel est capable d’envoyer ses informations en MIDI. Ce qui veut dire que toute application capable d’être dirigée par les messages MIDI peut être commandée par Reactivision, que ce soit un Cubase, un Reason, un synthétiseur... Cerise sur le gâteau, Reactivision est un logiciel libre.

Étape 2

Il est donc possible de se faire une surface de contrôle MIDI pour pas cher. Pour réaliser cette configuration, j’ai utilisé :
  • une webcam.
  • un morceau de carton.
  • des pots de yaourt.

Il faut également disposer, mais cela me semble logique, d’un ordinateur (je l’ai fait sur PC mais cela doit être possible sur Mac ou Linux) et d’un logiciel capable de recevoir et d’utiliser les signaux MIDI.

Étape 3

Première démarche, télécharger le logiciel Reactivision. Une fois qu’il est installé, allez dans le dossier Symbols et ouvrez 'default.pdf' ; ce fichier contient les marques (ou fiducial) qui seront identifiées par le logiciel.

Imprimez la première page, les 15 symboles qui y sont placés devraient suffire pour les premières utilisations. Notez que le numéro d’identification est inscrit en bas à droite de chaque marque, que Reactivision utilisera comme identifiant de chaque marque. Découpez les marques en laissant le numéro visible.

Étape 4

Ensuite, branchez votre webcam puis tentez de lancer le logiciel (Reactivision.exe sur PC) pour vérifier qu’il fonctionne. Si tout se passe bien, vous devriez voir apparaître un écran qui vous permet de choisir la définition de la caméra que vous utilisez. Après la validation du choix, une fenêtre s’ouvre.

Passez quelques symboles dans le champ de la webcam. Si votre marqueur est trop loin de la webcam, le logiciel ne pourra le reconnaître correctement ; je vous conseille donc une soixantaine de centimètre au plus entre la webcam (définition 480x680) et les symboles.

Étape 5

Bon, pour le principe, à chaque fois que vous passez ou bougez un symbole dans le champ de la caméra, Reactivision enregistre 4 paramètres :
  • la présence du marqueur (et donc son identifiant).
  • la position horizontale.
  • la position verticale.
  • l’angle de rotation.
Ces informations sont envoyées par le logiciel vers le port 3333 sur locahost (127.0.0.1) ; ce sont des messages TUIO, une façon de transmettre des signaux OSC (Open Sound Control). Le flux MIDI exploité toute à l’heure n’est donc pas le format natif de l’application.

Étape 6

Pour utiliser Reactivision en MIDI, il va donc falloir mettre les mains dans le cambouis. Pour commencer, si ce soft magique n’équipe pas votre machine, téléchargez et installez MidiYoke pour les utilisateurs de PC ou MidiPipe pour Mac.

Ces programmes sont capables de recevoir et d’émettre du MIDI ; ils vont nous servir ici de câbles virtuels pour récupérer le signal issu de Reactivision puis à l’injecter dans le logiciel compatible MIDI de votre choix.

Étape 7

Comme expliqué dans le fichier 'Readme.txt' placé dans le dossier reactivision-1.3, pour émettre du MIDI Reactivision utilise un fichier xml. Ce fichier contient toutes les informations nécessaires pour transformer les déplacements des marqueurs en paramètres utilisables en MIDI (nous y reviendrons).

Il faut donc lancer Reactivision avec l’option MIDI, ce qui nous oblige à ne plus simplement cliquer sur l’exécutable, mais à passer par une ligne de commande.

Étape 8

Sur PC, les amoureux du DOS connaissent déjà tout des commandes que nous allons utiliser ; après avoir cliqué sur le programme "invite de commande" (dans les accessoires de Windows), il nous faut afficher le dossier où est stocké Reactivision. Par exemple, 'C :Program FilesReactivision-1.3'.

Pour ce faire, vous pouvez remonter l’arborescence en cours en tapant 'cd..' et aller dans un sous-dossier en tapant 'cd 'nom_du_dossier''. Je pense que vous pouvez trouver facilement des éléments d’aide sur le DOS sur internet si vous ne vous en sortez pas.

Étape 9

Sur Mac (OS X - 10.4.9 pour ma part), la démarche est plus simple.

Lancez le Terminal (placé dans le dossier Utilitaire des Applications). Allez dans le dossier qui contient Reactivision, puis faites un copier en sélectionnant l’exécutable, et enfin un coller dans la fenêtre du Terminal.

À la suite de la ligne qui est apparue tapez 'Contents/MacOS/', ce qui donne par exemple '/Users/Dupont/Desktop/reacTIVision-1.3 17-05-19/reacTIVision.app/Contents/MacOS/' ; la démarche est ensuite similaire à celle du PC, sauf que l’extension '.exe' n’est pas à écrire sur Mac.

Étape 10

Une fois arrivés dans le bon dossier, nous allons pouvoir lancer Reactivision avec les options qui nous intéressent.

Dans un premier temps, nous allons repérer le port MIDI qui nous intéresse pour y envoyer le signal issu de Reactivision. La commande -l MIDI permet de lister tous les périphériques MIDI.

- pour PC : « C:Program FilesReactivision-1.3Reactivision.exe -l midi »
- pour Mac : « /Users/Dupont/Desktop/reacTIVision-1.3 17-05-19 / reacTIVision.app / Contents / MacOS / reactivision -l midi »

Étape 11

Au cours de cette étape, repérez le numéro du port MIDI qui nous intéresse (Midiyoke ou Midipipe) et notez-le soigneusement (par exemple 6).

Téléchargez le fichier joint, décompressez-le, puis placez-le dans le dossier de Reactivision. C'est ici que les choses sérieuses commencent.

Nous allons demander à Reactivision d’envoyer le signal MIDI sur le périphérique choisi (--midi-device 6), en prenant en compte la configuration des marqueurs définie dans le fichier demo.xml (-m demo.xml).

Étape 12

Cela donne :
- pour PC : 'C:Program FilesReactivision-1.3Reactivision.exe -m demo.xml --midi-device 6'
- pour Mac : '/ Users / Dupont / Desktop / reacTIVision-1.3 17-05-19 / reacTIVision.app / Contents / MacOS / reactivision -m demo.xml --midi-device 6'

A ce point, normalement, c’est fini. Le signal MIDI est envoyé sur le périphérique concerné, en fonction de ce qui est défini dans le xml.

Cependant sur mon Mac (Macbook OS X, 10.4.9) le fichier xml ne se charge pas (error loading demo.xml). Si d’autres personnes y arrivent, cela m'intéresse. En revanche, sur PC, pas de problème.

Étape 13

Reste maintenant à paramétrer les différents marqueurs et surtout à savoir à quels contrôles ils correspondent. Ceci est fait dans le fichier XML. Les règles sont assez simples, et clairement expliquées (en anglais) dans l’en-tête du fichier en question, que vous pouvez ouvrir avec un éditeur de texte.

Pour vous faciliter la tâche, vous trouverez dans les deux prochaines étapes la traduction en français des différents paramètres.

Étape 14

Pour utiliser le MIDI, chaque paramètre doit être mappé vers un numéro de contrôle unique.
Les paramètres disponibles sont : x-position, y-position, angle de rotation. De plus, la présence du "fiducial" peut jouer le rôle d'un interrupteur pour note.

Chaque mapping peut utiliser les attributs suivants :

fiducial: le numéro ID de chaque symbole ("fiducial")
type: le type de contrôleur (hfader=xpos, vfader=ypos, knob=angle, note=présence)
control: le numéro attribué pour le contrôleur (pour les hfader, vfader & knob)
note: le numéro de la note (si le contrôleur "note" est utilisé)

Étape 15

En option

channel: le canal MIDI utilisé par le contrôleur (par défaut 0)
min: valeur minimum de la plage (par défaut 0)
max: valeur maximum de la plage (par défaut 0)

Les attributs min/max permettent de sélectionner une sous-zone dans la dimension visée ; par exemple, min=0.1 et max=0.9 feront que les 10% d'image de chaque côté seront ignorés. Pour les rotations (knob), max=1 impliquera qu'une rotation complète fera passer de 0 à 127 la valeur midi considérée.
-->

Étape 16

À partir de ces règles, nous pouvons donc comprendre ce qui est écrit dans le fichier demo.xml :

<!-- four vertical faders -->
<map fiducial="0" type="vfader" control="0" min="0.1" max="0.9"/>
<map fiducial="1" type="vfader" control="1" min="0.1" max="0.9"/>
<map fiducial="2" type="vfader" control="2" min="0.1" max="0.9"/>
<map fiducial="3" type="vfader" control="3" min="0.1" max="0.9"/>

Les faders verticaux seront attribués aux symboles 0, 1, 2 et 3 et seront analysés entre 10 et 90% d’une verticale, informations routées vers les voies 0, 1, 2 et 3 du canal MIDI par défaut.

Étape 17

Vous pouvez ensuite analyser vous-même les autres attributs de ce fichier, puis écrire vos propre xml pour paramétrer l’utilisation des marqueurs à votre guise. À noter qu’un même marqueur peut être utilisé pour tous les types d’information, comme le montre le dernier exemple du fichier demo.xml, avec le "fiducial" 11.

Pour vous aider, je vous donne ici la liste des notes correspondant aux numéros du fichier xml.

Étape 18

Grâce à cette méthode, j’ai réalisé un montage avec une webcam, pour diriger un logiciel Cubase, comme vous pouvez le voir sur ces photos.

Conclusion

Le logiciel Réactivision est donc un excellent moyen de contrôler des applications compatibles MIDI. Je pense évidemment à Cubase, en réalisant une table de mixage, mais j'ai également dirigé Reason par ce biais, ce qui permet de s'approcher d'assez près de ce qui se fait avec la Reactable.

De plus, le matériel est peu onéreux, ce qui est rare dans le vaste monde de l'informatique musicale. Alors profitez-en, lancez-vous !
Soyez le premier à réagir à ce tutoriel

    Vous souhaitez réagir à cet tutoriel ?

    Se connecter
    Devenir membre