“Punches & Streamers Studio” — plongée dans mes archives personnelles !

Blog “Dans l’Atelier du Compositeur” & “Sculpteur de Notes”

“Punches & Streamers Studio” — plongée dans mes archives personnelles !

, par , dans Finale, Musique de film / musique à l’image (et fait partie de la série ) —  10 min.

Il y a quelques semaines, quelqu’un m’a contacté, sur ce site, pour me demander une copie de “Punches & Streamers Studio”.

Les personnes qui me connaissent depuis le plus longtemps se rappellent sans doute que, vers 2008, et jusque vers 2012, je développais un petit logiciel pour aider à la synchronisation des partitions de musique de film — enfin ! pendant le concert ou pendant la session d’enregistrement, hein ! Je veux parler du système des flutters, punches & streamers.

J’en ai déjà parlé ailleurs sur ce blog, j’ai expliqué en détails en quoi consiste ce système, dit des flutters, punches & streamers, donc si cela ne fait pas sens pour vous, reportez-vous en bas de ce billet pour trouver le lien vers mon explication, pour commencer. Ensuite, revenez sur cette page.

Où tout commence…

Tout avait commencé, en 2007, par un petit prototype, que j’avais alors appelé “Punches & Streamers Creator”. Je développais cet embryon de logiciel durant mes soirées libres d’étudiant nouvellement parisien, et je lui avais, quelques années plus tard, accolé le mot “Lite” (“Light”) — pour le différencier de la version complète : “Punches & Streamers Studio”.

Écran principal — et d’ailleurs, seule fenêtre ! — de “Punches & Streamers Creator Lite”

Écran principal — et d’ailleurs, seule fenêtre ! — de “Punches & Streamers Creator Lite”


J’avais en effet, à l’origine, eu l’intention de mettre au point ce logiciel afin de pouvoir m’en servir pour ma partition de ciné-concert, “Nosferatu, Une Symphonie de l’Horreur”.

À l’époque, pour la Création de l’œuvre, j’avais créé une piste de clics (j’ai déjà tout expliqué sur la nature exacte des pistes de clics, également), qui parcourait toute la durée du film : soit 1h32’52”. Mais je n’étais pas satisfait de la rigidité que cela impliquait pour le chef, ainsi que de l’impossibilité de lui annoncer les changements de tempo en avance, pour lui permettre de les préparer. (Et il y en a quelques-uns, dans “Nosferatu” !)

Voilà, donc, comment je m’étais lancé dans l’aventure ! Et quelle aventure !…

Car de toute façon, même avec des punches & streamers, étant donné que mon logiciel me permettait d’en créer, mais qu’il fallait faire un rendu vidéo, il aurait fallu être en mesure de synchroniser parfaitement deux copies du film (et surtout, de les garder synchronisées pendant toute la durée du film !) : une avec les aides visuelles à la synchronisation, l’autre sans. On voit ça d’ici…

► Je vous donne deux exemples de rendus possibles avec mon petit logiciel, un peu plus loin dans ce billet : vous y verrez une cue de mon “Nosferatu” avec les aides visuelles générées par “Punches & Streamers Studio”. ◄

J’ai donc développé un autre petit logiciel : “Ciné-Concert”, qui permettait de synchroniser et verrouiller ensemble deux fichiers vidéos — mais je n’en ai jamais testé le concept dans la vie réelle.

Finalement, je n’ai jamais utilisé “Punches & Streamers Studio” pour moi-même et mes propres projets musicaux !…

Heureusement, en 2009, je m’en suis servi pour le projet d’un très bon ami — qui, ironie du sort, est aujourd’hui devenu un nom important de la musique de film ! Comme quoi…

Comment ça fonctionnait ?!?

Mais au fait : Comment tout ceci fonctionnait ?

Voici la fenêtre principale de “Punches & Streamers Studio” :

Écran principal de “Punches & Streamers Studio”

L’écran principal de “Punches & Streamers Studio”


À partir de là, eh bien, c’était très simple :

  1. On ouvrait un fichier vidéo ;
  2. on plaçait des points-clés ;
  3. on choisissait le type de point (flutters, ou punches & streamers) — même si, par la suite, on pouvait aussi créer un marqueur de début de cue, ou encore, des clics visuels (quand je vous disais, que c’était très riche !) ;
  4. on exportait ;
  5. et je ne vous parle pas de toutes les options de création (création groupée de points-clés, en regardant la vidéo, et en cliquant dès qu’on voulait un point-clé), de modification groupée, etc. !

Il y avait toutefois des hics !

  1. D’abord, le rendu était lent !
  2. Ensuite, les vidéos acceptées n’étaient possibles qu’au format *.AVI — et encore, que celles utilisant des codecs déjà anciens !
  3. Seules les vidéos dont le nombre d’images par secondes (fps) était entier étaient possibles (pas de format drop/non-drop frame pour les vitesses de défilement du type 29.97 fps)
  4. Il fallait faire un rendu en vidéo de toutes les superpositions : pas de mode temps réel (j’avais essayé, car c’était l’idée derrière “Punches & Streamers Creator”, à l’origine, mais je n’y avais pas réussi. C’était dans mes plans, mais seulement à long terme, en tout dernier, quand tout le reste fonctionnerait bien.).
  5. Enfin, “Punches & Streamers Studio” n’était pas capable de différer le début du fichier audio synchronisé : donc, quand il y avait un pré-compte, il fallait : 1. soit se passer d’audio synchronisé ; 2. soit préparer le fichier audio avec un blanc de la même durée que le pré-compte au début — pas idéal, et assez casse-pieds !

Pourtant, j’avais déjà considérablement travaillé sur ce projet, et j’avais — notamment — :

1. Construit un module pour créer des gabarits d’apparence des aides visuelles, à utiliser sans avoir à re-paramétrer les points-clés partout (ainsi que la possibilité de les exporter et les importer d’un projet à l’autre !).

La fenêtre des “Modèles d’apparence”, pour créer et modifier les modèles des deux principaux types de marquages visuels

La fenêtre des “Modèles d’apparence”, pour créer et modifier les modèles des deux principaux types de marquages visuels


2. Développé tout un module pour créer des titrages (grands titres/filigranes, pré-comptes, sous-titres, chronomètre, etc.) — et ça fonctionnait très bien, quoique l’interface utilisateur était quelque peu “rustre” et datée !

3. Programmé un module pour créer différents modèles d’exportation : possible, donc, d’exporter très facilement différentes versions de la cue, avec des paramètres séparés (zone d’exportation de la vidéo, type d’aides visuelles à inclure, points à inclure, etc.).

La zone de création et modification des “Modèles d’exportation”

La zone de création et modification des “Modèles d’exportation”


4. Le logiciel était installé avec une librairie pour Finale, qui permettait d’importer — dans n’importe quel projet Finale ! — une bibliothèque de symboles pour indiquer les punches & streamers sur la partition.

5. Et l’on pouvait imprimer une planche de miniatures résumant le projet pour le music editor. La fonctionnalité était encore très “brute de décoffrage” : format A4 seulement, peu d’options de mise en pages, problèmes fréquents de collision des textes sur la page, peu de latitude de choix des polices, etc. Mais cela fonctionnait — avec ses limites.

↓ Et ça donnait ÇA… ↓

Et voici ce que permettait d’obtenir “Punches & Streamers Studio”, une fois le rendu des aides visuelles effectué en vidéo — vous noterez que les deux rendus ont été effectués à partir du même projet, simplement en utilisant deux modèles d’exportation différents. Le troisième a été exporté sans les aides visuelles (mais avec les autres overlays), en synchronisant la piste de clics audio. Quant au dernier, il regroupe aides visuelles + piste de clics audio :

La première vidéo est une exportation “pour le travail”, avec davantage de marquages sur la vidéo,
et la musique superposée (pas tout à fait synchro, dans l’enregistrement, d’ailleurs).
La seconde vidéo est moins chargée : elle est destiné à l’exploitation en ciné-concert,
avec seulement les aides nécessaires, et sans piste audio.

► Tous les overlays ont été générés avec “Punches & Streamers Studio” ◄


Autrement dit, l’utilisateur disposait d’énormément de souplesse, s’il était prêt à s’accomoder des sérieuses limitations de “Punches & Streamers Studio” : car il y avait aussi de grosses possibilités.

Mes ambitions

Il faut dire que mes ambitions allaient loin, à l’époque — alors que, pourtant, je n’étais pas du tout programmeur ! On peut même dire que je n’étais ni rigoureux, ni structuré dans ma façon de coder — par manque de connaissances : j’apprenais sur le tas.

Mais, j’étais pugnace et persévérant, et je n’aimais pas beaucoup que quelque chose me résiste !…

C’est ainsi que, une fois le moteur de rendu mis au point — et même, (largement) perfectionné en version 2, puis en version 3 —, je m’étais mis en tête de faire de mon logiciel une véritable suite logicielle pour le compositeur de musique de film impécunieux que j’étais !

Il faut dire que je n’en étais pas à mon coup d’essai : pendant toute la composition de “Nosferatu”, j’avais déjà développé un (rudimentaire) logiciel de gestion de projets de musique de film : “Film Music Tools”. Et il m’a bien servi, d’ailleurs, à cette époque-là.

Je voulais, plus tard, réunir les deux logiciels, et ré-écrire le premier (parce que, ouh-là ! que c’était mal codé !). Tout ça, sous le nom de… (roulement de tambour…) : “Film Scoring Tools” !

Je n’ai jamais eu d’ambition commerciale, avec ce logiciel (ou plutôt, avec cette Suite logicielle). Mais, le projet m’intéressait suffisamment pour que j’y investisse beaucoup de temps — par périodes.

Je m’étais bien entiché d’une lubie presque obsessionnelle :

  1. Programmer une “Carte des Tempos” — un peu comme dans un séquenceur —, qui aurait permis, ensuite, de transformer — et ce, de manière très souple et hautement paramétrable — la combinaison d’indicateurs de mesures et de tempos vers des marques de synchronisation visuelles : qu’il s’agisse d’en faire des clics visuels, des punches & streamers de toutes sortes, de simples flutters

Bref ! L’intérêt de cette méthode — si j’étais parvenu jusqu’au bout de cette partie-là du projet —, aurait été de permettre, en quelques clics, d’apporter des modifications à la structure musicale d’un morceau, et de mettre à jour, en quelques clics, toutes les aides visuelles, en laissant “Punches & Streamers Studio” calculer de lui-même où tomberait chacun des points. Bien moins fastidieux que de créer les éléments, un à un, manuellement ! Le pire, c’est que j’avais déjà implémenté les clics visuels, les changements de cues, et même des pré-comptes et des sous-titres !

Sur le fond, il y avait donc une bonne partie de l’infrastructure qui était déjà présente, implémentée et fonctionnelle. Encore aurait-il fallu, cependant, gérer l’enregistrement de la Carte des Tempos dans le fichier de projet *.punches&streamers — ce qui présupposait de mettre au point une extension du format de fichier que j’avais développé —, puis d’être capable de la lire depuis le fichier, et enfin, de procéder à l’affichage et à l’édition des valeurs dans un tableau. Pour finir, il aurait fallu pouvoir faire le calcul et la liaison entre la Carte des Tempos et les Aides Visuelles, mais ce n’était probablement pas le plus ardu.

  1. Programmer un module, “Cue Designer Wizard” (oui ! j’avais choisi un nom bien ronflant !), qui permettrait, à partir d’une sélection de points-clés définis sur la vidéo importée, de chercher tous les tempos dont les temps coïncidaient parfaitement avec tous ces points-clés ! Évidemment, avec mon sens obsessionnel du détail, j’avais prévu de permettre le réglage d’un certain nombre de paramètres : tempo entier ou décimal, marge tolérée, nombre de points manqués tolérés, etc.

Le fameux “Cue Designer Wizard” — Étape 1 : le “Tempo Finder”

Le fameux “Cue Designer Wizard” — Étape 1 : le “Tempo Finder”


Le fameux “Cue Designer Wizard” — Étape 2 : la fenêtre détaillée des résultats trouvés

Le fameux “Cue Designer Wizard” — Étape 2 : la fenêtre détaillée des résultats trouvés


Le fameux “Cue Designer Wizard” — Étape 3 : “Beats Adjuster”, ou l’étape d’ajustement des temps

Le fameux “Cue Designer Wizard” — Étape 3 : “Beats Adjuster”, ou l’étape d’ajustement des temps


D’ailleurs, je suis effectivement arrivé au bout de ce module “Cue Designer Wizard” ! Et je me souviens que cela m’a pris des mois, pour en venir à bout, tant cela dépassait mes capacités mathématiques basiques comme programmationnelles !

Le seul problème, c’est que, la Carte des Tempos n’étant pas implémentée, il n’y avait ensuite aucun moyen de s’en servir concrètement pour transformer tout ça en aides visuelles ! Ceci dit, en tant que module de recherche, en l’utilisant séparément, pour structurer une cue, il pouvait s’agir d’un outil intéressant, et déjà bien puissant.

Dommage, que je ne sois jamais allé au bout de ce projet…

Déliquescence du projet…

J’ai ensuite traduit le logiciel, pour en avoir une version duelle français/anglais, je l’ai empaqueté dans un package d’installation, et je l’ai distribué gratuitement, sur mon site, de l’automne 2011 à septembre 2016.

Hélas, à partir de la version 8 de Windows, les choses se sont gâtées.

Des utilisateurs m’ont fait part de problèmes : impossible pour eux d’importer une vidéo. Le comble, pour un logiciel tel que le mien ! Et ça le rend bien inutile…

Même si j’ai trouvé, depuis, d’où venait le problème, il était trop tard : le temps était venu de remiser aux oubliettes ce logiciel, devenu obsolète, trop compliqué à utiliser sur nos machines modernes.

(Pour les curieux, voici le problème que j’ai diagnostiqué : depuis Windows 8, le système de fichiers ne crée plus, par défaut, des noms de fichiers courts, à la norme 8.3, en parallèle de la couche de surface, qui est aujourd’hui exclusivement composée de noms et chemins d’accès longs. On peut toutefois encore activer la fonctionnalité, et convertir les noms de fichiers pour ajouter la sous-couche de noms manquante, à la norme 8.3 — mais c’est un peu technique.)

C’est ainsi qu’en septembre 2016, en même temps que la refonte complète de mon site Web, j’ai décidé de cesser de distribuer publiquement “Punches & Streamers Studio”.

C’est une décision que je regrette, bien sûr, car je pense que ce logiciel avait du potentiel, dans sa niche, et même pour une utilisation marginale, par des “wannabe” compositeurs de musique de film/musique à l’image (sans le sens péjoratif souvent associé au mot “wannabe” : plutôt ici “aspirant-”).

Toutefois, je n’avais plus ni le temps, ni l’envie de reprendre toute la base de code, de la moderniser, puis de terminer le projet, qui m’apparaissait alors colossal, à mon minuscule niveau, et insurmontable : le processus avait déjà été agonisant, par moments, alors je n’avais plus de temps à consacrer à “Punches & Streamers Studio”.

Plongée dans mes archives…

Pour conclure cette plongée dans mes archives, j’ai ressorti les 10 vidéos de tutoriels que j’avais réalisées à l’époque, et j’en ai fait une liste de lecture, que je vous mets ci-dessous.

Il n’y a pas de son. C’est normal : il n’y en a jamais eu !

Cela vous donnera une meilleure idée des possibilités du logiciel, plus concrètement, tel qu’il était figé, au moment où je l’ai (courtement) distribué — ce qui correspond aussi, paradoxalement peut-être, au moment où j’ai cessé d’y consacrer mes efforts de programmation. Par manque d’intérêt, d’une part, mais aussi parce que cela coïncidait avec la fin de ma vie d’étudiant et mon entrée sur le marché du travail…

… Mais ceci est une histoire pour un autre jour !…

Sur ce, je vous souhaite un bon visionnage des vidéos ci-dessous ! Celle consacrée au “Cue Designer Wizard” me semble, en particulier, digne d’intérêt pour bien saisir la puissance et l’utilité du truc… tel qu’il aurait pu être !

Et cela vous permettra de vous replonger dans l’interface délicieusement rétro de “Punches & Streamers Studio”, directement héritée des meilleurs pratiques de conception d’interfaces-utilisateur des années 90 !…

Moi, je vous dis à bientôt !

Ce billet fait partie d’une série intitulée…
► La synchronisation en musique de film ◄

Voici un récapitulatif des articles de la série :

  1. La synchronisation en musique de film : I. Comment synchroniser les notes avec la pellicule ? (jeudi 15 octobre 2009 à 11:04)
  2. La synchronisation en musique de film : II. Qu’est-ce qu’une piste de clics ? (jeudi 15 octobre 2009 à 11:17)
  3. La synchronisation en musique de film : III. Timing libre, et « punches and streamers » (jeudi 15 octobre 2009 à 11:24)
  4. La synchronisation en musique de film : À propos de la désignation des morceaux ou « cues » (jeudi 15 octobre 2009 à 11:31)
  5. “Punches & Streamers Studio” — plongée dans mes archives personnelles ! (lundi 20 septembre 2021 à 16:47)