[ Show control et synchronisation par timecode ]

23/07/2011

Voici un article qui tente de vulgariser les principes du show control et des environnements synchronisés au moyen d'un timecode.


     Cet article se divise en deux parties (sur deux pages) :


Pour accéder à la partie "pratique" ⇒ Page 2 : partie pratique.

Show control ? Késako ?

Pour faire simple : ce sont des automatismes audiovisuels. Automatismes au sens "industriel" : automatisation de processus par pilotage, commande, asservissement, surveillance, contrôle centralisé, etc...

On emploie ce terme dès qu'un système gère plusieurs aspects ou domaines de l'audiovisuel, faisant interagir notamment :

Ainsi, les applications typiques et courantes sont :

A vrai dire, l'étendue des possibilités du show-control est sans limites (sauf budgétaires !) Des solutions existent pour arriver à piloter presque tout.

Attention, ceci ne veut pas dire que tout spectacle est forcément piloté par show control (du show "en boîte" !) Non. La majorité des shows sont des "spectacles vivants", avec des personnes qui agissent sur les mannettes en "live". Mais l'un n'empêche pas l'autre, par exemple les shows très compliqués ou très chargés en effets spéciaux (parfois dangereux) peuvent être en partie gérés pas un système de contrôle.


Définitions Wikipédia :
Show control [Wikipédia Fr.]
Show control [Wikipédia Eng.]

Les différents domaines d'action et d'interaction

Les domaines gérables sont de plusieurs natures :

Dans la majorité des cas, c'est le temps qui sert de fil conducteur. Un film projeté, ou un spectacle qui se déroule linéairement donne la base temporelle à suivre pour tout ce qui va graviter autour.
Dans d'autres cas, à l'inverse, ce sont les actions qui déterminent ce qui se passe : déclenchement de sons, d'images en fonction des actions du public ou d'un comédien.
Il peut y avoir aussi des cas où l'aspect temporel est important, tout en ayant une interaction nécessaire à certains moments : gestion d'événements avant lancement d'un film, effets qui suivent ce qui se passe sur scène avec des sécurités.
Enfin, des cas où l'automatisme ne sert qu'à simplifier le pilotage de tout un tas d'éléments, comme par exemple dans les auditoriums, où l'appui sur un bouton pour commander la projection mettra en marche tous les appareils, fermera les volets ou les rideaux, descendra l'écran de projection, puis baissera la lumière avant de lancer effectivement le film.

Mais intéressons-nous à l'aspect temporel, qui est généralement le noeud central d'un show. Comment s'assurer que tous les éléments constitutifs du spectacle se déclenchent de manière synchrone ?
Très simple me diront certains : il suffit d'un démarrage synchronisé ; un simple top de départ ! Oui, mais non ! Si ceci peut suffire pour quelques cas particuliers, en réalité la précision des différents appareils n'est pas suffisante pour garantir une parfaite synchronisation sur la durée. Une synchro au démarrage n'est donc viable que sur des laps de temps très courts, et avec la condition impérative que les démarrages soient instantanés, ou identiques à chaque nouveau redémarrage. Sans parler de l'impossibilité de reprendre le show à un endroit donné.


La solution est de synchroniser les appareils en permanence sur une "ligne temporelle" de référence commune, que tout matériel devra comprendre et suivre précisément. Une sorte de montre ou d'horloge "chef d'orchestre" qui donnerait l'heure à tout le monde en quelque sorte. C'est la fonction du timecode : donner l'heure !

L'aspect temporel : le Timecode

Le timecode (TC) sert à repérer un média dans le temps, en quantifiant les images.
Il est principalement utilisé en vidéo et au cinéma, dont le format d'affichage lui est dédié : chaque image a son marqueur temporel.

Heures : Minutes : Secondes : Images (HH : MM : SS : II)

La base de comptage du timecode dépend donc du défilement du support image : 24 images par secondes pour le film, 25i/s pour la vidéo PAL en Europe (timecode dit EBU), 29.97 ou 30 i/s pour le NTSC aux Etats-Unis (TC dit SMPTE).
Ces standards répondent aux normes du timecode SMPTE, du nom de l'organisme de standardisation SMPTE : Society of Motion Picture and Television Engineers.

Pour être utilisable, ce timecode doit faire partie intégrante du support (ou du média), afin que "l'horaire" d'une image reste pour toujours le même, de l'enregistrement à la première lecture, et indéfiniment aux lectures suivantes. Mais en contrepartie, il faut prévoir la place sur le média pour placer ce timecode. En fonction du support, le timecode pourra être par exemple :

En pratique, le timecode peut se transmettre de plusieurs manières en fonction du support, dont les plus courantes :

Voyons un peu plus en détails :

Le LTC (Longitudinal Timecode ou timecode linéaire) utilise comme support tout média audio. En effet, la trame a une bande passante limitée qui passe sans problème dans un système audio quelconque. N'importe quelle piste audio peut donc devenir une piste de synchro ! L'encodage du LTC est dit biphase (codage Manchester).
Sa signature sonore est facilement reconnaissable :


Timecode SMPTE @ 25 images par secondes (1 minute, de 0h00m00s00i à 0h01m00s00i)

Sur certains appareils, le timecode a une piste réservée pour lui, ou bien une piste audio dont on peut désactiver le réducteur de bruit. (Attention à la diaphonie entre pistes adjacentes.)
Le LTC a ceci de pratique qu'il transite comme un signal audio. Il s'interface physiquement sous la forme de prises jacks 6,35mm asymétriques ou symétriques, ou plus souvent sous forme d'XLR 3 dans le monde de la vidéo, voire même ponctuellement sous forme de BNC (trompeur avec le VITC). Il voyage sans soucis sur de longues distances, tout comme de l'audio.
Au passage, une astuce : gardez dans un coin de l'esprit que tout appareil capable de lire de l'audio peut devenir source de timecode LTC (donc en "maître"). Par exemple les appareils grand public (DVD, ...) ne peuvent pas générer ou suivrent un timecode, mais peuvent en régurgiter un préalablement placé sur une piste audio. Cela suppose que tous les autres appareils devront nécessairement lire et suivre ce timecode là.

Le VITC (Vertical Interval Timecode) est un timecode intégré à l'image vidéo elle-même, dans une partie invisible en haut. (On aperçoit de temps à autre les blocs de carrés blancs du TC qui clignotent en haut d'une image mal redimensionnée sur la TNT ou la TV par ADSL, lors de recadrages hasardeux...)
Il est un peu plus contraignant du fait de son intégration dans le signal vidéo. Son transport requiert les même attentions que tout signal vidéo composite. En outre son avantage est d'être lisible au ralenti ou à l'arrêt ; mais ceci n'est pas vraiment intéressant pour notre usage.

Le MTC (MIDI timecode) est la version dédiée à la création musicale ("assistée par ordinateur") qui utilise le protocole MIDI pour faire transiter le timecode. Il est le plus compliqué à transporter du fait de sa nature (MIDI en boucle de courant). Le MTC est devenu incontournable dans les logiciels séquenceurs pour la composition musicale.
Il existe aussi le MIDI beat clock mais qui ne correspond pas directement à un timecode (comptage au tempo, et non par images)

Dans le cas des supports et des transmissions numériques, le timecode peut être "empaqueté" dans le flux avec la vidéo et/ou le son (par exemple dans le SDI). L'exploitation du timecode dépendra de l'aptitude des appareils à externaliser un signal utilisable (ré-encodage en LTC/VITC, MTC...)

D'autres protocoles peuvent transporter du timecode : télécommandes RS-422 (montage vidéo sur magnétoscopes popularisé par Sony), Control-L (LANC Sony), protocoles industriels RS-232, ...
D'autres formes de timecode ou de synchronisation relèvent du cas particulier ou d'usages spécifiques : timecode DTS en projection cinéma, Aaton Code pour les tournages, ...
Enfin, certains protocoles propriétaires sont plus ou moins abandonnés : par exemple le FSK (Frequency Shift Key)


Bien entendu, le timecode peut voyager d'un support à l'autre, d'une forme à l'autre. De nombreux convertisseurs existent (LTC vers MTC, VITC vers LTC, etc...) quand ce ne sont pas les appareils eux-mêmes qui interprètent différents formats.


Attention : il ne faut pas confondre avec d'autres types de synchronisations ou d'horloges, notamment vidéo (genlock ou burst : synchronisation des trames vidéos) ou audio numérique (wordclock). Ces horloges ne donnent pas d'indication temporelle utilisable autre qu'une "pulsation" pour optimiser les transferts de données (sauf cas particuliers...) Cependant, des horloges communes de ce type aident grandement à la stabilité des asservissements au timecode (glissements réduits).

Le timecode et l'asservissement de mondes différents

Si le timecode donne l'heure de chaque image, il n'est pas pour autant cantonné au monde de l'image. Il s'est peu à peu émancipé en faisant son entrée dans d'autres domaines.

La seule difficulté pour synchroniser plusieurs machines (ou plusieurs mondes différents) provient de leur aptitude à gérer du timecode. Ainsi, s'il est simple de générer un timecode, en pratique, moins nombreuses sont les machines capables d'en suivre un. Et quand je dis en suivre un, ça veut dire être capable de déclencher la lecture à la bonne heure automatiquement (ie. aller chercher le bon endroit correspondant à la bonne heure en cours), de lancer la lecture, et de suivre ensuite en permanence l'heure pour qu'il n'y ait aucun décalage. Facile à dire, mais pas simple à faire en réalité, surtout pour les dinosaures analogiques. L'informatique elle s'en tire plutôt pas mal...

Principe synchronisation Donc la logique veut que la machine qui ne peut suivre un timecode devienne forcément le maître, c'est à dire le générateur pour tout le monde. Et tout le monde devra obligatoirement être apte à suivre ce code temporel.
Par contre, quand toutes les machines sont capables de suivre un timecode, on place en général la machine la plus "lente" en maître, c'est à dire celle qui a le plus d'inertie ou de retard au démarrage (transport de bande par exemple), ou celle dont la régulation par rapport au timecode en esclave n'est pas la plus efficace (asservissement instable).


Voyons les différents "mondes" susceptibles de se synchroniser :

Le son pré-enregistré est assez facile à synchroniser en esclave, que ce soit par machine physique ou lecteur virtuel (logiciel). Tout bon séquenceur audio logiciel sait générer et suivre un timecode (MTC, LTC).
De nombreuses machines multipistes en rack (DTD ou DTRS) le font nativement (X48, HD24 et compagnie, les "ancêtres" DR AKAI, Tascam DA-88, etc).
Le mixage dynamique est aussi possible avec l'automation, sur les consoles pouvant s'asservir à un TC (consoles numériques). Ceci permet par exemple de faire varier le volume ou de gérer les mutes des voies micros directs, mais de manière prédéterminée : ouvrir le micro d'un chanteur/performer uniquement sur ses passages vocaux.

L'image est plus problématique. Sous la forme de bandes vidéo, la synchronisation dépendra du magnéto utilisé (mode "chase"). Certains magnétoscopes de diffusion disposent d'une entrée time code, mais elle ne sert qu'à synchroniser l'horloge interne lors de l'enregistrement.
Dans la majorité des cas, c'est la vidéo sur bande ou le film "pellicule" qui donne sa cadence à tout le monde. Synchroniser un DVD est aussi problématique autrement qu'en maître.
Pour la lecture de fichiers vidéo, il y a éventuellement la possibilité de les intégrer à un logiciel capable de lire le flux avec la qualité nécessaire (logiciel de montage / diffusion vidéo, séquenceur audio).
Enfin, des solutions vidéo "direct-to-disk" (en rack) savent gérer l'asservissement synchronisé. Quelques lecteurs de fichiers vidéo autonomes sur carte mémoire ou disque dur savent aussi suivre un timecode.
Le traitement des sources vidéo en direct est aussi envisageable, par exemple par le pilotage de grilles de commutation ou de mélangeurs, de truqueurs, etc.

La lumière : certaines consoles (pupitres ou racks de mémorisation de scènes) peuvent suivre un timecode (LTC, MTC) pour restituer des états ou envoyer des "cues" (états mémorisés ou tableaux).
Les solutions logicielles sont aussi capables la plupart du temps de suivre un TC (MTC).
Quelques "grosses" consoles gèrent de plus en plus différents domaines, devenant ainsi le point névralgique entre la lumière, la vidéo et le son (par médias serveurs), même si ce ne sont pas à proprement parler des systèmes de show control.

Les actuateurs ainsi que les "effets spéciaux" posent beaucoup plus de problèmes. Selon leur nature et la manière dont ils se pilotent, les solutions sont plus complexes ou plus marginales, et donc plus onéreuses. Les constructeurs d'effets développent parfois des solutions spécifiques, avec asservissement à un timecode ou à des ordres externes.
Mais si ces "solutions" n'existent pas, ou bien ne sont pas capables de suivre un timecode, elles devront être pilotées autrement. Soit par des systèmes de gestion de process (automates programmables industriels dédiés aux seuls effets) qui répondront à un TC ou à des ordres externes d'un autre système qui lui suivra le TC. Soit par le système de show control lui-même, qui devra intégrer tout ce que cela implique (conversions, sécurités, retours d'informations, ...)

Les retours d'informations (capteurs, interaction) eux aussi réclament des solutions de show control adaptées ou des interfaces dédiées.



Suite ⇒ Page 2 : partie "pratique".

© O. BLT  /  PafGadget    2007-2017     tous droits réservés