Sommaire du manuel
Les masques LED
DreamShow pilote des masques LED Bluetooth de la famille Shining Mask, portés par un comédien ou posés sur le visage d'un robot. Depuis la timeline, un bloc Masque… change le visage affiché, montre une image ou une animation, fait défiler un texte, ou fait parler le masque : sa bouche bouge en rythme sur un fichier son.
Les masques sont pilotés par MaskCtl, un petit programme installé avec DreamShow (dans le dossier tools du logiciel), qui se connecte aux masques en Bluetooth. DreamShow le lance tout seul quand la salle déclare des masques.
Pour l'ouvrir : menu Salle > Masques LED… (infobulle : « Masques LED (Shining Mask) pilotés en Bluetooth par MaskCtl. Les blocs « Masque… » de la timeline les pilotent. »).

Avant de commencer
Comme le rappelle le bas de la fenêtre :
- le masque doit être allumé et non appairé dans Windows (ne l'ajoutez pas dans les paramètres Bluetooth de Windows) ;
- MaskCtl s'y connecte en Bluetooth, un seul lien à la fois : fermez l'application mobile du masque ;
- les visages du catalogue occupent les 20 emplacements mémorisés du masque (« faces upload » dans MaskCtl) ;
- un bloc « Parler » exige un fichier WAV : la bouche est calculée par MaskCtl à l'ouverture du show.
La fenêtre Masques LED
Le titre rappelle la salle : « Masques LED : <salle> ». Une étoile * signale des modifications non enregistrées.
La liste des masques
- + Masque : ajoute un masque nommé « Masque » (puis « Masque 2 »…), avec le numéro suivant dans MaskCtl.
- − Supprimer : retire le masque sélectionné.
- Nom (celui des blocs de la timeline) : le nom que les blocs Masque… utilisent.
- Numéro dans MaskCtl (1, 2… ou = tous) : le numéro du masque dans la liste de MaskCtl (fichier
masks.txtà côté deMaskCtl.exe) ;vise tous les masques à la fois. - Luminosité (0-255) : la luminosité utilisée par le bouton d'essai Allumer (200 par défaut).
DreamShow transmet les ordres des blocs Masque… à MaskCtl tout seul : il n'y a rien à déclarer d'autre que les masques eux-mêmes.
Essais en direct (le masque doit être connecté à MaskCtl)
Des boutons pour tester le masque sélectionné, tout de suite :
- Repos : affiche le visage de repos.
- Surprise : affiche le visage Surprise.
- Allumer : rallume le masque à la luminosité réglée.
- Noir : éteint l'affichage (luminosité 0).
- Arrêter : « Arrête une séquence ou une parole en cours ».
- Reconnecter : « MaskCtl : reconnecte les masques absents ».
La ligne Afficher sert à explorer le contenu du masque :
- choisissez l'image d'usine n°, l'animation d'usine n° ou l'image mémorisée n° ;
- tapez un numéro (0 à 255) et cliquez sur Afficher ;
- ◀ et ▶ passent au numéro précédent ou suivant et l'affichent aussitôt.
Comme l'explique la fenêtre : « Les flèches parcourent les numéros : c'est ainsi qu'on repère les images et animations d'usine du masque, qui ne sont documentées nulle part. Le même numéro se règle ensuite dans un bloc « Masque… » de la timeline. »
Masques à portée
- Rechercher (6 s) : lance la recherche Bluetooth de MaskCtl (« Recherche Bluetooth en cours… »). Infobulle : « Un masque DÉJÀ connecté n'apparaît pas : il a cessé de s'annoncer. »
- tous les appareils Bluetooth : élargit la recherche à tous les appareils, car « Un masque neuf ne s'annonce pas forcément sous un nom commençant par MASK. »
- La liste montre chaque appareil trouvé avec la force du signal, par exemple
MASK-BF5F1A -54 dBm(plus le nombre est proche de 0, plus le signal est fort). - + Ajouter le masque sélectionné : inscrit le masque dans la liste de MaskCtl (
masks.txt), qui fixe son numéro, et le déclare ici sous son nom Bluetooth. Message : « « … » inscrit en n° … Enregistrez, puis « Reconnecter » pour l'attacher. » Si ce numéro est déjà déclaré, la fenêtre l'indique et sélectionne le masque existant.
Si rien n'est trouvé : « Aucun masque trouvé. Le masque est-il allumé, et déconnecté de l'application mobile ? Un masque déjà piloté par MaskCtl ne s'annonce plus : c'est normal qu'il n'apparaisse pas. »
Réglages
- Décalage voix du robot → bouche (ms) : sert quand un robot dit une réplique et qu'un masque bouge la bouche sur le même fichier. Infobulle : « Mesuré une fois : positif si la voix du robot sort APRÈS la commande (la bouche est retardée d'autant), négatif si l'ordre au robot doit partir plus tôt. » Valeur par défaut : 0.
- MaskCtl.exe : le chemin du programme MaskCtl, avec le bouton … pour le choisir. Laissé vide, DreamShow utilise la copie installée avec lui (
tools\MaskCtl.exedans le dossier du logiciel). Un chemin relatif part du dossier de données. Infobulle : « Chemin de MaskCtl.exe (pilote Bluetooth des masques). Lancé automatiquement quand la salle déclare des masques. »
En bas : « Les blocs « Masque… » de la timeline visent ces noms. »
- Enregistrer : enregistre les masques et les réglages dans la salle, puis relance MaskCtl si besoin.
- Fermer : s'il reste des modifications, DreamShow demande « Modifications non enregistrées. Enregistrer ? ».
MaskCtl lancé automatiquement
Quand la salle déclare au moins un masque et qu'aucun MaskCtl ne tourne, DreamShow le lance, réduit dans la barre des tâches. Le journal note « MaskCtl lancé automatiquement (pipe maskctl) ». Problèmes possibles, signalés dans le journal :
- « MaskCtl.exe introuvable : … » ou « MaskCtl.exe n'est pas renseigné (Salle → Masques LED…) : les masques ne seront pas pilotés » ;
- « Lancement de MaskCtl impossible : … ».
Les blocs Masque…
Dans le panneau Bibliothèques, la liste Autres contient Masque…. Faites-le glisser sur une piste : la fenêtre Bloc Masque s'ouvre aussitôt (si vous l'annulez, aucun bloc n'est créé). Pour modifier un bloc : double-clic, ou clic droit > Propriétés….
Sur la timeline, le bloc affiche 🎭, le nom du masque et l'action, par exemple « 🎭 Masque : Visage : Colère ».

Les réglages communs
- Masque : le masque visé.
- Action : l'action (ci-dessous).
- Départ (s) : l'instant, depuis le début de la scène, où l'ordre part.
- Durée (s) : la longueur du bloc sur la timeline ; pour Parler, elle suit la durée du fichier tant que vous ne la changez pas.
- OK / Annuler.
Les actions
- Visage du catalogue — Visage : un des 20 visages du catalogue de MaskCtl, affichés avec leur clé :
- les bouches (pour composer une parole à la main) : Repos (rest), Lèvres closes (m/b/p), Dents serrées (s/z), Lèvre et dents (f/v), Langue aux dents (th), Langue haute (n/d/t), i bref (ih), r (rr), ou petit rond (oo), i/e large et plat (ee), e ouvert (eh), eu ovale (uh), l langue relevée (ll), o rond moyen (oh), o ouvert (aw), a large (ah), a grand ouvert (aa) ;
- les expressions : Colère (colere), Surprise (surprise), Tristesse (triste).
- Image mémorisée (numéro) — Image mémorisée n° : « 0-19 = les visages du catalogue MaskCtl ; au-delà, vos propres images mémorisées. »
- Image d'usine (numéro) — Image d'usine n° : une image intégrée au masque.
- Animation d'usine (numéro) — Animation d'usine n° : une animation intégrée au masque. Pour ces deux actions : « Numéro du catalogue interne du masque. Parcourez-les dans Salle → Masques LED… (flèches ◀ ▶). »
- Suite d'images mémorisées — Emplacements : « Numéros séparés par des virgules (10 au maximum) : le masque enchaîne les images tout seul, à la vitesse réglée. »
- Parler (bouche sur fichier WAV) — Fichier audio : un fichier WAV du dossier de médias du show. La liste ne propose que des WAV ; s'il n'y en a pas : « Aucun WAV dans le dossier medias du show (la bouche exige un WAV). ». La bouche bouge en rythme sur ce fichier ; le son lui-même n'est pas joué par ce bloc (voir plus bas).
- Visage animé (clignements) : un visage vivant qui cligne des yeux.
- Arrêter l'animation / la parole : arrête la suite d'images, l'animation ou la parole en cours.
- Texte défilant — Texte : un texte qui défile sur le masque.
- Luminosité — Niveau (0-255) : 200 par défaut.
- Vitesse de défilement — Vitesse (0-255) : vitesse du texte et des suites d'images ; 50 par défaut.
- Mode d'affichage — Mode : Fixe, Clignotant, Défilement vers la gauche, Défilement vers la droite, Fixe personnalisé.
- Noir (éteindre) : éteint l'affichage (luminosité 0).
La synchronisation des lèvres
La bouche « parle » à partir d'une séquence calculée par MaskCtl sur un fichier WAV :
- À l'ouverture du show, et après chaque modification, DreamShow repère les blocs Parler et les répliques de robot qui animent une bouche de masque.
- Pour chaque fichier WAV qui n'a pas encore sa séquence, il demande à MaskCtl de la calculer. Le journal note « Analyse de la bouche par MaskCtl : … ». MaskCtl écrit un fichier de même nom avec l'extension
.seqà côté du WAV. - Au passage du bloc, le masque joue cette séquence.
Deux façons de faire parler un personnage :
- Un comédien masqué : placez le fichier son dans un bloc son (pour la sonorisation) et un bloc Masque Parler avec le même fichier, au même départ.
- Un robot avec un masque : un seul bloc Robot Dire (fichier audio), avec Bouche du masque réglé sur ce masque (voir Les robots humanoïdes). Le Décalage voix du robot → bouche (ms) cale alors la bouche sur la voix réelle du robot ; il ne s'applique qu'à ce cas.
Le décalage voix / bouche
Le haut-parleur d'un robot peut sortir le son un peu après l'ordre. Pour le compenser :
- Faites dire une réplique au robot avec la bouche du masque, et observez.
- Si la bouche est en avance sur la voix, mettez un décalage positif (en millisecondes) : la bouche part d'autant plus tard.
- Si la bouche est en retard, mettez un décalage négatif : l'ordre part plus tôt au robot.
- Enregistrez et rejouez jusqu'à ce que les deux coïncident.
Pas à pas
Déclarer un masque neuf
- Allumez le masque, fermez son application mobile.
- Ouvrez Salle > Masques LED…, cliquez sur Rechercher (6 s) (cochez tous les appareils Bluetooth si rien n'apparaît).
- Sélectionnez le masque trouvé, cliquez sur + Ajouter le masque sélectionné, puis Enregistrer.
- Cliquez sur Reconnecter : MaskCtl s'attache au masque.
- Testez avec Repos, Surprise, Noir, Allumer.
Faire parler un comédien masqué
- Convertissez la réplique en WAV et copiez-la dans le dossier de médias du show.
- Placez le WAV sur une piste son à l'instant voulu.
- Sur une autre piste, au même départ, glissez Masque…, action Parler (bouche sur fichier WAV), choisissez le même fichier, OK.
- Attendez quelques secondes que le journal indique l'analyse de la bouche, puis jouez la scène.
Bon à savoir
- MaskCtl ne lit pas les MP3 : la bouche exige un WAV. Créer un show avec une IA fabrique ce WAV tout seul à partir d'un m4a ou d'un mp3.
- Si vous remplacez un WAV par une nouvelle version du même nom, supprimez son fichier
.seq: DreamShow ne recalcule la séquence que si elle n'existe pas. - Un masque déjà connecté à MaskCtl n'apparaît pas dans la recherche : c'est normal.
- Le show se prépare et se simule sans masque.