2 points par GN⁺ 2024-08-10 | 3 commentaires | Partager sur WhatsApp
  • oTranscribe est une application web gratuite qui réduit l’inconfort de devoir jongler entre un lecteur multimédia et un éditeur de documents lors de la transcription d’interviews enregistrées
  • La lecture et la saisie se font sur un seul écran, avec contrôle du pause·retour arrière·avance rapide uniquement au clavier
  • Il est possible d’insérer des horodatages interactifs dans la transcription pour aller directement à un moment précis, et le travail est sauvegardé automatiquement chaque seconde dans le stockage du navigateur
  • Les fichiers audio et les transcriptions restent privés et ne quittent pas l’ordinateur ; l’export est possible vers Markdown, texte brut et Google Docs
  • L’outil prend en charge les fichiers audio mp3/ogg/webm/wav et les vidéos mp4/ogg/webm, mais le flux d’usage est pensé pour un ordinateur de bureau

Un flux de transcription sur un seul écran

  • oTranscribe est une application web gratuite pour la transcription d’interviews enregistrées
  • Utilisable uniquement sur ordinateur de bureau
  • Pour éviter d’alterner entre QuickTime et Word, la saisie de la transcription et la lecture du média se font sur le même écran
  • Les raccourcis clavier permettent de contrôler la lecture et la mise en forme
    • ESC pour lecture/pause
    • Contrôle au clavier de la pause, du retour arrière, de l’avance rapide et de la vitesse
    • Ctrl+J pour insérer l’horodatage actuel
    • Ctrl+I pour l’italique, Ctrl+B pour le gras
  • En cliquant sur les horodatages interactifs dans la transcription, on peut aller directement au moment correspondant

Gestion des fichiers, sauvegarde et export

  • Les fichiers audio et les transcriptions sont traités de manière privée et ne quittent pas l’ordinateur
  • Le travail est sauvegardé automatiquement chaque seconde dans le stockage du navigateur
  • L’historique de transcription est enregistré sous forme de copie toutes les 5 minutes, avec jusqu’à 100 sauvegardes conservées
  • Ctrl+S permet d’enregistrer manuellement à tout moment
  • Formats pris en charge

    • Audio : mp3, ogg, webm, wav
    • Vidéo : mp4, ogg, webm
    • Les fichiers vidéo peuvent être lus dans le lecteur intégré
    • Fonction de saisie d’URL de vidéo YouTube
  • Export

    • Markdown .md
    • Texte brut .txt
    • Format oTranscribe
    • Google Docs
    • oTranscribe est un projet open source sous licence MIT
    • L’aide est disponible sur Help

3 commentaires

 
xguru 2024-08-11

Hein ? Je me demandais comment c’était possible dans le navigateur... mais en fait, c’est simplement un outil pour écouter et retranscrire manuellement, sans IA.
De nos jours, Whisper reconnaît aussi très bien le coréen, donc je ne vois pas forcément pourquoi il faudrait utiliser ce genre d’outil..

 
znjadong 2024-08-14

Lorsqu’il y a beaucoup d’intervenants, que la prononciation est peu claire ou que la qualité de l’enregistrement est mauvaise, il peut être difficile de compter sur l’aide de l’IA. Et il arrive souvent qu’on ait besoin d’un niveau de qualité supérieur à quelque chose qui fonctionne « suffisamment bien ».

 
GN⁺ 2024-08-10
Avis de Hacker News
  • Cette semaine, j’ai dû faire une transcription avec diarisation des locuteurs d’une interview avec plusieurs intervenants, et j’ai essayé https://github.com/MahmoudAshraf97/whisper-diarization : ça marche très bien.
    Il génère à la fois un fichier où chaque prise de parole ininterrompue est associée à un numéro de locuteur, et un fichier avec des horodatages qui semble utilisable pour des sous-titres.

    • J’ai obtenu de bons résultats en utilisant une API Whisper de diarisation des locuteurs hébergée appelée Spectropic [1], comme une plateforme.
      C’était moins cher, bien plus simple et plus rapide que de configurer et utiliser whisper-diarization sur un M1. Audiogest [2] est un service web construit au-dessus de Spectropic, mais je ne l’ai pas encore essayé.
      Je ne suis pas lié au projet, juste un client satisfait, et après un rapport de bug j’ai eu un échange d’e-mails sympa avec ce qui semble être le développeur solo derrière ces outils.
      [1] https://spectropic.ai/
      [2] https://audiogest.app/
    • J’ajoute souvent des sous-titres avec Whisper à de vieux films étrangers peu connus, ou à de courtes vidéos trouvées sur des chaînes Telegram/Twitter étrangères.
      Utilisé avec GPT pour la traduction, ça fonctionne plutôt bien.
      Avec assez de (V)RAM, on peut aussi le faire en local, mais en général je n’en ai pas assez et je préfère l’API OpenAI. Les différents modèles de la famille Llama n’atteignent pas la qualité de GPT-4.
      Si vous n’avez besoin que de Whisper et pas de traduction, l’exécution locale est tout à fait réaliste, et même Whisper en haute qualité tient dans 4 Go de (V)RAM.
    • Le problème d’OpenAI Whisper, c’est qu’il est beaucoup trop lent sur les machines uniquement CPU.
      Whisper.CPP est très rapide par rapport à Whisper, donc j’aimerais voir une meilleure fonction de diarisation des locuteurs construite par-dessus.
    • whisper-dia a parfois des problèmes bizarres non résolus ; personnellement, whisperX m’a mieux convenu : https://github.com/m-bain/whisperX
    • Il est intéressant de voir que des problèmes de machine learning traditionnellement très complexes et difficiles deviennent peu à peu, grâce à l’IA, des produits génériques.
      C’est le cas de la transcription, de la traduction automatique, de l’OCR, de la reconnaissance d’images, etc.
  • Ce n’est peut-être pas très clair, mais OTranscribe n’est pas un outil automatique de speech-to-text : c’est une UI qui aide à la transcription manuelle.
    Il n’y a donc pas d’IA ici.

    • Exact, c’est un outil conçu pour aider à la transcription manuelle.
  • Existe-t-il une appli open source/payante/shareware/freeware qui fasse de la transcription en temps réel mot par mot pendant l’enregistrement, fonctionne entièrement en local, et utilise des modèles locaux open source relativement récents ?
    Aujourd’hui, j’utilise otter.ai pour la transcription de réunions en temps réel. C’est pratique : si je fais autre chose et qu’on me pose une question, je peux parcourir la transcription des dernières secondes pour me remettre immédiatement dans le fil, mais ce n’est pas parfait ; il y a parfois une latence assez importante dans la transcription du service en temps réel, et il faut une connexion Internet.
    À l’inverse, la plupart des applis basées sur Whisper et, la dernière fois que j’ai vérifié, le code de démo de whisper.cpp, exigeaient de fournir l’enregistrement entier d’un coup. Il existe aussi d’autres solutions qui dépendent du framework de dictée d’Apple, etc., mais leurs fonctionnalités actuelles sont un peu datées.
    Je suis curieux de savoir s’il y a des choses que vous utilisez vraiment.

    • Pour un autre besoin lié à une mauvaise audition, j’ai créé moi-même une solution local-first qui fait de la transcription en temps réel mot par mot entièrement en local.
      C’est un outil que j’utilise tous les jours pour transcrire des réunions, interviews, etc. Comme toutes les données restent sur ma machine, je n’ai pas à m’inquiéter de la confidentialité quand je transcris des réunions de travail.
      C’est aussi rapide qu’Otter.ai, mais l’expérience utilisateur et la vitesse peuvent clairement être améliorées. En revanche, ça ne fonctionne que sur les MacBook avec Apple silicon.
      Si ça vous intéresse, on peut en discuter par e-mail (voir mon profil HN).
    • Sur Android/GrapheneOS, j’utilise Transcribro[0].
      C’est un logiciel libre open source et il fonctionne entièrement en local. Ce n’est pas du temps réel mot par mot, mais il n’est pas nécessaire d’attendre que tout l’audio soit envoyé pour commencer le traitement. Je l’utilise sur un Pixel 5a, donc ce n’est pas non plus du matériel extraordinaire.
      Ça marche suffisamment bien pour que je m’en serve aussi afin d’envoyer des messages à ma machine Linux via Telegram quand je n’ai pas envie de taper. C’est un bricolage peu élégant, mais ça fait le boulot.
      J’ai passé quelques heures à chercher une alternative native Linux ou à essayer de le faire tourner dans Waydroid, mais je n’ai rien trouvé d’aussi efficace ; j’ai donc décidé de ne pas laisser le « raffinement » devenir l’ennemi du « suffisamment utilisable ».
      [0] https://github.com/soupslurpr/Transcribro
    • Les téléphones Google Pixel ont cette fonction, et elle marche très bien.
    • J’ai aidé à coder oTranscribe+ [0], qui fait quelque chose d’assez proche de ce que vous demandez.
      C’est une application desktop utilisant ElectronJS et la version d’oTranscribe de l’époque ; il existe aussi une version web et une PWA [1].
      À l’époque, le modèle de langue utilisé était celui du BSC (Barcelona Supercomputing Center), et la transcription était basée sur Vosk [2] et exécutée en WASM.
      [0] https://github.com/projecte-aina/oTranscribe-plus
      [1] https://otranscribe.bsc.es/
      [2] https://github.com/alphacep/vosk-api
    • C’est possible. L’app TestFlight de WhisperKit prend en charge les trois sur Apple Silicon : https://www.takeargmax.com/blog/whisperkit
      Ce serait bien d’avoir aussi la diarisation des locuteurs, mais on attend qu’elle soit ajoutée à Whisper upstream : https://github.com/argmaxinc/WhisperKit/issues/31
  • Il est un peu surprenant qu’il n’y ait pas d’intégration IA
    Si l’on veut un résultat de qualité publication, même les résultats produits par l’IA nécessitent toujours relecture et contrôle qualité. Il faut indiquer qui parle et quand, ou au moins faire l’identification des locuteurs que Whisper ne sait pas faire, corriger des noms de famille inhabituels, etc.
    Donc même les personnes qui utilisent l’IA ont besoin d’un bon outil pour corriger/finaliser/relire, et cela devrait ressembler à un outil de transcription non assistée

    • Cet outil a été créé il y a très longtemps par Elliot Bentley, ancien journaliste chez WSJ Graphics, aujourd’hui chez Datawrapper
      Il est désormais maintenu par Muckrock et n’a pas changé depuis un certain temps
      C’est pourquoi ce type d’intégration n’existe pas. À l’époque, la technologie elle-même n’existait pas
  • D’après la FAQ, à la question « oTranscribe convertit-il automatiquement l’audio en texte ? », la réponse est « non »
    oTranscribe rend la tâche manuelle de transcription audio beaucoup moins pénible, mais la transcription elle-même reste à faire soi-même

  • J’utilise actuellement l’app iOS gratuite Aiko, qui fait de la transcription hors ligne avec le modèle Whisper d’OpenAI
    Jusqu’ici, cela fonctionne plutôt bien, et on peut exporter en SRT, TXT, CSV, JSON, texte avec horodatage, etc.
    https://sindresorhus.com/aiko

  • Si vous avez besoin d’une transcription de fichiers audio/vidéo, vous pouvez aussi essayer à tout moment mon service TurboScribe https://turboscribe.ai/
    Il est 100 % gratuit jusqu’à 3 fichiers par jour, avec une limite de 30 minutes par fichier ; les offres payantes sont illimitées et transcrivent jusqu’à 10 heures par fichier
    Il prend aussi en charge la reconnaissance des locuteurs, les formats d’export courants (TXT, DOCX, PDF, SRT, CSV) et des outils IA pour travailler sur les transcriptions

    • J’ai obtenu de bons résultats avec l’offre payante de TurboScribe, et j’apprécie le fait que ce soit proposé comme service
      Je l’utilise généralement pour des enregistrements vidéo de 2 à 3 heures avec plusieurs intervenants, et les outils d’édition qui permettent de nettoyer avant l’export sont utiles
    • Ça a l’air bien. Je me demande s’il existe une API, ou s’il est prévu d’en proposer une
  • Je me demandais jusqu’où pouvait aller Gemini-1.5-Pro-Experiment-0801, qui pourrait être actuellement le meilleur LLM multimodal, en matière de transcription ; je lui ai donc fait transcrire 5 minutes de l’interview d’Ezra Klein et Nancy Pelosi publiée aujourd’hui
    Le résultat est ici : https://www.gally.net/temp/20240809geminitranscription/index...
    À part quelques problèmes mineurs de ponctuation et de casse, la transcription de Gemini semblait presque parfaite. Il n’y avait qu’un ou deux mots qui semblaient mal entendus, et je pense que j’en aurais fait davantage si je l’avais transcrite moi-même
    Le passage « And then he comes up with "weird," which becomes viral and the rest, and here he is. » m’a particulièrement frappé
    Comment Gemini a-t-il su mettre « weird » entre guillemets, indiquant précisément que la locutrice faisait référence au mot lui-même tel qu’utilisé par Walz ? Selon Politico, la première fois que Walz a utilisé ce mot dans les médias dans ce contexte remonte au 23 juillet
    https://www.politico.com/news/2024/07/26/trump-vance-weird-0...

    • Le fait que le résultat soit impressionnant jusque dans les guillemets peut probablement s’expliquer par deux facteurs : des indices auditifs et le fait que, sans guillemets, la phrase serait grammaticalement bizarre et n’aurait pas vraiment de sens
      Ce n’est qu’une supposition, mais il est très probable que les LLM ou d’autres systèmes de reconnaissance vocale doivent utiliser le contexte de la phrase pour reconnaître les mots individuels et la ponctuation, et cela semble être un exemple où tout s’aligne bien
      L’écoute humaine fonctionne de façon similaire. Avec du contexte, on peut reconnaître des mots même lorsqu’ils sont marmonnés ou prononcés très vite
      Au fond, nous n’écoutons pas des mots, mais des groupes de mots
    • Il est très probable que le modèle puisse capter les indices linguistiques autour des guillemets
      S’il existe un fichier audio ou vidéo, j’aimerais le mettre dans notre éditeur vidéo IA pour voir comment il ponctue la transcription
  • Il existe aussi un outil de transcription qui permet de transcrire des fichiers vidéo/audio dans le navigateur avec Whisper et WASM, puis de récupérer des fichiers .txt, .srt et .vtt
    La prise en charge de Whisper Turbo sera peut-être possible plus tard
    https://video2srt.ccextractor.org/
    À noter que je travaille sur ce projet

  • Je l’utilise beaucoup. Il est bon, simple, et ne propose que les outils nécessaires, à savoir le réglage de la vitesse de lecture et une mise en pause/reprise facile, rien de plus
    Je le préfère largement aux outils de transcription automatique qui produisent 40 pages de « euh », « ah », etc., qu’il faut ensuite filtrer et éditer

    • On ne pourrait pas mettre la transcription dans un LLM pour lui faire supprimer les remplissages comme euh, ah ?