Blog chevron right Recherche

Horodater les tours de parole pour le codage linguistique (règles + conseils)

Matthew Patel
Matthew Patel
Publié dans Zoom avr. 2 · 5 avr., 2026
Horodater les tours de parole pour le codage linguistique (règles + conseils)

Pour coder un corpus de façon fiable, vous devez horodater chaque tour de parole avec un format stable (début–fin), aligné sur l’audio/vidéo. Le bon choix dépend de votre objectif : annotation fine (tour par tour) ou analyse plus large (par intervalles). Ce guide donne des règles de format, des exemples prêts à copier, et des astuces pour garder des timecodes cohérents sur tout un dataset.

Mot-clé principal : horodatage des tours de parole.

Key takeaways

  • Choisissez une seule référence temporelle (timecode de la piste, pas “temps écoulé” au hasard) et gardez-la partout.
  • Pour le codage linguistique, privilégiez des timecodes début–fin à chaque tour de parole.
  • Fixez une granularité (ex. millisecondes) et une règle d’arrondi, puis appliquez-la à tous les fichiers.
  • Documentez vos règles : chevauchements, pauses, sons non verbaux, recouvrement de parole.
  • Validez la cohérence avec des contrôles simples (ordre des temps, pas de trous involontaires, pas de fins avant débuts).

Pourquoi horodater les tours de parole (et quel niveau choisir)

Un horodatage par tour de parole permet de relier chaque annotation au signal, de revoir rapidement un passage, et de comparer des annotateurs. Il rend aussi possible l’alignement avec d’autres couches (prosodie, gestes en vidéo, code-switching, actes de parole).

Vous avez deux grandes options : horodatage par intervalles (blocs fixes) ou horodatage par tour (segments naturels). Les intervalles aident pour des comptages rapides, mais le tour par tour sert mieux l’annotation linguistique, car il suit la structure de l’interaction.

Option A : horodatage par intervalles (windows)

Vous découpez le fichier en tranches régulières (ex. 5 s, 10 s, 30 s) et vous annotez ce qui apparaît dans chaque tranche. Cette méthode aide quand vous cherchez des tendances globales, ou quand le repérage fin n’est pas nécessaire.

  • Avantages : simple à automatiser, facile à distribuer entre annotateurs.
  • Limites : coupe souvent les tours, mélange plusieurs locuteurs, rend la relecture moins naturelle.

Option B : horodatage par tour de parole (recommandé)

Vous marquez un début et une fin pour chaque tour (ou segment de tour), avec une étiquette locuteur. C’est le meilleur compromis pour le codage : vous gardez la granularité linguistique tout en restant relisible.

  • Avantages : correspond aux unités interactionnelles, facilite les annotations multi-couches.
  • Limites : demande des règles claires sur les pauses, chevauchements, et micro-énoncés.

Comment choisir la granularité (secondes, dixièmes, millisecondes)

Choisissez la précision selon votre tâche, puis imposez-la à tout le corpus. Une précision plus fine ne sert que si vous pouvez la tenir de façon stable.

  • Secondes (HH:MM:SS) : bien pour des analyses macro (thèmes, sujets), moins pour chevauchements.
  • Dixièmes/centièmes : utile pour des pauses courtes et des reprises rapides.
  • Millisecondes (HH:MM:SS.mmm) : utile si vous faites de la phonétique, de la prosodie, ou si vous alignez avec des événements vidéo précis.

Règles de format : un standard simple, lisible et “dataset-friendly”

Le but n’est pas d’être “parfait”, mais d’être cohérent. Un format stable réduit les erreurs d’annotation et facilite l’import dans un tableur, ELAN, Praat, ou un script.

Règle 1 : utilisez un format de timecode unique

Choisissez un seul format, puis interdisez les variantes. Un bon choix général : HH:MM:SS.mmm en 24 h, séparateur décimal en point.

  • Exemple : 00:12:03.450
  • Évitez : 12:3.45, 0:12:03, 00:12:03,45 (virgule) si vous faites du CSV.

Règle 2 : notez toujours un début et une fin

Un tour doit avoir START et END, même si le contenu est très court. Cela rend l’alignement et les requêtes plus sûrs qu’un seul timecode “point”.

  • Bon : START=00:00:05.120, END=00:00:06.980
  • À éviter : T=00:00:05.120 (sans fin), sauf si votre outil impose des points.

Règle 3 : fixez une convention d’inclusivité (fin incluse ou exclue)

Décidez si la fin correspond au dernier instant inclus (inclusive) ou au premier instant hors segment (exclusive). Beaucoup d’équipes utilisent fin exclusive pour éviter les doubles comptages quand deux segments se touchent.

  • Fin exclusive (recommandée) : le segment couvre [START, END).
  • Impact : si un tour finit à 00:00:10.000, le suivant peut commencer exactement à 00:00:10.000 sans chevauchement “mathématique”.

Règle 4 : identifiants locuteurs stables et sans ambiguïté

Utilisez des IDs courts, constants, et compatibles fichier (sans accents ni espaces). Ajoutez une table de correspondance dans votre documentation.

  • Bon : SPK01, SPK02, INT (intervieweur), CHI (enfant)
  • À éviter : “Marie”, puis “M.”, puis “marie_2” selon les fichiers.

Règle 5 : une ligne = une unité de segmentation

Décidez ce qu’est une “unité” : un tour complet, ou des sous-segments (par exemple quand un locuteur fait une longue narration). Ensuite, appliquez la même règle partout.

  • Tour complet : plus lisible, moins de lignes.
  • Sous-segmentation : utile si vous codez des phénomènes internes (réparations, marqueurs discursifs), mais exige des règles plus strictes.

Exemples de formats prêts à l’emploi

Exemple 1 (simple, type TSV/CSV) :

  • file_id | tier | speaker_id | start | end | text
  • FR001 | turn | SPK01 | 00:00:05.120 | 00:00:08.430 | Je pense que…
  • FR001 | turn | SPK02 | 00:00:08.430 | 00:00:10.200 | Oui, mais…

Exemple 2 (style transcript lisible) :

  • [00:12:03.450–00:12:06.900] SPK01: On peut reprendre ?
  • [00:12:06.900–00:12:09.100] SPK02: Oui, vas-y.

Exemple 3 (avec chevauchement marqué sans casser les timecodes) :

  • [00:01:10.000–00:01:12.500] SPK01: Je voulais dire que
  • [00:01:11.800–00:01:13.200] SPK02: (oui) je vois

Alignement audio/vidéo : éviter les dérives de timecode

Un bon horodatage colle au média, sinon vos annotations “glissent” et perdent de la valeur. Le risque augmente quand vous mélangez des exports, des conversions, ou des versions de fichier.

Choisissez votre référence : timecode média, pas “temps estimé”

Basez vos timecodes sur le même fichier source (même durée, même fréquence d’images, même début). Si vous changez de version (compressée, coupée, nettoyée), notez-le et régénérez les timecodes.

Faites attention au frame rate en vidéo

Une vidéo peut avoir une fréquence d’images (FPS) différente d’un autre export, ce qui casse l’alignement. Gardez le même FPS sur tout le projet, ou gardez une piste “master” à laquelle tout le monde se réfère.

Si vous devez respecter des timecodes vidéo, vérifiez les bases SMPTE et la notion de drop-frame pour certains standards. Pour une définition claire, vous pouvez consulter une présentation des timecodes SMPTE.

Gérez le décalage de départ (offset) explicitement

Certains enregistrements commencent avec du silence, un clap, ou une coupure. Si vous utilisez un offset (ex. le tour 1 commence à 00:00:02.000 car vous ignorez le bruit), écrivez la règle dans vos métadonnées.

  • Option simple : timecode toujours basé sur le fichier brut.
  • Option avec offset : vous gardez “media_start=00:00:00.000”, et vous notez “analysis_start=00:00:02.000”.

Synchronisez si vous avez plusieurs pistes (multi-mic)

En multi-piste, vous pouvez avoir un léger décalage entre micros. Choisissez une piste de référence, puis alignez les autres pistes avant d’horodater, sinon vos tours auront des débuts incohérents.

Procédure pas à pas pour horodater des tours de parole (workflow)

Un workflow fixe aide à produire des segments comparables, même avec plusieurs annotateurs. Voici une procédure simple qui marche dans beaucoup d’outils.

Étape 1 : définissez vos règles de segmentation

  • Qu’est-ce qui démarre un tour : prise de parole audible, inspiration, premier phonème ?
  • Qu’est-ce qui termine un tour : fin du mot, fin de l’intonation, silence minimum ?
  • Que faites-vous des backchannels (“mmh”, “oui”) : tours séparés ou intégrés ?

Étape 2 : choisissez la règle de silence (pause)

Décidez d’un seuil de pause qui sépare deux tours du même locuteur, par exemple 300 ms, 500 ms, ou 1 s, selon vos objectifs. Gardez ce seuil stable, sinon vous changez la taille des segments selon les fichiers.

Étape 3 : segmentez d’abord, transcrivez ensuite (si possible)

Si vous segmentez avant de transcrire, vous réduisez les allers-retours et vous gardez des segments plus réguliers. Si votre outil l’impose, vous pouvez aussi transcrire en continu puis découper, mais gardez une phase dédiée de “nettoyage des segments”.

Étape 4 : ajoutez les IDs locuteurs et contrôlez les chevauchements

  • Si deux personnes parlent en même temps, créez deux segments qui se chevauchent.
  • Si vous ne voulez pas de chevauchements dans votre format final, gardez-les dans une couche “overlap” séparée.

Étape 5 : exportez dans un format simple et stable

Pour un dataset, TSV est souvent plus robuste que CSV quand vous avez des virgules dans le texte. Gardez les colonnes dans le même ordre et fixez les noms de colonnes une fois pour toutes.

Pièges fréquents (et comment les éviter)

La plupart des problèmes viennent de petites variations qui s’accumulent sur des dizaines de fichiers. Mieux vaut les bloquer dès le départ avec des règles écrites.

Piège 1 : arrondis différents selon les annotateurs

  • Symptôme : segments qui se chevauchent “par accident” de 1–2 ms, ou trous minuscules.
  • Solution : imposez une règle : arrondi au plus proche, ou troncature, et une précision fixe (ex. .mmm).

Piège 2 : changements de versions média

  • Symptôme : timecodes corrects sur un fichier, faux sur un autre export.
  • Solution : conservez un identifiant de version (file_id + hash ou v1/v2) et n’éditez pas la durée du master.

Piège 3 : tours trop longs ou trop courts

  • Trop long : difficile à coder, risque de mélanger plusieurs actions.
  • Trop court : explosion du nombre de segments, fatigue d’annotation.
  • Solution : fixez une règle de “re-segmentation” (ex. au-delà de 20–30 s, découper à des limites prosodiques).

Piège 4 : confusion entre tour, énoncé et phrase

Un tour peut contenir plusieurs phrases, et une phrase peut être interrompue. Définissez votre unité cible (interactionnelle ou syntaxique) et gardez-la identique dans tout le projet.

Piège 5 : inconsistance sur les sons non verbaux

Rires, soupirs, claquements, toux, peuvent être importants en linguistique. Décidez si vous les mettez dans la ligne du tour ou dans une piste dédiée.

  • Option : ajouter un tag dans le texte, ex. [rire], [soupir].
  • Option : créer une tier “nonverbal” avec ses propres timecodes.

Conseils pour garder des timecodes cohérents sur tout un dataset

La cohérence vient surtout de la documentation et des contrôles. Vous pouvez obtenir un dataset propre sans outils complexes, si vous appliquez quelques vérifications.

Créez une “fiche de règles” (1 page) et versionnez-la

  • Format timecode (HH:MM:SS.mmm)
  • Fin inclusive/exclusive
  • Seuil de pause
  • Règles pour chevauchement, backchannels, non verbal
  • Noms de colonnes et valeurs autorisées

Utilisez des contrôles automatiques simples

Dans un tableur ou un script, vérifiez au minimum :

  • START < END pour chaque ligne.
  • START du tour n+1 ≥ START du tour n (ordre temporel par fichier).
  • Pas de timecode hors durée du média.
  • IDs locuteurs dans la liste autorisée.

Standardisez les noms de fichiers et les IDs

  • file_id : FR001, FR002, etc., sans caractères spéciaux.
  • speaker_id : SPK01, SPK02, ou rôles (INT, PAR).
  • session_id : utile si un même locuteur apparaît sur plusieurs jours.

Gardez une colonne “notes” pour les cas limites

Quand un segment est incertain (bruit, parole lointaine), notez-le au même endroit. Vous évitez ainsi que chacun invente sa propre solution dans le texte.

Si vous utilisez de l’IA, prévoyez une phase de relecture

La transcription automatique peut aider à gagner du temps, mais le codage linguistique demande souvent un alignement fin. Une phase de correction sur les segments et les locuteurs évite de propager des erreurs sur tout le corpus.

Si vous testez une approche hybride, vous pouvez démarrer avec une base IA puis corriger : transcription automatisée, puis vérification humaine selon votre protocole.

Common questions

1) Dois-je horodater au niveau du tour ou au niveau de la phrase ?

Pour l’annotation interactionnelle, le tour est souvent plus naturel. Si votre codage cible des structures internes (réparations, prosodie), vous pouvez sous-segmenter, mais gardez des règles fixes.

2) Quel format de timecode est le plus sûr pour un dataset CSV/TSV ?

HH:MM:SS.mmm avec un point pour les millisecondes fonctionne bien, surtout en TSV. Évitez la virgule décimale si vous exportez en CSV, car elle peut casser les colonnes.

3) Comment gérer les chevauchements de parole ?

Le plus clair est de créer un segment par locuteur avec des timecodes qui se chevauchent. Si votre outil n’accepte pas les chevauchements, mettez-les dans une piste séparée ou ajoutez un champ “overlap=yes”.

4) Que faire avec les “mmh”, “oui”, et autres backchannels ?

Décidez si vous les codez comme tours indépendants (utile pour l’analyse interactionnelle) ou comme événements attachés au tour du locuteur principal. Le plus important est d’être cohérent sur tout le corpus.

5) Puis-je changer les règles d’arrondi en cours de projet ?

Évitez, car vous créez des datasets difficiles à fusionner. Si vous devez changer, versionnez la règle et, si possible, re-exportez les anciens fichiers avec la nouvelle règle.

6) Comment vérifier que mes timecodes collent encore à la vidéo après export ?

Faites un contrôle par échantillonnage : ouvrez 10–20 segments au hasard et vérifiez que le début et la fin correspondent à ce que vous attendez. Si vous voyez un glissement progressif, suspectez un changement de FPS ou de fichier source.

7) Est-ce utile d’ajouter des sous-titres en plus de la transcription horodatée ?

Oui si vous diffusez des extraits vidéo à des annotateurs, ou si vous avez besoin d’accessibilité. Pour des contenus audiovisuels, vous pouvez aussi produire des sous-titres dédiés via un service de sous-titrage.

Conclusion : une cohérence simple vaut mieux qu’une précision “parfaite”

L’horodatage des tours de parole sert surtout à rendre votre codage vérifiable, réutilisable, et facile à auditer. Fixez un format, documentez vos décisions, et appliquez des contrôles réguliers pour éviter les dérives.

Si vous avez besoin d’un support fiable pour convertir vos enregistrements en texte horodaté et prêt pour l’annotation, GoTranscript propose des solutions adaptées, notamment des professional transcription services.