Multitrack Recorder

Capteurs en direct vs capteurs en playback

Il est toujours mieux de travailler un projet avec les capteurs définitifs à disposition. Ce n'est malheureusement parfois pas possible en TD. Afin de malgré tout avancer dans la programmation, il est possible d'enregistrer des données de capteurs et de les réutiliser ensuite pour simuler le comportement d'un dispositif avec de vraies valeurs.

Cette technique permet de faire fonctionner un dispositif virtuel avec des résultats réalistes.

Objet mtr, multitrack recorder

L'objet mtr permet d'enregistrer plusieurs flux de données (ou un seul...) en même temps. Il permet donc de créer des simulateurs pour automatiser le test et la démonstration d'un dispositif.

Enregistrement d'un seul capteur :

Patch pour un capteur

Pour plusieurs capteurs synchronisés ensemble :

Patch Max mtr

Télécharger : playback.zip

Distinction entre entrée générale à gauche / entrées individuelles à droite

Gauche

L'entrée de gauche gère le fonctionnement général de l'objet, l'enregistrement des données dans un fichier externe et le rappel de données pré-enregistrées.

Droites

Il apparaît autant d'entrées à droite que le nombre configuré dans l'objet mtr :

  • mtr 4 = 4 entrées et 4 sorties
  • Souvent un simple mtr, par défaut à 1 entrée / 1 sortie suffit.

Il faut TOUJOURS utiliser la ou les SORTIES DE DROITE !!

Chacune fonctionne individuellement et peut être déclenchée à volonté pour enregistrer ou relire des données.

Messages record, stop, play, write, read

Chaque entrée individuelle (droite) obéit à des messages record, stop et play.

L'entrée générale de gauche, de plus, permet d'enregistrer toutes les données accumulées sur toutes les entrées dans un fichier txt externe, avec le message write.
L'entrée de gauche obéit aussi au message read qui permet d'appeler un fichier txt enregistré auparavant.

C'est la seule façon d'enregistrer les données mémorisées une fois le patch fermé : sans write, les enregistrements sont perdus à la fermeture du patch.
Après record et stop, l'objet mtr permet de rappeler et de jouer les données tant que le patch est ouvert, ce qui permet de vérifier que les données sont correctes. Mais il ne les écrit PAS directement en dur, il est donc indispensable d'utiliser le message write pour automatiser une démonstration.

  • record : début d'enregistrement, soit individuel à droite, soit général à gauche
  • stop : arrêt de l'enregistrement en cours, arrêt de la lecture en cours
  • play : lecture des données mémorisées, soit individuellement soit en général
  • clear : vide la mémoire du mtr
  • write : écrit les données dans un fichier texte externe
  • read : ouvre un fichier texte sauvegardé

Message write :
Attention !! Lors de l'enregistrement du fichier txt, choisir l'option TEXTE explicitement et non l'option patch max, si la distinction entre les deux existe (selon les systèmes d'exploitation).
ECRIRE .txt explicitement dans le nom du fichier.
Verifier immédiatement que le fichier peut être relu, avec read, en regardant si la console Max affiche une erreur.
Si le mauvais type est sélectionné les données sont irrécupérables.

Intérêt de l'entrée générale de gauche

Quand le record est déclenché en général et pas capteur par capteur, les attentes sont aussi enregsitrées, comme dans l'exemple suivant. Les divers capteurs sont pris en compte au cours du temps.

C'est une fonctionnalité intéressante pour montrer le fonctionnement d'un dispositif qui avance dans une histoire, où on passe d'étape en étape, ou encore s'il faut coordonner plusieurs capteurs ensemble (comme des capteurs de doigts).

C'est moins intéressant dans le cas d'un quizz ou d'un dispositif où tous les capteurs peuvent agir en même temps. A ce moment-là, des record individuels conviennent très bien.

Exemple de mise en œuvre

L'objet mtr est incorporé au patch de la Belgariade (https://www.interface-z.fr/cygne/evman-l2-2018-19-max/belgariade-dispositif-interactif).
C'est ici un mtr 2 car il y a 2 capteurs.

Patch max mtr

Tel quel ce n'est pas très ergonomique : c'est une étape lors du développement et du choix des capteurs, ais une fois le projet affiché en plein écran, il est maladroit de conserver des déclenchements à la souris. Voir page Utilisation.

Télécharger le patch complet : belgariade2-playback.zip

Comment lancer le dispositif en playback ?

Le patch est fourni avec un fichier capteursbelgariade.txt qui contient la séquence d'actions sur les deux capteurs.

Pour faire fonctionner la démo en playback, sans modifier les données des capteurs :

  • Clic sur read (6)
  • Choisir capteursbelgariade.txt
  • Clic sur le play jaune général (7)

Dans ce patch, tous les capteurs sont enregistrés en même temps, ce qui permet de décaler dans la lecture le capteur de distance après le capteur de mouvement.
Cela se fait en utilisant les messages record / stop / play de l'entrée générale à gauche.

Comment enregistrer de nouvelles données ?

Adapter le mtr au nombre de tracks nécessaires, au nombres de capteurs synchronisés. Inutile d'enregistrer 4 tracks s'il n'y a qu'un capteur.

Procédure

  • 1 Clic sur clear pour nettoyer l'objet mtr
  • 2 record pour démarrer l'enregistrement
  • 3 Envoyer des données souris ou capteurs si dispo
  • 4 stop pour arrêter l'enregistrement
  • 5 write pour enregistrer les données dans un fichier texte, choisir un autre nom de fichier que ceux déjà présents dans le dossier, taper .txt à lafin, choisir type text file s'il y a l'option.

ATTENTION !
A la moindre inattention, le fichier enregistré est inutilisable... Il faut explicitement choisir le TYPE TEXT FILE, puis TAPER volontairement .txt en extension, sinon le fichier s'enregistre en signes cabalistiques.
Par saine précaution, ouvrir le fichier txt généré HORS DE MAX dans un éditeur de texte avant d'effacer les données dans le mtr.

Les données doivent ressembler à :
track 1;
30 65;
26 66;
5 65;
137 64;
end;
Chaque ligne correspond à (durée en ms depuis la mesure précédente) (valeur mesurée).