fév 03

Il est courant de tomber sur Youtube sur des vidéos où la personne a enregistré plusieurs instruments et plusieurs vidéos en simultané et diffuse l’ensemble mixé en une seule vidéo (avec une sorte d’effet « split screen »).

L’objectif est de reproduire ce type de vidéo pour mes propres enregistrement de covers avec les outils que j’ai sous la main (et tant qu’à faire, gratuits autant que possible) et quelques autres !
Le processus est un poil compliqué, s’il y a des axes d’amélioration ou de simplification je suis partant.

1. Les outils

Voici la liste des outils que j’utilise pour l’ensemble des opérations :

Matériel physique :

  • Une guitare :)
  • Un appareil photo pour la prise d’image (ma webcam est pourrie) : capture vidéo & son !
  • Un POD X3 de Line 6 pour la simulation d’ampli, les effets et l’enregistrement de la guitare

Logiciels :

  • Bloc note : toujours très utile !
  • Tap Tempo : permet de déterminer le tempo
  • Guitar Pro : pas franchement nécessaire mais puisque je l’ai sous la main autant en profiter
  • Winamp : player audio
  • Audacity : éditeur audio
  • Gearbox : logiciel qui permet de contrôler le POD X3
  • Easy CD-DA Extractor : pas gratuit mais je l’aime bien, utilisé pour la conversion en mp3
  • VirtualDub : éditeur vidéo
  • AVISynth : éditeur de vidéo par script
  • XVid : algorithme de compression vidéo
  • VLC : player vidéo

2. Proof of Concept

Une fois l’idée lancée, il s’agit de vérifier la faisabilité et d’identifier les opérations à effectuer.
Pour cela, l’objectif est d’enregistrer le début du morceau « Promises » du groupe The Cranberries.

Le morceau est enregistré avec plusieurs guitares : sur l’intro, il y a une guitare rythmique avec de la distorsion et une guitare « clean ». Les deux parties seront donc enregistrées par moi, avec le morceau original en musique de fond.

Les principaux problèmes de l’enregistrement de plusieurs instruments et vidéos sont :

  • Synchroniser les enregistrements audio entre eux : nous avons 2 pistes de guitare et une piste avec le morceau original. Globalement la synchronisation se fait de manière visuelle et auditive, avec Audacity, il n’est pas très difficile d’analyser le spectrogramme pour bien caler les pistes puis vérifier à l’oreille.
  • Synchroniser les vidéos entre elles : beaucoup plus difficile, comme les vidéos ne commencent exactement au même moment et que je n’ai pas trouvé de bon logiciel de montage gratuit, il va falloir se débrouiller. Et ce réglage doit être assez précis car le moindre décalage entre les images va provoquer forcément un décalage par rapport au son et générer une sensation de « fake ».
  • Synchroniser la vidéo et la piste son : dans un contexte de tournage vidéo « classique » (cinéma…), un clap est utilisé. En effet, c’est un élément visuel et sonore très bref, qui permet de simplifier grandement la synchronisation.
    Dans notre situation un clap ne va pas aider car il faut également synchroniser les deux vidéos.

Afin de facilement gérer la problématique des synchronisations, nous
allons utiliser un tempo qui sera ajouté au début du morceau original
(cela a également l’intérêt de me permettre de commencer le morceau en
même temps, car « Promises » commence directement avec les guitares, donc
il faut commencer à jouer exactement en même temps que le morceau).

Le principe générique est le suivant :

  • Un tempo avec un volume sonore assez fort est ajouté au début du morceau
  • Les vidéos capturent l’image ET le son
  • On utilise ce son pour synchroniser les vidéos, en effet, on peut
    être sûr à 100% que le morceau commencera en même temps si les deux
    vidéos commencent au premier tempo.
  • On utilise le son original de la vidéo (avec tempo donc) pour synchroniser
    le morceau original qui a été mixé avec les guitares. Les deux ayant
    exactement le même tempo au début, la synchronisation est simple.

3. Préparation de l’enregistrement

Nous allons donc ajouter un tempo au début du morceau, Guitar Pro sera utilisé car il fait ça très bien, mais il est probablement très simple de trouver un logiciel permettant de générer un tempo précis en midi :

  • Ouvrir Guitar Pro et créer une piste « Percussion ».
  • Déterminer le tempo du morceau original. Pour cela j’utilise Tap Tempo. C’est simple : il suffit de taper sur la barre espace en respectant le rythme du morceau. Certains ont un rythme qui varie au cours du morceau, mais l’essentiel est d’avoir le rythme du début. Pour « Promises », le rythme est de 130 BPM (battements par minute).
  • Dans Guitar Pro, indiquer le rythme à utiliser via le menu « Son -> [symbole d'une noire] = 120″ (le tempo par défaut)
  • Créer la rythmique en utilisant le son « Metronome click » (numéro 33). J’ai choisi de faire 2 blanches, 2 blanches puis 4 noires, mais c’est selon les goûts :)
  • Exporter en MIDI (Fichier -> Exporter -> MIDI…). L’export en wav n’est pas terrible.
  • Convertir le fichier MIDI en WAV car Audacity ne gère pas bien le MIDI (moi il me l’ouvre mais se comporte bizarrement). Je n’ai pas trouvé de bon outil pour cela donc j’utilise une petite astuce avec Winamp :
    • Ouvrir Winamp
    • Faire CTRL-P pour ouvrir le panneau des préférences et atteindre la section « Plug-ins ». Par défaut normalement dans la sous-catégorie « Sortie », il devrait y avoir un plug-in appelé « Ecriture sur disque Nullsoft ».
    • Sélectionner et configurer selon les goûts le plug-in « Ecriture sur disque Nullsoft »
    • Jouer le MIDI dans Winamp.
    • Personnellement j’ai dû le refaire plusieurs fois car le fichier
      résultant n’était pas correct (par exemple je n’avais que la moitié),
      je ne sais pas si c’est dû à de mauvaises manipulations. Néanmoins il
      vaut mieux vérifier le fichier !
    • Retourner dans les préférences et resélectionner le plug-in de sortie d’origine (chez moi « Sortie DirectSound Nullsoft »)
  • Ouvrir le morceau original (donc ici « Promises » des Cranberries) dans Audacity
  • Ajouter le tempo en faisant Projet -> Importer Audio… et en sélectionnant le fichier généré précédemment.
  • Sélectionner la piste de tempo et augmenter le niveau sonore (utiliser le curseur à gauche de la piste) pour qu’elle soit bien audible.
  • Aligner les deux pistes pour qu’elles se suivent parfaitement
    • Sélectionner la piste du tempo
    • Sélectionner la piste du morceau en enfonçant la touche Shift, ce qui devrait donner ce genre de sélection :
    • Puis, toujours en gardant la touche Shift enfoncée, cliquer sur la piste du tempo pour la désectionner.
    • Faire Projet -> Aligner les pistes… -> Aligner avec la fin de la sélection
    • Si le morceau original commence avec du silence, cela va fausser la rythmique (le morceau ne va pas bien commencer dans la continuité du tempo). Dans ce cas, il va falloir zoomer et déplacer tout doucement le morceau original pour que le timing soit bon. Le feeling joue beaucoup ici.
  • Exporter le résultat : Fichier -> Exporter en WAV…. Il est recommandé de toujours créer des nouveaux fichiers pour chaque étape, afin de ne pas écraser le fichier précédent et de pouvoir revenir à n’importe quelle étape.

4. Enregistrement

Le POD X3 dispose d’un player intégré donc le morceau est joué via celui-ci. Mais Winamp devrait marcher aussi !

Donc il s’agit à cette étape d’enregistrer les différentes parties du morceau.
Pour l’enregistrement :

  • Lancer Audacity, dans la configuration sélectionnez la source à utiliser pour l’enregistrement dans Edition -> Préférences…, sur l’onglet « E/S Audio ».
  • Faire des tests pour vérifier que tout se passe bien et que le niveau sonore d’entrée est correct.
  • Lancer l’enregistrement audio
  • Lancer l’enregistrement vidéo
  • Lancer le morceau original auquel on a ajouté le tempo
  • Jouer. Afin de simplifier la synchro audio, il est également possible de jouer doucement une note brève lors de quelques battements du tempo.
  • Une fois l’enregistrement terminé, arrêter tout les enregistrements et vérifier. Si cela ne convient pas recommencer. Afin de simplifier la gestion des fichiers, il vaut mieux refaire un enregistrement en cas d’erreur (plutôt que de recommencer à la suite, sans arrêter et relancer les enregistrements).
  • Il est important de vérifier qu’on entend bien les battements du morceau original sur le son de la vidéo ! Si ce n’est pas le cas éditer l’audio pour augmenter le son des tempos. Le reste du son n’a aucune importance, de même que la qualité de celui-ci.
  • Si tout convient, enregistrer le reste de la même manière en mettant les fichiers corrects de coté pour traitement ultérieur.

5. Le montage audio

  • Dans Audacity, ouvrir le morceau original auquel on a ajouté le tempo
  • Ouvrir également dans le même projet (Projet -> Importer Audio…) les enregistrements des instruments.
  • Synchroniser les enregistrements. Si des notes ont été jouées lors des battements, c’est plus simple, un bon gros zoom et il faut faire correspondre ces notes jouées avec les battements du morceau original. Cette étape est très empirique et se fais essentiellement à l’oreille.
  • Une fois que toutes les pistes sont synchronisées, faire les retouches sonores souhaitées. Personnellement je joue sur les volumes sonores pour qu’on entende bien les enregistrements mais qu’ils ne couvrent pas trop l’enregistrement original.
    Pour cela deux outils sont utiles : le volume sonore général de la piste (le curseur à gauche de la piste) et l’ « Outil de niveau (enveloppe) » dont l’icone se trouve en haut à gauche sous le menu général d’Audacity. Ce dernier permet de jouer sur le volume sonore d’une section limitée du morceau (par exemple pour réhausser le volume d’un solo…).
  • Lorsque le résultat convient, enregistrer le projet (Fichier -> Enregistrer le projet…) pour pouvoir le retravailler en cas de besoin.
  • Exporter le résultat : Fichier -> Exporter en WAV…

6. Le montage vidéo

Les deux vidéos doivent commencer exactement au même moment pour qu’elles soient bien synchrones, on va donc couper le début pour les synchroniser.

Pour chaque vidéo :

  • Ouvrir la vidéo dans VirtualDub
  • Jouer la vidéo jusqu’à entendre le premier battement. VirtualDub affiche le numéro de la frame en cours à coté des boutons de contrôle. Tâcher de repérer un numéro de frame satisfaisant pour que le battement soit parfaitement audible dès le lancement de la vidéo, sans temps mort, et sans qu’il soit « mordu ». Un des boutons de controle permet de se déplacer frame par frame.
    CTRL-G permet d’accéder à une frame spécifique.
  • Une fois le numéro de frame idéal repéré, faire « Edit -> Set selection end » ou utiliser la touche « FIN ».
  • Faire Edit -> Delete. VirtualDub supprime tout ce qui se trouve avant la frame repérée.
  • Vérifier que :
    • Video -> Direct stream copy est sélectionné
    • Audio -> Direct stream copy est sélectionné
  • Enregistrer la vidéo : File -> Save as AVI…

Une fois que toutes les vidéos sont éditées et commencent correctement, il faut les réunir.
Pour cela, AVISynth va être utilisé, il faut donc commencer par écrire le script.

Écrire les instructions suivantes dans un fichier texte (attention, le fichier doit être enregistré en ANSI, AVISynth ne supporte par l’UTF8, d’où l’utilisation du bloc note) :

a = AviSource(« H:\SL373723 (clean) – Cutted.avi »)
b = AviSource(« H:\SL373724 (disto) – Cutted.avi »)
a = ReduceBy2 (a)
b = ReduceBy2 (b)
b = DeleteFrame (b, 1, 2, 3, 4, 5, 6)
StackHorizontal(a, b)

Consulter la doc peut être intéressant pour voir toutes les possibilités offertes par cet outil.

  • ReduceBy2() permet de diviser par 2 la taille de la vidéo
  • DeleteFrame() permet de supprimer des frames. Apparemment couper la vidéo avec VirtualDub ne marche pas toujours bien pour synchroniser. DeleteFrame permet de faire une synchro fine très facilement si le décalage est minime.
  • StackHorizontal() permet de positionner plusieurs vidéos les unes à coté des autres horizontalement.
  • StackVertical() existe également.
  • De plus il est possible de combiner les deux

StackVertical(StackHorizontal(clip1, clip2, clip3), StackHorizontal(clip4, clip5, clip6), StackHorizontal(clip7, clip8, clip9))

  • Enregistrer le script dans un fichier *.AVS.
  • Ouvrir le fichier AVS dans VirtualDub. Il devrait afficher le résultat. Les deux vidéos devraient être parfaitement synchronisées entre elles. Le son n’est pas important (AVISynth n’a gardé que le son de la première vidéo)
  • Si cela ne convient pas il faut alors retoucher les vidéos sources (d’où l’intérêt de ne pas écraser ce qui a été modifié) ou le script.
  • Une fois le résultat satisfaisant, enregistrer le résultat :
    • Sélectionner Video -> Normal recompress
    • Aller dans Video -> Compression…
    • Dans le panneau, sélectionner le mode de compression (Xvid par exemple) et les paramètres souhaités.
    • Faire File -> Save as AVI…
      Note: il est nécessaire de compresser la vidéo car sinon il enregistre en données brutes, ce qui donne des fichiers de plusieurs centaines de megas voire gigas pour quelques minutes seulement.

7. Combinaison de l’audio et de la vidéo

Il s’agit désormais de combiner notre fichier audio mixé et nos vidéos combinées.

  • Exporter la piste audio de la vidéo :
    • Ouvrir le fichier vidéo résultat dans VirtualDub
    • Faire File -> Save wav…
  • Ouvrir ce fichier wav dans Audacity
  • Ajouter l’audio contenant les instruments mixés avec le morceau original.
  • Synchroniser les deux : la piste de la vidéo ne doit pas bouger, il faut juste déplacer l’audio mixé. Pour synchroniser utiliser les ticks du métronome, c’est assez précis. En fonction de la position de la piste sonore, couper le début ou ajouter un silence. Le but c’est de remplacer le son de la vidéo avec ce nouveau son.
  • Lorsque le résultat est satisfaisant, exporter : Fichier -> Exporter en WAV…
  • Compresser le fichier WAV résultant en MP3 avec un outil approprié
  • Ouvrir la vidéo dans VirtualDub (si elle a été fermée)
  • Sélectionner Audio -> Audio from other file… et sélectionner le fichier MP3 créé ci-dessus
  • Vérifier dans VirtualDub et vérifier que
    • Video->Direct stream copy est sélectionné
    • Audio->Direct stream copy est sélectionné
  • Faire File->Save as AVI…

Et voilà !

Enjoy le résultat !

Tags:

Leave a Reply