Ressources numériques en sciences humaines et sociales OpenEdition Nos plateformes OpenEdition Books OpenEdition Journals Hypothèses Calenda Bibliothèques OpenEdition Freemium Suivez-nous

Transcrire automatiquement vos enregistrements audio en texte avec Kdenlive

Un billet technique pour facilement transformer vos fichiers audio et vidéo en transcription textuelle : enregistrements de parties, entretiens, podcasts, etc. Il est possible de les passer à la moulinette et d’obtenir automatiquement un fichier texte de qualité raisonnable. Le logiciel gratuit Kdenlive, appuyé par des packages et des programmes tiers, va servir d’outil central pour ce processus.

Installations préalables

  • Installer Python.
    • Installer PIP (installateur de packages Python). *
      (* : je ne rentre pas dans les détails, cela peut beaucoup varier selon votre ordinateur et la version de Python que vous avez. Ici vous avez une méthode possible)
      • Installer le package vosk *
      • Installer le package srt *
  • Télécharger un fichier de reconnaissance de langue.
    • Par exemple : Le modèle French : vosk-model-fr-0.6-linto-2.2.0 qui se trouve sur cette page https://alphacephei.com/vosk/models
    • Ne pas dézipper et placer dans un répertoire durable de vos documents sur votre ordinateur.
  • Installer Kdenlive.

Paramétrages de Kdenlive

  • Configuration > Configurer Kdenlive > + > sélectionner le fichier zip du modèle de langue.
  • Affichage > Activer ou cocher les panneaux de :
    • Moniteur du projet
    • Montage
    • Sources du projet
    • Sous-titres
  • Redémarrer votre ordinateur.

Processus de transcription

  • Lancer Python avec Windows > Exécuter : Python
  • Lancer Kdenlive
  • Dans le panneau Sources du projet, importer un fichier mp3 ou autre.
  • Glisser-déposer le fichier mp3 dans le panneau de Montage en bas du logiciel. Caler le fichier mp3 à gauche.
  • Se placer au début du fichier mp3. Dans le panneau Moniteur du projet, cliquer sur l’icône Définir le début de la zone.
  • Se placer à la fin du fichier mp3. Cliquer sur l’icône Définir la fin de la zone.
  • Dans le panneau de Montage, repérer l’icône Modifier l’outil de sous-titres. Cliquer dessus, cela fait apparaître la piste des sous-titres.
  • Au début de la piste de sous-titres, cliquer sure la baguette magique Speech Recognition.
  • Un panneau avec le modèle de langue sélectionné et Timeline Zone (all…) devrait s’afficher. Cliquer sur Process.
  • Attendre.
  • Les fichiers de sous-titres sont produits.
  • Projet > Sous-titres > Exporter un fichier de sous-titres. Créer un fichier .srt de sous-titres.
  • Utiliser un logiciel ou un service en ligne pour transformer le fichier .srt (avec time code) en un fichier texte simple- (sans time code). Exemple.
Cliquer pour agrandir et repérer où sont les icônes

Résultats

 TypeDurée du fichier de sonTemps de traitementQualité de la transcription
« Les idées claires »podcast pro9 min.1 min. 40 s.8/10
« La méthode scientifique »podcast pro59 min.20 min.7/10
« Radio Rôliste » no. 111podcast amateur1h 33 min.26 min.6/10
« Par-delà les montagnes hallucinées » no.1actual play amateur2h 18 min.35 min.6/10
et vous ?   Télécharger les 4 résultats
Il semble que beaucoup d’interruptions mutuelles de personnes enregistrées peuvent causer de la confusion dans la retranscription. Les longs monologues passent bien.
La qualité sonore de l’enregistrement ne semble pas jouer beaucoup.

Et ensuite ?

Il est très possible que les modèles de langue s’améliorent à l’avenir, rendant la transcription de meilleure qualité.

Si vous connaissez une manière de faire des traitements en lot, merci de les partager car cela peut être un besoin des étudiants en SHS. En tout cas, je pense que cette méthode va sauver beaucoup de temps et de labeur aux étudiants qui ont besoin de faire des transcriptions.

Si vous voulez faire du textmining sur 159 parties de jeux de rôle (en anglais), je vous conseille de télécharger les transcriptions (bien propre car toutes corrigées à la main) de Critical Role à https://github.com/RevanthRameshkumar/CRD3 au format json.

Contribuer en lot à Wikidata avec QuickStatements

Après avoir fait plus de 14 000 modifications à la main dans Wikidata, je me suis enfin penché sur les modifications semi-automatiques de QuickStatements, une API qui permet les modifications en lot. Voici la méthode pour se sauver du temps et de l’ennui avec l’exemple de la propriété P123 Publisher pour les maisons d’édition de jeux de rôle sur table :

Exporter une table csv depuis Wikidata

  1. Lancer une requête SPARQL avec, pour chaque élément, une colonne pour l’identifiant Q Wikidata et une colonne pour le label. Dans l’exemple, item = élément de base Q Wikidata du jeu, itemLabel = nom du jeu, publisher = élément Q de la propriété P123, publisherLabel = nom de la maison d’édition.
SELECT DISTINCT ?item ?itemLabel ?publisher ?publisherLabel WHERE {
  {
    { ?item wdt:P31 wd:Q1643932. } #TTRPG
    UNION
    { ?item wdt:P31 wd:Q2164067. } #System
    UNION
    { ?item wdt:P31 wd:Q71631512. } #supplement
    UNION
    { ?item wdt:P31 wd:Q4418079. } #setting
    UNION
    { ?item wdt:P31 wd:Q4686479. } #adventure, campaign
  }
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
  OPTIONAL { ?item wdt:P123 ?publisher.}
}
ORDER BY (?itemLabel)

Try it!

  1. Enregistrer au format csv.

Éditer le fichier csv

  1. Ouvrir le fichier csv dans LibreOffice Calc (le meilleur éditeur libre de fichier csv).
  2. Modifier les éléments désirés en ajoutant les Label dans la colonne Publisher Label. Bénéficier de la saisie semi-automatique si l’élément existe déjà.
    Si l’élément n’existe pas, le créer dans Wikidata et le rajouter dans la colonne Q ET la colonne Label.
  3. Trier la colonne Label. Copier-coller les Q manquants très visibles dans les trous de la colonne.
  4. Supprimer les colonnes Label.
  5. Sauvegarder les deux colonnes restantes au format csv.
  6. Déboublonner le fichier csv. J’ai testé 3 méthodes, la meilleure est Notepad++ avec l’extention TextFX. Voir annexe.
  7. Sur la première ligne, remplacer item, publisher par qid,P123. Le fichier devrait ressembler à ceci :
qid,P123
Q270118,Q2832284
Q2703461,Q762106
Q27102849,Q28466028
Q2720180,Q1433597
Q2755273,Q1543201

Verser dans Wikidata avec QuickStatements

  1. Aller sur QuickStatements, connectez-vous avec votre identifiant Wikimedia. Nouveau lot > Collez le contenu du fichier csv dans la case puis cliquez sur le bouton Importer les commandes CSV.
  2. Et voilà!

Annexe : comment dédoublonner des fichiers txt, csv,…

Cas: j’ai 1575 lignes à dédoublonner dans un fichiers csv. Trois méthodes sont testées :

A. Dans Calc : Bien.

  1. Sélectionner LES DEUX colonnes > Données > Plus de filtres > Filtre Standard > Nom du champs = “Aucun” + Options = “Sans doublons” > OK.
  2. Copier-coller le résultat dans Notepad++. Remplacer (mode étendu) les \t par des virgules ,

B. Dans Notepad++, par expression régulière : Pas robuste.

  1. Remplacer (mode expression régulière) ^(.*?)$\s+?^(?=.*^\1$) par rien. Cocher .match newlines
  2. Échec : ne fonctionne que pour 300-400 lignes max.

C. Dans Notepad++, avec extension TextFX : Bien.

  1. Installer TextFX : Plugins > Plugin Manager > Show Plugin Manager > Available tab > TextFX > Install
  2. Sélectionner tout. TextFX > TextFX Tools > Activer : +Sort Ascending et +Sort output only…
  3. Puis TextFX > TextFX Tools > Sort lines cases Sensitives (at colums)

Résultats A et C : 901 lignes restantes.

Mettre en œuvre des «quêtes secondaires» dans des programmes de formation

J’anime des activités de formation aux compétences informationnelles en bibliothèque. La plupart du temps, je ne dispose que d’une seule intervention dans un programme d’un département ou dans le programme des formations libres. C’est peu, car l’essentiel des compétences informationnelles ne sont pas des connaissances mais des savoir-faire qui doivent être développés sur le long terme.

Pour inviter les étudiants à continuer à développer par eux-même ce qui est présenté en formation, j’ai développé deux activités auto-dirigées, basées sur un parcours très structuré, avec la possibilité de demander de l’aide si besoin. Je n’ai rien inventé c’est le principe de la « quête secondaire », chère aux jeux de rôle sur table et aux jeux de rôle sur ordinateur. Ces quêtes secondaires font partie de mon arsenal de jeuderôlisation en formation (néologisme : ludification par des techniques du jeu de rôle).

Selon ce principe, j’ai développé deux activités :

  • Wikipédibus (CC-BY) : un parcours en 5 niveaux pour devenir Wikipédien.
    • Utilisation : offert aux étudiants après des ateliers de contribution en bibliothèque, après les webinaires d’initiation à Wikipédia, ou après le TP5 sur Wikipédia d’un séminaire de mise à niveau pour cycles supérieurs.
  • Incubablog (CC-BY) : un programme en 12 semaines pour débuter son blogue sur son sujet de recherche.
    • Utilisation : offert aux étudiants après les webinaires sur l’intérêt de bloguer ou de gérer ses profils en ligne ; ou dans le cadre d’un séminaire de mise à niveau pour cycles supérieurs.
    • Anecdote et mise en abîme : le blogue que vous consultez actuellement a été conçu pour tester cette activité.

Attributs d’une quête secondaire

Que ce soit en jeu de rôle ou dans le parcours d’un programme de formation, les quêtes secondaires possèdent un même ensemble d’attributs :

  • Ne pas être trop long ;
  • Arriver au bon moment ;
  • Ne pas être inutile ni anecdotique ;
  • Bonifier le parcours ;
  • Ne pas gêner le parcours principal ;
  • Ne pas avoir de conséquences négatives ;
  • Ne pas être indispensable.

Les quêtes secondaires doivent ainsi être distinguées :

  • des objectifs généraux du programme principal ;
  • ou des sous-objectifs, c’est-à-dire des objectifs intermédiaires et plus précis d’objectifs généraux.

Mise en œuvre

Pour hameçonner les étudiants, il est important de faire une courte introduction engageante (quel que soient les activités de formation, j’y consacre au moins 15 minutes, les webinaires durent 30 minutes).

Attendez-vous à ne toucher qu’une minorité surmotivée.

Il s’agit d’activités d’apprentissage actif, mobilisant librement des connaissances, des savoir-faire et des savoir-être multiples. Ce n’est pas une activité constructiviste avec minimum d’encadrement car :

  1. le parcours des activités est fortement prescrit et structuré ;
  2. les notions essentielles à appliquer dans ces activités ont été apprises et validées en détail dans des programmes plus généraux (évaluer les sources, rédiger, citer, etc.)

Pour en faire des activités de cœur de programme (notées, créditées, validées), je suggère :

  • pour Wikipedibus : de l’étaler sur une session de 1er cycle ou de cycles supérieurs ;
  • pour Incubablog : de l’étaler sur une à trois années pour les cycles supérieurs (maîtrise, doctorat ou post-doc).

Bibliographie

Guylène. « Dossier : L’influence des jeux vidéos sur ma pratique du jeu de rôle dans Phase psychotique dans vos écrans ». Radio Rôliste, 15 septembre 2018. http://www.radio-roliste.net/?p=1652.
Moss, Richard. « Designing Side Quests? Study These 7 Games (and Some Chris Avellone Pointers) ». Blog. Gamasutra (blog), 26 février 2018. https://www.gamasutra.com/view/news/314812/Designing_side_quests_Study_these_7_games_and_some_Chris_Avellone_pointers.php.
Paul A. Kirschner, John Sweller, et Richard E. Clark. « Why Minimal Guidance During Instruction Does Not Work: An Analysis of the Failure of Constructivist, Discovery, Problem-Based, Experiential, and Inquiry-Based Teaching ». Educational Psychologist 41, no 2 (2006): 75‑86. https://doi.org/10.1207/s15326985ep4102_1.
Rehm, Scott. « Good Ingredients Make Good Adventures ». The Angry GM (blog), 15 mai 2019. https://theangrygm.com/good-ingredients-good-adventures/.
———. « We Gotta Save; We Gotta Save the World: Epic Quest Campaigns ». Blog. The Angry GM (blog), 31 janvier 2018. https://theangrygm.com/we-gotta-save-the-world-epic-quest-campaigns/.
———. « Who’s Driving This Adventure Anyway ». Blog. The Angry GM (blog), 11 novembre 2016. https://theangrygm.com/whos-driving-this-adventure-anyway/.

La question en jeu de rôle : questionnement socratique et théâtre d’improvisation

La question traditionnelle du maître de jeu à ses joueurs est « Que faites-vous ? » Cependant, depuis quelques années avec la vogue des jeux inspirés par Apocalypse World, le maître de jeu pose de plus en plus de questions d’auteur en jeu à ses joueurs. Par exemple, « Dis-moi là maintenant pourquoi tu es l’ennemi de cette personne ? », « Décris-moi cette ville que tu as visité auparavant. » etc.

Ce type d’échange se base sur le théâtre d’improvisation où chacun construit avec bienveillance sur les propositions passées avec le moins de blocage ou de négation possible. Il se base aussi sur une technique pédagogique bien connue des juristes (qui en mange beaucoup dans leurs formations): le questionnement socratique. Il s’agit de poser une série de questions:

  • orientées (concentrées sur le sujet en cours de discussion)
  • stimulantes (pertinentes ou surprenantes ou défiantes, leurs réponses ont un impact)
  • synthétiques (reprendre et renforcer des éléments déjà établis)
  • et inclusives (pour rassembler le plus de joueurs dans la fiction).

L’Inquisition, pas le bon modèle pour la question.

Cela demande plus de préparation et/ou d’expérience de la part du maître de jeu. Les risques sont qu’il peut être (réellement ou perçu comme) non-respectueux, inintéressant, incompétent, manipulateur ou fainéant. Par exemple :

  • les questions masquent un manque ou une absence complète de préparation,
  • les questions le posent en adversaire des joueurs,
  • les réponses des joueurs sont sans conséquence,
  • les joueurs doivent répondre ce que le maître de jeu veut entendre.

Pour poser de bonnes questions, les principes sont :

  • la confiance (les joueurs savent que le maître de jeu ne va pas les humilier ou les punir pour les réponses),
  • la réciprocité (le maître de jeu apprend des joueurs, donne de la valeur aux réponses, et répond aussi aux questions),
  • l’ouverture (exposer tous les tenants et les aboutissants, le processus de discussion, les risques et les émotions que cela pourrait susciter),
  • l’équité (chaque joueur est considéré de manière égale).

De mon expérience de formateur, j’ai plus d’autorité et de crédit quand je réponds plutôt que lorsque parle en formation. De plus, c’est beaucoup plus agréable d’être en mode échange car l’attention est plus soutenue puisqu’elle est réactivée constamment. Par contre cela a un coût : plus de préparation en amont ou plus d’expérience.

Un bon questionnement facilite aussi une conversation hospitalière. Une bonne question permet de créer un espace fertile à combler par l’autre. C’est l’inverse d’un mouvement égoïste. Cet art de la question, pour incorporer de la fiction venant des joueurs ou pour voir ce qu’il va se passer sans plan préconçu, a été formalisé par les jeux de type Propulsé par l’Apocalypse. Comme le dit Samuel Ziterman dans une vidéo d’initiation (à 00:15:00) sur ce type de jeux :

« Cela permet de se décharger de la tâche créative sur les joueurs pour se concentrer sur d’autres aspects. Aussi d’enrichir la conversation avec les réponses des joueurs.
Enfin, gardons à l’esprit que le jeu de rôle n’est pas un plaisir égoïste. À aucun moment ce ne peut être votre plaisir personnel sur celui des autres. À aucun moment, une conversation ou une discussion ne peut être égoïste sinon ça ne fonctionne pas. »

Poser une question permet aussi au système cognitif du récepteur de simuler une réponse possible. Cet aspect est étudié par le mode contraint et le mode autonome des neurones : un est capable de gérer la réalité et l’autre est capable de simuler les mêmes règles et de simuler les situations. Or ces deux systèmes sont exclusifs, ou l’un ou l’autre, poser une question pourrait permettre de lancer le mode autonome.

Ce billet est inspiré du billet Is the Socratic Method Unethical? de Mitchell M. Handelsman.