Vinyle timecodé
# Vinyle timecodé

Le vinyle timecodé (aussi appelé VTC) est le résultat de l'ajout sur un disque vinyle du procédé time-code.

Il permet de connaître la position du diamant/cellule sur le vinyle en émettant un son sinusoïdal qui, une fois récupéré via un logiciel de mixage, permet d'ajuster la position de lecture d'un fichier musical (MP3, WAV…). Cela permet ainsi de mixer simplement ses MP3 sur ses platines vinyles.

Ce procédé existe aussi pour les CD.

## Principe

Le signal timecode est un signal sonore stéréo analogique. La voie de gauche du signal définit la vitesse de rotation du vinyle grâce à un signal sinusoïdal de fréquence constante fo (= 1/To), fréquence de référence en lecture normale (en général aux alentours de 1 kHz mais il existe aussi des versions en 2 kHz). L'analyse de la fréquence du signal f (= 1/T) par rapport à cette fréquence constante fo permet d'en déduire la vitesse de rotation du vinyle. Si f<fo (ie T>To) alors la lecture a été ralentie, si f>fo (ie T<To) alors la lecture du signal a été accélérée et si f=fo (T=To) alors la lecture est en vitesse normale.

La voie de droite est composée du même signal sinusoïdal ci-dessus mais avec un décalage de phase par rapport à la voie de gauche(en général de + Pi/4). Ce dernier permettra de définir le sens de rotation du vinyle par comparaison du déphasage entre les deux voies.

Enfin la voie de droite contient des informations permettant de définir la position sur le vinyle. Celles-ci se superposent au précédent signal sinusoïdal.

Serato préfère utiliser la notion de noisemap pour définir sa technologie qui se distingue légèrement du procédé timecode. En effet, dans le noisemap, on retrouve le même principe de détection du sens et de la vitesse par contre l'analyse de la position utilise un procédé propre à cette technologie. En effet, la position n'est plus codée sur un seul canal mais sur les deux, à l'identique. On a donc exactement la même courbe sur les 2 voies (décalée de + Pi/4 avec une fréquence principale de 1 kHz). Encodage de la position sur 20bit que l'on peut décoder via LFSR (Linear Feedback Shift Register).

Un logiciel lit ensuite le son qu'il reçoit de la platine vinyle grâce aux « line in » d'une carte son (en rappelant qu'il faut une entrée stéréo par platine vinyle) et décode les informations du timecode pour les retranscrire en actions dans le logiciel.

Dans le cas de l'utilisation d'un vinyle timecodé (et non dans le cas du CD timecodé), le premier traitement consiste à appliquer une pré-amplification RIAA (si ce n'est pas déjà fait en amont au niveau matériel par la carte son ou la platine vinyle). C'est pour cela que l'on fait la distinction entre une entrée Phono et une entrée Line.

Le logiciel doit ensuite décoder le signal de manière optimale : pour cela, il faut en général correctement régler le gain afin que celui ne soit pas trop faible (assimilé à une absence de signal par le logiciel) ou trop fort (saturation du signal empêchant toute détection). On ajustera donc ce dernier dans la carte son et dans le logiciel. On effectue aussi une analyse du bruit environnant afin d'éliminer ce qui pourrait être considéré comme du signal timecodé par le logiciel. Certains logiciels proposent la possibilité de choisir la fréquence d'échantillonnage (44,1 kHz ou 48 kHz) et la profondeur de bit (16-Bit ou 24-Bit) du signal entrant.

Le logiciel doit également prendre en compte le fait que la platine vinyle tourne soit à 33 tr/min, soit à 45 tr/min.

Deux modes d'utilisation du vinyle/CD timecodé sont essentiellement proposés dans le logiciel :

* le mode absolu
* le mode relatif
* (éventuellement un mode smart combinant les deux modes précédents).

Des options peuvent être également ajoutées comme :

* le déplacement dans la base de données du logiciel en se plaçant sur les dernières minutes du signal
* le réglage précis de la position de démarrage en introduisant un temps appelé Lead-in time
* un réglage ou une inversion stéréo ou/et de phase du signal (utile par exemple en cas d'inversion des câbles audios sur la carte son)
* la détection du seuil de silence (automatique ou manuelle).

Deux affichages graphique du signal sont généralement proposés :

* Affichage sinusoïdal : canal_gauche(temps) & canal_droit(temps)
* Affichage circulaire (scope view ou phase) : canal_gauche(canal_droit)

D'autres indicateurs graphiques peuvent être ajoutés:

* la vitesse de rotation (33.3 ou 45)
* la vitesse de lecture (ie la position du pitch par rapport à 0) (xxx.xx)
* le sens de lecture (+/- 1)
* la position dans le signal(temps)
* la qualité du signal (xxx.x%)
* la version du vinyle timecode utilisée (CV01A, CV01B, ...)
* le seuil de silence (" - xx.x dB threshold)

## Latence

Il faut bien entendu réaliser toutes ces opérations de traitement dans un délai très court : on parle alors de latence. Celle-ci correspond au temps entre le toucher du vinyle et l'exécution de l'action « du toucher » par le logiciel.

Il est donc crucial d'utiliser une carte son de qualité, ainsi que d'installer les pilotes adaptés (par exemple ASIO pour Windows et CoreAudio pour MacOS X), tout cela dans le but de réduire le délai de récupération des données audio en entrée.

## Utilisation

L'acquisition se fait via une carte son ainsi qu'un logiciel de mixage de type VirtualDJ, Rekordbox, VirtualVinyl, Serato, Scratch Live, Traktor Scratch, Mixvibes, Torq, MsPinky.

Afin de ne pas détériorer le signal timecodé (celui-ci ne devant pas être affecté par du bruit pour que le logiciel puisse le décoder dans des conditions optimales), on prendra grand soin à désactiver tout élément audio-numérique « perturbateur » du type Master Tempo ou un effet audio entre le vinyle timecodé et la carte son ASIO. On vérifiera également la bonne mise à la Terre de la platine vinyle et l'utilisation de cellules neuves adaptées au signal timecodé.

Afin d'optimiser son utilisation, on vérifiera également que la balance stéréo est par défaut au centre. Cela évite de devoir corriger la différence entre les deux canaux dans le logiciel.

Il existe aussi des configurations matérielles qui permettent de s'affranchir de carte son (en tant que hardware informatique) : Les tables de mixages avec entrées DVS, ou les contrôleurs DJ all in one compatible DVS par exemple.

Dans les 2 cas, le processeur interne de l'élément de mixage (table de mixage ou contrôleur) reconnait le signal timecodé, et le stoppe au niveau du prégain pour le router vers le PC via USB. Après traitement par logiciel compatible (voir plus haut) en fonction du timecode reçu, ce dernier renvoie le son traité à l'élément de mixage via USB. Le son traité sera inséré dans le flux "conventionnel" au niveau ou il a été dérouté (pré-gain).

On peut résumer ainsi : L'élément de mixage reconnait le signal timecodé, l'envoie au logiciel cible sur le PC, le PC renvoie le flux audio traité, l'élément de mixage substitue le signal timecode par le flux audio du PC sur la tranche de mixage concernée.

Le PC n'effectue que le cadencement "temporel" du flux audio selon le timecode reçu (pitch, position, sens de lecture, + éventuel traitement de tonalité globale indexée sur le pitch comme le MASTER TEMPO par exemple). L'élément de mixage effectue le reste des opérations dites "temps réel" (gain, EQ, effets...). Pour cela, il faut une importante puissance de calcul embarquée dans l'élément de mixage, ce qui est le cas sur les configurations professionnelles qui intègrent des DSP assez puissants pour réaliser ces opérations (RANE, PIONEER DJ, DENON DJ, RELOOP (RMX90 et ELITE uniquement), ALLEN & HEATH...).

Dans les configurations plus simples à bas coût (avec une faible puissance de calcul embarquée), en plus d'envoyer le timecode au PC, l'élément de mixage envoie aussi la position de ses contrôles hardwares (gain, EQ, effets...) sur un canal MIDI. Le PC réalise alors les opérations "temporelles" et les opérations "temps réels" à la fois, ces dernières ne pouvant pas être assumées par l'élément de mixage.

Le flux sortant du PC (et destiné à être inséré sur la tranche appropriée de l'élément de mixage) contient toutes les manipulations du son. L'inconvénient de cette méthode est que la charge de travail du PC est plus conséquente, ce qui peut pénaliser la latence, et peut nécessiter une configuration machine supérieure pour obtenir (ou approcher) les performances du cas où l'élément de mixage effectue les opérations "temps réel" lui même.

