Het is al een tijd een grote wens om met Whisper ook de diarizatie van de verschillende sprekers te berekenen. En zo waar... dat lijkt nu te lukken! Afgelopen week mijn PC geupdate (dwz Whisper, WhisperX, en een aantal bijbehorende bibliotheken) vandaag eens gekeken of de beloofde diarizatie werkt. En ja, hij doet het.

Hieronder een voorbeeld. Het is een video uit de patiëntenzorg die we onderandere gebruiken bij ons HoMed-project. Ik heb aangegeven dat er minimaal 3 en maximaal 5 verschillende sprekers in voorkomen en nadat de herkenning klaar was elke afzonderlijke spreker vervangen door een kleurtje. Het bleken 3 sprekers te zijn die de kleuren #ffff80, #ff80ff en #80ffff kregen.

Maar, in de web-video werkt het helaas (nog) niet. En waarom niet? Gebruik je bij het afspelen de srt als ondertitelfile dan werkt het (soms) wel, maar als je de ondertitelfile omzet in vtt, dan (nog) niet.

Hier drie plaatjes van de drie sprekers met elk een eigen kleur.

apotheker patient arts
   Hier drie "plaatjes" van drie verschillende spreeksters.
De "Apotheker" is paars, de "Patiënt" is geel en de "Arts"is groen.

We gaan uitzoeken of we verschillende kleuren per spreker in de VTT-ondertitels kunnen laten zien. Een andere optie is om bij het begin van een nieuwe spreker zijn of haar naam tussen [] te zetten.
Kortom, de diarizatie lukt en nu nog uitzoeken hoe we dat gaan "visualiseren".


De video staat op de webiste en wordt afgespeeld met vtt als ondertitel-file. De kleur is standaard wit.


 
Wat in iedergeval redelijk goed werkt, is de detectie van een "andere" spreker. WhisperX geeft de spreker(s) aan met SPEAKER_00, SPEAKER_01 etc. en slaat die op in de json-file na datgene wat whisper zelf al opslaat. Het ziet er als volgt uit:
jsonJe ziet dat je een spreker per woord krijgt en een spreker per zin/fragment. Voorlopig gebruiken we alleen die per woord.
Bij het genereren van de html-file, lukt het al goed om de sprekers er in te zetten. In het kleine Duitstalige voorbeeld spreekt een Computer met een mens. Doel is informatie te vinden over een treinverbinding tussen München en Hamburg.
bahnauskunft
 
Waar ik nu naar ga kijken, zijn de volgende onderdelen:
  • Hoe schrijf je de spreker-informatie goed weg in de CXML-file die je maakt door de json-file (resultaat van de herkenning) in te lezen
  • Hoe koppel je de sprekers die WhisperX vindt aan de sprekers die je in WhisperCorrector invoert.
  • Hoe schrijf je de spreker-info weg in de SRT- en VTT-file
 
Kortom, we zijn er nog niet maar wel bijna :-)
 
 
  • Laatste aanpassing website: maandag 09 december 2024, 09:45:23.
  • Copyright @2023 Arjan van Hessen