diff --git a/05-transcriptietool/beelden/c01-drie-stemmen-upload.jpg b/05-transcriptietool/beelden/c01-drie-stemmen-upload.jpg new file mode 100644 index 0000000..ba6c438 Binary files /dev/null and b/05-transcriptietool/beelden/c01-drie-stemmen-upload.jpg differ diff --git a/05-transcriptietool/beelden/c02-drie-stemmen-tracing.jpg b/05-transcriptietool/beelden/c02-drie-stemmen-tracing.jpg new file mode 100644 index 0000000..90c9cbd Binary files /dev/null and b/05-transcriptietool/beelden/c02-drie-stemmen-tracing.jpg differ diff --git a/05-transcriptietool/handleiding-dify-transcriptietool.md b/05-transcriptietool/handleiding-dify-transcriptietool.md index cde2211..acaff18 100644 --- a/05-transcriptietool/handleiding-dify-transcriptietool.md +++ b/05-transcriptietool/handleiding-dify-transcriptietool.md @@ -18,6 +18,8 @@ Bestanden in deze map: sectieoverleg-script.txt het fictieve overleg (500 woorden) sectieoverleg-opname.mp3 voorgelezen door OpenAI tts-1, stem Alloy, 3:01, 128 kbps (te groot voor de tool) sectieoverleg-opname-klein.mp3 zelfde opname, 32 kbps mono 16 kHz, 707 kB (deze gebruiken) + sectieoverleg-drie-stemmen-klein.mp3 zelfde script met drie stemmen (nova, echo, alloy), voor de sprekertest bij stap 6 + maak_opname_drie_stemmen.py maakt die opname opnieuw (vraagt OPENAI_API_KEY in de omgeving) Gepubliceerde voorbeeld-app: https://udify.app/workflow/7N5dNg8fD9qXHA80 --> @@ -273,6 +275,24 @@ ffmpeg -i opname.m4a -ac 1 -ar 16000 -b:a 32k opname-klein.mp3 Controleer met het script (`sectieoverleg-script.txt`) of het klopt. In onze test: twee besluiten gevonden, vijf actiepunten met de juiste eigenaren en data, de leesmethode onder "Doorgeschoven" met de reden, en het koffieapparaat netjes weggelaten. +### Sprekers herkennen: wat het model wel en niet doet + +Het model heet gpt-4o-transcribe-**diarize**, en "diarisatie" is sprekers uit elkaar houden. Om te zien wat dat in Dify oplevert, staat in de map een tweede testopname: `sectieoverleg-drie-stemmen-klein.mp3`, hetzelfde script maar voorgelezen door drie verschillende computerstemmen (gemaakt met `maak_opname_drie_stemmen.py`). + +5. Draai de workflow nog een keer, nu met `sectieoverleg-drie-stemmen-klein.mp3`. + +![De opname met drie stemmen staat klaar](beelden/c01-drie-stemmen-upload.jpg) + +6. Kijk na afloop in **Logs** naar de run, tabblad **TRACING**, en klap **SPEECH TO TEXT** open. Onder OUTPUT staat wat de tool teruggeeft: één veld `text`, met een regeleinde op elke plek waar een andere stem begint. + +![De uitvoer van Speech To Text: tekst met regeleinden per spreker, geen namen](beelden/c02-drie-stemmen-tracing.jpg) + +Dat is het eerlijke antwoord: het model **knipt** de tekst op sprekerwisselingen, maar de Speech To Text-tool van Dify geeft **geen labels** (Spreker 1, Spreker 2) door. Wie wat zei, leidt de Verslag-node af uit de inhoud, en dat lukt hier goed omdat de opening de namen noemt ("Aanwezig zijn Karin, Bram en Fatima") en omdat mensen elkaar in een overleg aanspreken. In een overleg zonder zo'n opening worden de actiepunten "niet genoemd". + +Twee dingen vielen verder op. De transcriptie van de drie stemmen bevat meer fouten dan die van de ene stem ("Nederlandsch", een verhaspelde naam): de computerstemmen zijn getraind op Engels en spreken Nederlands met een accent, en dat hoort het spraakmodel. Echte Nederlandse sprekers gaan beter. En de doorlooptijd was hetzelfde, ruim een minuut voor drie minuten audio. + +> **Zelf kiezen: echte sprekerlabels.** Wil je "Karin:" en "Bram:" in het transcript, dan zijn er twee routes. De makkelijke: zet in de prompt van de Verslag-node "De regels in het transcript zijn sprekerwisselingen. Zet vóór elke regel de naam van de spreker als die uit de inhoud blijkt, anders Spreker 1, 2, 3." De precieze: vervang de Speech To Text-tool door een **HTTP Request**-node naar de spraak-API van OpenAI met `response_format=diarized_json`; die geeft per zin een sprekernummer en een tijd. Dat vraagt een sleutel in de node (via een omgevingsvariabele, nooit in de tekst) en is een volgende handleiding. + ## Stap 7. Publiceer 1. Klik rechtsboven op **Publish** en dan op **Publish**. @@ -320,6 +340,7 @@ Het voorbeeld uit deze handleiding: