Skip to content
OMG!
Transcribe any video or audio with 98% accuracy & AI-powered editor for free.
Alle artikelen
General / 23 min lezen

Hoe audio transcriberen met Whisper: Python API en lokale installatie gids

Salih Caglar Ispirli
Salih Caglar Ispirli
Founder
·
Gepubliceerd 2024-10-09
Laatst bijgewerkt 2026-03-28
Deel dit artikel
Hoe audio transcriberen met Whisper: Python API en lokale installatie gids

Om audio te transcriberen met Whisper installeer je de OpenAI Python-bibliotheek, geef je je audiobestand door aan de client.audio.transcriptions.create()-methode met model whisper-1, en ontvang je de tekstuitvoer in JSON- of platte tekstformaat. Whisper ondersteunt meer dan 50 talen met een woordfoutpercentage van slechts 7,75%, en de API kost maar $0,006 per minuut.

Wat je nodig hebt:

  • Python 3.8+ geinstalleerd op je computer
  • Een OpenAI API-sleutel (voor de API-methode) of een CUDA-compatibele GPU (voor lokale installatie)
  • Audiobestanden in mp3-, mp4-, m4a-, wav- of webm-formaat (maximaal 25 MB per bestand)
  • Geschatte tijd: 15-30 minuten voor setup, seconden per transcriptie
  • Vaardigheidsniveau: Beginnersvriendelijk (API-methode) / Gemiddeld (lokale installatie)

Snel overzicht van het proces:

  1. Kies je methode -- OpenAI API ($0,006/min, geen GPU) of lokale GitHub-installatie (gratis, GPU nodig)
  2. Stel je omgeving in -- Installeer Python-afhankelijkheden en configureer API-sleutels of GPU-drivers
  3. Voer je eerste transcriptie uit -- Stuur een audiobestand en ontvang tekstuitvoer
  4. Optimaliseer nauwkeurigheid -- Gebruik prompts, audiovoorbewerking en modelselectie voor betere resultaten
  5. Verwerk grote bestanden -- Splits audio boven 25 MB met PyDub en behoud context
  6. Vertaal meertalige audio -- Zet anderstalige audio om naar Engelse tekst
  7. Schaal op voor productie -- Batchverwerking, foutafhandeling en kostenbeheer

Wat is OpenAI Whisper en hoe is het geevolueerd?

OpenAI Whisper model evolutie tijdlijn van 2022 tot 2026 met belangrijke versie-releases

OpenAI Whisper is een open-source automatisch spraakherkenningssysteem (ASR) dat is getraind op 680.000 uur meertalige audiogegevens van het internet. In tegenstelling tot oudere spraak-naar-tekst systemen die taalspecifieke training vereisten, gebruikt Whisper een enkele Transformer encoder-decoder architectuur die audio in meer dan 50 talen verwerkt zonder van model te hoeven wisselen.

Volgens OpenAI's Whisper-onderzoekspagina zet het model audio om in segmenten van 30 seconden, transformeert deze naar log-Mel spectrogrammen, en gebruikt speciale tokens voor taalidentificatie, woordgroep-tijdstempels en vertaling. Dankzij deze architectuur kan Whisper beter omgaan met achtergrondgeluid, accenten en technisch taalgebruik dan de meeste alternatieven.

Hoe het model is veranderd sinds 2022

De oorspronkelijke Whisper v1 werd gelanceerd in september 2022. Sindsdien heeft OpenAI meerdere verbeterde versies uitgebracht:

ModelversieReleaseParametersBelangrijkste verbetering
Whisper v1Sep 2022Tot 1,55BEerste release, 680K uur trainingsdata
Large-v2Dec 20221,55BMinder hallucinaties, betere nauwkeurigheid
Large-v3Nov 20231,55BLager woordfoutpercentage, uitgebreide taalondersteuning
Large-v3-turbo2024809MVolgens CompaniesHistory een WER van 7,75% met snellere inferentie

Het Whisper-model is volledig open-source. Je kunt de code, gewichten en documentatie vinden op de officiele Whisper GitHub-repository.

Wie gebruikt Whisper in 2026

Whisper wordt niet meer alleen door ontwikkelaars gebruikt. Volgens Healthcare Brew gebruiken zo'n 30.000 artsen en 40 zorgsystemen nu Whisper-tools om patientinteracties te documenteren. Contentcreators, podcastproducenten en docenten gebruiken het ook, vooral voor ondertitels, doorzoekbare transcripties en het hergebruiken van content.

Volgens AboutChromebooks had Whisper in december 2025 4,1 miljoen maandelijkse downloads op Hugging Face, waarmee het het meest gedownloade open-source spraakherkenningsmodel is.

Hoe kies je tussen Whisper API, lokale installatie en gehoste tools?

Vergelijking van Whisper-implementatieopties API versus lokale installatie versus gehoste tools

Voordat je code schrijft, moet je beslissen hoe je Whisper wilt draaien. Er zijn drie hoofdbenaderingen, elk met verschillende afwegingen qua kosten, privacy en flexibiliteit.

FactorOpenAI APILokaal (GitHub)Gehoste tools
KostenVolgens BrassTranscripts, $0,006/minuut ($0,36/uur)Gratis (elektriciteit + GPU)$10-50/maand abonnement
Installatietijd5 minuten30-60 minuten2 minuten
GPU vereistNeeJa (CUDA aanbevolen)Nee
Bestandslimiet25 MB per verzoekOnbeperktVerschilt per aanbieder
PrivacyAudio wordt naar OpenAI-servers gestuurdBlijft op je eigen machineVerschilt per aanbieder
Geschikt voorSnelle projecten, laag volumePrivacygevoelig werk, hoog volumeNiet-technische gebruikers

Mijn aanbeveling na 12 jaar bouwen aan transcriptietools: Begin met de API voor prototyping. De kosten van $0,006/minuut zijn moeilijk te verslaan voor kleine tot middelgrote werklasten. Schakel alleen over naar lokale installatie als je maandelijks meer dan 100 uur verwerkt of audio niet naar externe servers kunt sturen. Als je helemaal geen code wilt schrijven, probeer dan TranscribeTube's audio naar tekst converter voor een browserervaring.

Stap 1: Stel je Python-omgeving in voor de Whisper API

Python-omgeving instellen voor Whisper audiotranscriptie

Deze stap maakt je ontwikkelomgeving klaar om de OpenAI Whisper API aan te roepen. Je installeert het vereiste Python-pakket en configureert je API-sleutel zodat transcriptieverzoeken correct authenticeren.

Gedetailleerde instructies

  1. Open je terminal en maak een nieuwe projectmap aan:

    mkdir whisper-transcription && cd whisper-transcription
    
  2. Maak een virtuele omgeving aan en activeer deze:

    python3 -m venv venv
    source venv/bin/activate  # Op Windows: venv\Scripts\activate
    
  3. Installeer de OpenAI Python-bibliotheek:

    pip install openai
    
  4. Stel je API-sleutel in als omgevingsvariabele:

    export OPENAI_API_KEY="sk-jouw-api-sleutel-hier"
    

    Je kunt een API-sleutel krijgen op OpenAI's API-sleutelpagina.

  5. Controleer of de installatie werkt:

    from openai import OpenAI
    client = OpenAI()
    print("OpenAI client succesvol geinitialiseerd")
    

Wat je zou moeten zien na het voltooien van deze stap

Het verificatiescript print "OpenAI client succesvol geinitialiseerd" zonder fouten. Als je AuthenticationError ziet, is je API-sleutel ongeldig of niet ingesteld. Als je ModuleNotFoundError ziet, is het openai-pakket niet correct geinstalleerd.

Veelvoorkomende fouten en probleemoplossing

API-sleutel niet gevonden: De meest voorkomende fout is vergeten om de sleutel te exporteren in je huidige shell-sessie. Het toevoegen aan ~/.bashrc of ~/.zshrc maakt het persistent. Codeer de sleutel niet hard in je Python-bestanden -- die belandt dan in versiebeheer.

Verkeerde Python-versie: Whisper's API-client vereist Python 3.8+. Voer python3 --version uit om te controleren. Als je op 3.7 of ouder zit, upgrade dan voordat je verder gaat.

Pro tip: Na het opzetten van honderden transcriptiepipelines maak ik altijd een .env-bestand met python-dotenv in plaats van handmatig omgevingsvariabelen te exporteren. Het houdt API-sleutels uit de shell-geschiedenis en maakt het project overdraagbaar tussen machines.

Stap 2: Transcribeer je eerste audiobestand met de Whisper API

Whisper trainingsdata distributie over talen

Hier zet je daadwerkelijk spraak om naar tekst. De Whisper API accepteert audiobestanden tot 25 MB en retourneert de transcriptie als JSON of platte tekst, afhankelijk van je response_format instelling.

Gedetailleerde instructies

  1. Plaats je audiobestand in de projectmap. Whisper ondersteunt mp3, mp4, mpeg, mpga, m4a, wav en webm formaten.

  2. Voer dit Python-script uit om te transcriberen:

from openai import OpenAI

client = OpenAI()

audio_file = open("jouw_audio.mp3", "rb")
transcript = client.audio.transcriptions.create(
    model="whisper-1",
    file=audio_file
)

print(transcript.text)

Het standaardantwoord komt als een JSON-object:

{
  "text": "Je getranscribeerde tekst verschijnt hier, woord voor woord uit de audio..."
}
  1. Als je de voorkeur geeft aan platte tekst zonder JSON-wrapping, voeg dan de response_format parameter toe:
transcript = client.audio.transcriptions.create(
    model="whisper-1",
    file=audio_file,
    response_format="text"
)
  1. Voor uitvoer met tijdstempels (handig voor het genereren van ondertitels), gebruik het verbose_json formaat:
transcript = client.audio.transcriptions.create(
    model="whisper-1",
    file=audio_file,
    response_format="verbose_json",
    timestamp_granularities=["segment"]
)

Dit retourneert segmenten met begin- en eindtijdstempels -- precies wat je nodig hebt als je een YouTube ondertitelgenerator bouwt of SRT-bestanden maakt.

Wat je zou moeten zien na het voltooien van deze stap

Het script print de volledige transcriptietekst naar je terminal. Voor een audiobestand van 5 minuten reageert de API doorgaans binnen 10-30 seconden. Als je verbose_json hebt gebruikt, zie je een array van segmenten met start, end en text velden.

Veelvoorkomende fouten en probleemoplossing

Bestand te groot: Als je een 413 Request Entity Too Large fout krijgt, overschrijdt je bestand 25 MB. Ga naar Stap 4 voor splitsinstructies. Voor een gedetailleerd overzicht van bestandslimieten, lees onze gids over Whisper API-limieten.

Verkeerd bestandspad: De open()-functie heeft het exacte pad naar je bestand nodig. Gebruik absolute paden als het script vanuit een andere map draait dan het audiobestand.

Pro tip: Ik heb duizenden bestanden door deze API getranscribeerd, en een ding verrast mensen: de API retourneert geen sprekerlabels. Als je sprekeridentificatie nodig hebt (wie zei wat), moet je Whisper combineren met een tool voor sprekeridentificatie bij transcriptie. Whisper doet het spraak-naar-tekst deel; diarisatie doet het "wie" gedeelte.

Stap 3: Draai Whisper lokaal vanaf GitHub (gratis, geen API-kosten)

Audiotranscriptie met Whisper API met code-uitvoer

Whisper lokaal draaien betekent geen API-kosten, geen bestandslimieten en geen audiogegevens die je machine verlaten. De afweging is dat je een GPU met CUDA-ondersteuning nodig hebt voor redelijke snelheid, hoewel Whisper ook op CPU draait (alleen veel langzamer).

Gedetailleerde instructies

  1. Installeer Whisper vanuit de GitHub-repository:

    pip install -U openai-whisper
    
  2. Installeer FFmpeg (vereist voor audioverwerking):

    # macOS
    brew install ffmpeg
    
    # Ubuntu/Debian
    sudo apt update && sudo apt install ffmpeg
    
    # Windows (met Chocolatey)
    choco install ffmpeg
    
  3. Transcribeer vanaf de commandoregel:

    whisper jouw_audio.mp3 --model base --language nl
    
  4. Of gebruik Whisper in Python:

    import whisper
    
    model = whisper.load_model("base")
    result = model.transcribe("jouw_audio.mp3")
    print(result["text"])
    
  5. Kies de juiste modelgrootte voor je hardware:

Vergelijking van Whisper-modelgroottes met parameters snelheid en nauwkeurigheidsmetrieken
ModelParametersVereist VRAMRelatieve snelheidEngels WER
tiny39M~1 GB~32x~14,8%
base74M~1 GB~16x~11,5%
small244M~2 GB~6x~9,8%
medium769M~5 GB~2x~8,4%
large-v31,55B~10 GB1x~7,75%

Volgens Northflank's 2026 STT-benchmark behaalt het large-v3-turbo model een woordfoutpercentage van 7,75% op gemixte benchmarks terwijl het aanzienlijk sneller draait dan het volledige large-v3.

Wat je zou moeten zien na het voltooien van deze stap

Whisper maakt meerdere uitvoerbestanden aan in de huidige map: een .txt-bestand met het ruwe transcript, een .srt-bestand voor ondertitels, een .vtt-bestand voor webondertitels, een .tsv met tijdstempels, en een .json met volledige metadata. De eerste keer worden de modelgewichten gedownload (varieerend van 75 MB voor tiny tot 3 GB voor large-v3).

Veelvoorkomende fouten en probleemoplossing

CUDA niet beschikbaar: Als Whisper terugvalt op CPU, daalt de transcriptiesnelheid 5-10x. Voer python3 -c "import torch; print(torch.cuda.is_available())" uit om te controleren. Op oudere laptops met AMD GPU's werkt Whisper nog steeds -- het is alleen langzamer.

Onvoldoende geheugen: Het large-v3 model heeft ~10 GB VRAM nodig. Als je GPU minder heeft, schakel dan terug naar medium of small. Het nauwkeurigheidsverschil tussen small (9,8% WER) en large-v3 (7,75% WER) maakt voor jouw gebruik misschien niet uit.

Pro tip: Ik gebruik het small model voor het meeste van mijn dagelijkse transcriptiewerk. Het is 6x sneller dan large-v3 en het nauwkeurigheidsverschil van 2% maakt zelden uit voor interviewtranscripties of notulen. Ik schakel alleen over naar large-v3 voor content die gepubliceerd wordt of bij zwaar geaccentueerde audio.

Stap 4: Verwerk audiobestanden groter dan 25 MB

Verwerking van lange audiotranscripties met Whisper

Whisper's API hanteert een uploadlimiet van 25 MB. Een typische MP3 op 128 kbps bereikt deze limiet rond 25-30 minuten audio. Langere opnames (lezingen, vergaderingen, podcastafleveringen) moeten in kleinere stukken worden gesplitst voor transcriptie.

Gedetailleerde instructies

  1. Installeer PyDub voor audiobewerking:

    pip install pydub
    
  2. Splits je audio in segmenten van 10 minuten:

    from pydub import AudioSegment
    
    audio = AudioSegment.from_mp3("lange_opname.mp3")
    tien_minuten = 10 * 60 * 1000  # milliseconden
    
    for i in range(0, len(audio), tien_minuten):
        segment = audio[i:i + tien_minuten]
        segment.export(f"segment_{i // tien_minuten}.mp3", format="mp3")
        print(f"Segment_{i // tien_minuten}.mp3 geexporteerd")
    
  3. Transcribeer elk segment en combineer de resultaten:

    from openai import OpenAI
    import os
    
    client = OpenAI()
    volledig_transcript = []
    
    for bestandsnaam in sorted(os.listdir(".")):
        if bestandsnaam.startswith("segment_") and bestandsnaam.endswith(".mp3"):
            with open(bestandsnaam, "rb") as f:
                resultaat = client.audio.transcriptions.create(
                    model="whisper-1",
                    file=f
                )
                volledig_transcript.append(resultaat.text)
    
    complete_tekst = " ".join(volledig_transcript)
    print(complete_tekst)
    
  4. Gebruik het transcript van het vorige segment als prompt voor contextcontinuiteit:

    vorige_tekst = ""
    for bestandsnaam in sorted(segment_bestanden):
        with open(bestandsnaam, "rb") as f:
            resultaat = client.audio.transcriptions.create(
                model="whisper-1",
                file=f,
                prompt=vorige_tekst[-200:]  # Laatste 200 tekens voor context
            )
            volledig_transcript.append(resultaat.text)
            vorige_tekst = resultaat.text
    

Wat je zou moeten zien na het voltooien van deze stap

Het script maakt genummerde segmentbestanden (segment_0.mp3, segment_1.mp3, etc.) in je werkmap aan en print vervolgens het gecombineerde transcript. Een lezing van 2 uur produceert doorgaans 12 segmenten van 10 minuten.

Veelvoorkomende fouten en probleemoplossing

Midden in een zin knippen: De eenvoudigste aanpak (vaste blokken van 10 minuten) splitst soms precies midden in een woord. Voor productiegebruik kun je stiltemomenten detecteren met pydub.silence.detect_silence() en daar splitsen. Dit voegt een paar regels code toe maar verbetert de coherentie van het transcript aanzienlijk.

Ontbrekende context tussen segmenten: Zonder het vorige transcript als prompt door te geven, behandelt Whisper elk segment onafhankelijk. Dit kan inconsistenties veroorzaken met namen, technische termen of lopende onderwerpen. De prompt-truc in stap 4 hierboven lost dit op.

Pro tip: Voor podcasttranscriptie splits ik altijd op gedetecteerde stiltemomenten in plaats van vaste intervallen. Het kost 30 seconden extra verwerking maar elimineert die vervelende onderbrekingen midden in woorden die handmatige correctie vereisen. Als je regelmatig podcasts transcribeert, bekijk dan onze speciale podcasttranscriptie-tool.

Stap 5: Verbeter de transcriptienauwkeurigheid met prompting

Verbetering van transcriptienauwkeurigheid met Whisper prompting-technieken

Whisper's prompt-parameter is een hint voor het model. Het helpt het model om specifieke termen te herkennen en de opmaak consistent te houden. Dit is vooral nuttig voor technische content, merknamen en vakjargon dat Whisper anders verkeerd zou kunnen spellen of hallucineren.

Whisper modelarchitectuur diagram met encoder-decoder transformer structuur

Gedetailleerde instructies

  1. Corrigeer domeinspecifieke termen: Neem gespecialiseerde woordenschat op in je prompt zodat Whisper deze herkent:

    transcript = client.audio.transcriptions.create(
        model="whisper-1",
        file=audio_file,
        prompt="TranscribeTube, PyDub, FFmpeg, pipreqs, CUDA, VRAM"
    )
    
  2. Behoud interpunctiestijl: Als je volledige interpunctie wilt inclusief komma's en punten, geef dan een prompt die de stijl demonstreert:

    prompt = "Hallo, welkom bij onze wekelijkse productupdate. Vandaag bespreken we drie belangrijke functies."
    
  3. Bewaar opvulwoorden: Voor onderzoek of woordelijke transcriptie, neem opvulwoorden op in de prompt:

    prompt = "Ehm, dus eigenlijk, we dachten over, eh, hoe we dit probleem moeten aanpakken..."
    
  4. Verwerk meerdere talen: Wanneer de audio tussen talen wisselt, specificeer de primaire taal:

    transcript = client.audio.transcriptions.create(
        model="whisper-1",
        file=audio_file,
        language="nl"
    )
    

Volgens AboutChromebooks is de samenstelling van de trainingsdata ongeveer 67% Engelse audio, 20% van andere veel-gebruikte talen, en 13% van minder-gebruikte talen. Dit betekent dat de nauwkeurigheid het sterkst is voor Engels en geleidelijk lager voor minder vertegenwoordigde talen.

Wat je zou moeten zien na het voltooien van deze stap

Bij het vergelijken van uitvoer met en zonder prompts zou je correct gespelde technische termen, consistente interpunctie en minder gehallucineerde woorden moeten zien. De verbetering is het meest merkbaar bij eigennamen en afkortingen.

Veelvoorkomende fouten en probleemoplossing

Te lange prompts: Houd prompts onder 244 tokens. Langere prompts worden afgekapt en kunnen het model verwarren in plaats van helpen. Noem alleen de termen die het meest waarschijnlijk verkeerd worden herkend.

Tegenstrijdige prompts: Combineer opvulwoordbehoud ("ehm, eh") niet met schone interpunctieprompts. Kies een stijl per transcriptierun.

Pro tip: Na het transcriberen van honderden technische presentaties heb ik ontdekt dat het opnoemen van 5-10 specifieke termen in de prompt 90% van de verkeerde herkenningen opvangt. Schrijf geen volledige zinnen als prompts -- noem gewoon de lastige woorden: "Kubernetes, kubectl, etcd, gRPC, protobuf". Het model pikt het spelpatroon op.

Stap 6: Vertaal anderstalige audio naar Engels

Whisper vertaalt meertalige audiocontent naar Engelse tekst

Whisper kan ook audio uit elk van zijn ondersteunde talen direct vertalen naar Engelse tekst. Dit gebeurt in een enkele stap: het model hoort Duits (of Spaans, of Japans) en geeft Engelse tekst als uitvoer. Geen tussenliggende transcriptiestap nodig.

Gedetailleerde instructies

  1. Gebruik het translations-eindpunt in plaats van transcriptions:

    from openai import OpenAI
    
    client = OpenAI()
    
    audio_file = open("duits_interview.mp3", "rb")
    vertaling = client.audio.translations.create(
        model="whisper-1",
        file=audio_file
    )
    
    print(vertaling.text)
    

    Een Duits audiofragment met "Hallo, mein Name ist Wolfgang und ich komme aus Deutschland" zou als uitvoer geven:

    "Hello, my name is Wolfgang and I come from Germany."

  2. Om niet-Engelse audio in de oorspronkelijke taal te transcriberen (niet vertalen), gebruik het transcriptions-eindpunt met de language parameter:

    transcript = client.audio.transcriptions.create(
        model="whisper-1",
        file=audio_file,
        language="de"  # Houdt uitvoer in het Duits
    )
    
  3. Whisper ondersteunt meer dan 50 talen voor transcriptie. De volledige lijst is beschikbaar in de OpenAI Speech-to-Text documentatie. Als je specifiek Nederlandse audiotranscripties nodig hebt, kan onze audio naar tekst transcriptie-tool meerdere talen verwerken via een browserinterface.

Wat je zou moeten zien na het voltooien van deze stap

Het translations-eindpunt retourneert Engelse tekst ongeacht de invoertaal. Voor goed ondersteunde talen (Duits, Frans, Spaans, Chinees, Japans) is de vertaalkwaliteit hoog. Voor minder ondersteunde talen kun je enige nauwkeurigheidsdaling verwachten.

Veelvoorkomende fouten en probleemoplossing

Niet-Engelse uitvoer verwachten van translations: Het translations-eindpunt geeft alleen Engelse uitvoer. Als je de oorspronkelijke taal wilt behouden, gebruik dan het transcriptions-eindpunt met de juiste language-code.

Meertalige audio: Wanneer sprekers midden in een gesprek wisselen tussen talen, worstelt Whisper soms met de overgangen. De audio splitsen op taalwisselpunten en elk segment apart verwerken geeft betere resultaten.

Pro tip: Voor meertalige podcasttranscriptie transcribeer ik eerst in de oorspronkelijke taal en voer dan een apart vertaalstap uit op segmenten die Engelse output nodig hebben. De tweestapsbenadering levert schonere resultaten op dan alleen vertrouwen op het translations-eindpunt, vooral voor gesprekken met taalwisseling.

Stap 7: Optimaliseer audiokwaliteit voor transcriptie

Audiovoorverwerkingspipeline voor Whisper met ruisonderdrukking en formaatconversie

Whisper's nauwkeurigheid hangt sterk af van de kwaliteit van de invoeraudio. Schone opnames met minimaal achtergrondgeluid produceren consistent betere transcripties dan rommelige opnames, ongeacht welke modelgrootte je kiest.

Volgens DIYAI's Whisper-review behaalt Whisper nauwkeurigheidsbenchmarks tot 98% vergeleken met Google Cloud Speech-to-Text en AWS Transcribe -- maar alleen met redelijk schone audio-input.

Gedetailleerde instructies

  1. Verminder achtergrondgeluid met FFmpeg:

    ffmpeg -i ruisige_audio.mp3 -af "highpass=f=200,lowpass=f=3000,afftdn=nf=-25" schone_audio.mp3
    

    Dit past een hoogdoorlaatfilter toe (verwijdert bromgeluid onder 200 Hz), laagdoorlaatfilter (verwijdert gesis boven 3000 Hz) en ruisonderdrukking.

  2. Normaliseer volumeniveaus:

    ffmpeg -i stille_audio.mp3 -af "loudnorm=I=-16:TP=-1.5:LRA=11" genormaliseerde_audio.mp3
    
  3. Converteer stereo naar mono (Whisper verwerkt mono-audio; stereo verdubbelt de bestandsgrootte zonder voordeel):

    ffmpeg -i stereo_audio.mp3 -ac 1 mono_audio.mp3
    
  4. Comprimeer om bestandsgrootte te verminderen zonder de verstaanbaarheid te verliezen:

    ffmpeg -i grote_audio.wav -codec:a libmp3lame -b:a 64k gecomprimeerde_audio.mp3
    

    Spraak heeft geen hoge bitrates nodig. 64 kbps MP3 is voldoende voor transcriptie en houdt bestanden ruim onder de 25 MB-limiet.

Wat je zou moeten zien na het voltooien van deze stap

Verwerkte audiobestanden zijn kleiner, schoner klinkend en produceren merkbaar minder transcriptiefouten. Een bestand met achtergrondmuziek dat eerder Whisper ertoe bracht songteksten te hallucineren zou nu de spraakinhoud correct moeten transcriberen.

Veelvoorkomende fouten en probleemoplossing

Te veel filteren: Agressieve ruisonderdrukking kan spraak vervormen en transcriptie verslechteren. Begin met zachte instellingen en verhoog alleen als nodig. Als de audio robotachtig klinkt na het filteren, ben je te ver gegaan.

Mono-conversie vergeten: Whisper verwerkt mono. Stereo versturen veroorzaakt geen fouten, maar het verdubbelt de bestandsgrootte zonder nauwkeurigheidsvoordeel.

Pro tip: De grootste nauwkeurigheidsverbetering die ik heb gezien komt niet van modelselectie of prompting. Het is voorbewerking. Een simpele hoogdoorlaatfilter + ruisonderdrukking op interviewopnames verbeterde mijn transcriptienauwkeurigheid met ongeveer 15-20% in informele tests. Tien seconden FFmpeg-commando's bespaart minuten handmatige correctie.

Hoe ga je om met Whisper-hallucinaties en bekende beperkingen?

Whisper hallucinatie risicofactoren waaronder stille segmenten en opnames van lage kwaliteit

Whisper kan tekst fabriceren die niet in de audio zat. Dit is een gedocumenteerd probleem, geen randgeval. Volgens AP News is Whisper vatbaar voor het verzinnen van stukken tekst of zelfs hele zinnen, gebaseerd op interviews met meer dan een dozijn software-engineers, ontwikkelaars en academische onderzoekers.

Healthcare Brew meldde dat OpenAI-woordvoerster Taya Christianson verklaarde: "We nemen dit probleem serieus en werken continu aan het verbeteren van de nauwkeurigheid van onze modellen, inclusief hoe we hallucinaties kunnen verminderen."

Wanneer hallucinaties het meest waarschijnlijk zijn

  • Stille of bijna stille audiosegmenten: Whisper vult stilte met gefabriceerde tekst in plaats van lege ruimte te laten
  • Zeer korte audiofragmenten onder 1-2 seconden
  • Sterk vervormde of lage kwaliteit opnames
  • Audio in weinig-ondersteunde talen met beperkte trainingsdata

Hoe hallucinaties te verminderen

  1. Verwijder stille segmenten voor transcriptie met pydub.silence:

    from pydub import AudioSegment
    from pydub.silence import detect_nonsilent
    
    audio = AudioSegment.from_mp3("opname.mp3")
    nonsilent_ranges = detect_nonsilent(audio, min_silence_len=1000, silence_thresh=-40)
    
    chunks = [audio[start:end] for start, end in nonsilent_ranges]
    combined = sum(chunks)
    combined.export("geen_stilte.mp3", format="mp3")
    
  2. Controleer tijdstempels: Gebruik verbose_json-uitvoer en markeer segmenten waar het vertrouwen laag is of tijdgaten bestaan.

  3. Nabewerking met een taalmodel: Laat het transcript door een basisspellings- en grammaticacontrole lopen om duidelijk gefabriceerde content op te vangen.

Voor toepassingen waar nauwkeurigheid het meest telt (medisch, juridisch, financieel), voeg altijd een menselijke reviewstap toe. Whisper is een sterke concepttool, maar maakt fouten. Als je transcriptietools wilt vergelijken op nauwkeurigheid in specifieke domeinen, helpt geautomatiseerde benchmarking om de juiste match te vinden.

Welke resultaten kun je verwachten van Whisper-transcriptie?

Whisper transcriptienauwkeurigheid benchmarks per audiotype van studioopname tot ruisige omgevingen

Voor schone Engelse audio met een enkele spreker levert Whisper consistent 92-98% nauwkeurigheid, afhankelijk van de modelgrootte. Opnames met meerdere sprekers, geaccentueerde spraak en ruisige omgevingen verlagen de nauwkeurigheid met 5-15 procentpunten.

Realistische nauwkeurigheidsbenchmarks

AudiotypeVerwachte nauwkeurigheidBeste model
Schone studioopname, enkele spreker95-98%base of small
Podcast, 2-3 sprekers90-95%small of medium
Telefoongesprek, matige ruis85-92%medium of large-v3
Vergaderruimte, echo80-90%large-v3
Straatinterview, zware ruis70-85%large-v3 + voorbewerking

Kostenramingen voor veelvoorkomende gebruikssituaties

GebruikssituatieAudiovolumeMaandelijkse kosten (API)
Podcastproducent (10 afleveringen x 1 uur)10 uur$3,60
Vergadertranscriptie (20 vergaderingen x 30 min)10 uur$3,60
YouTube-kanaal (30 video's x 15 min)7,5 uur$2,70
Lezing-opname (dagelijks 1 uur lezing)20 uur$7,20

Tegen $0,006 per minuut is de API kosteneffectief voor de meeste individuele en kleine-team workflows. Voor AI-transcriptienauwkeurigheid vergelijkingen bij meerdere aanbieders dekt onze speciale analyse de laatste 2026 benchmarks.

Geavanceerde tips voor productie-Whisper-implementaties

Vijf productie-implementatietips voor Whisper inclusief batchverwerking en kostentracking

Als je verder gaat dan persoonlijk gebruik naar productieklare transcriptie, zijn deze optimalisaties belangrijk:

  1. Batchverwerking met async calls. Verwerk bestanden niet sequentieel. Gebruik Python's asyncio met aiohttp om 5-10 bestanden parallel te versturen. Dit verkort de verwerkingstijd proportioneel zonder rate-limieten te raken.

  2. Implementeer retry-logica met exponential backoff. De OpenAI API retourneert af en toe 429 (rate limit) of 500 fouten. Een simpele retry met vertragingen van 1s/2s/4s handelt deze netjes af.

  3. Cache transcriptieresultaten. Sla voltooide transcripties op, geindexeerd door een hash van de audiobestandsinhoud. Hetzelfde bestand opnieuw transcriberen verspilt API-tegoed.

  4. Gebruik webhooks voor langlopende taken. Voor bestanden langer dan 10 minuten, verwerk asynchroon en stuur het resultaat naar een callback-URL in plaats van een HTTP-verbinding open te houden.

  5. Monitor kosten met gebruikstracking. Log elke API-aanroep met de audioduur. Tegen $0,006/minuut zijn de kosten laag maar kunnen ze je op schaal verrassen. Onze audio-transcriptie API tool bevat ingebouwde gebruikstracking.

Tools vermeld in deze gids

ToolDoelKostenGeschikt voor
OpenAI Whisper APICloud-gebaseerde transcriptie$0,006/minSnelle setup, geen GPU nodig
Whisper GitHubLokale open-source transcriptieGratisPrivacy, hoog volume
PyDubAudio splitsen en bewerkenGratisGrote bestanden verwerken
FFmpegAudiovoorbewerking en conversieGratisRuisonderdrukking, formaatconversie
TranscribeTubeBrowsergebaseerde AI-transcriptieGratis plan beschikbaarTranscriptie zonder code

Veelgestelde vragen

Hoe kan ik gratis audio transcriberen met Whisper?

Installeer Whisper lokaal vanuit de GitHub-repository met pip install openai-whisper. De lokale installatie is volledig gratis -- je hebt alleen een machine met een GPU nodig voor redelijke snelheid. Zonder GPU draait Whisper op CPU maar duurt het 5-10x langer. Voor snelle eenmalige transcripties zonder installatie biedt de Hugging Face Whisper Space een gratis browserdemo (momenteel beperkte beschikbaarheid).

Wat is OpenAI Whisper en hoe werkt het?

OpenAI Whisper is een automatisch spraakherkenningssysteem dat is getraind op 680.000 uur meertalige audiogegevens. Het gebruikt een Transformer encoder-decoder architectuur: de encoder verwerkt 30-seconden audiostukken omgezet naar log-Mel spectrogrammen, en de decoder genereert de tekst token voor token. Hetzelfde model verwerkt zowel transcriptie als vertaling zonder taalspecifieke configuraties.

Hoe gebruik ik de Whisper API voor audiotranscriptie?

Installeer de OpenAI Python-bibliotheek (pip install openai), stel je API-sleutel in en roep vervolgens client.audio.transcriptions.create(model="whisper-1", file=audio_file) aan. De API accepteert mp3-, mp4-, m4a-, wav- en webm-bestanden tot 25 MB. Je kunt response_format instellen op "json", "text", "srt", "verbose_json" of "vtt" afhankelijk van je uitvoerbehoeften.

Is er een online tool om audio met Whisper te transcriberen?

Ja. Meerdere gehoste platforms draaien Whisper-modellen via een webinterface. TranscribeTube biedt browsergebaseerde transcriptie met ingebouwde sprekeridentificatie en ondertitelgeneratie. Je kunt ook de officiele Hugging Face Space proberen, hoewel de beschikbaarheid varieert. Deze opties werken goed voor gebruikers die geen Python willen opzetten of API-sleutels willen beheren.

Wat is het verschil tussen Whisper-transcriptie en -vertaling?

Het transcriptions-eindpunt zet audio om naar tekst in dezelfde taal als de oorspronkelijke opname (bijv. Duitse audio wordt Duitse tekst). Het translations-eindpunt zet audio uit elke ondersteunde taal direct om naar Engelse tekst. Beide eindpunten gebruiken hetzelfde Whisper-model maar passen verschillende decoderingsstrategieen toe. Momenteel levert vertaling alleen Engelse uitvoer -- andere doeltalen worden niet ondersteund.

Hoe nauwkeurig is Whisper vergeleken met andere spraak-naar-tekst tools?

DIYAI's benchmarks tonen dat Whisper tot 98% nauwkeurigheid behaalt op schone audio, vergelijkbaar met Google Cloud Speech-to-Text en AWS Transcribe. Het large-v3-turbo model behaalt een woordfoutpercentage van 7,75% op gemixte benchmarks. De nauwkeurigheid daalt echter bij achtergrondgeluid, sterke accenten en domeinspecifieke terminologie. Voor een gedetailleerde vergelijking bij meerdere aanbieders, zie onze AI-transcriptienauwkeurigheid analyse.

Kan Whisper meerdere sprekers in een audiobestand verwerken?

Whisper transcribeert alle spraak in een enkele tekststroom zonder onderscheid te maken tussen sprekers. Het voert geen sprekerdiarisatie (identificeren wie wat zei) uit. Om transcripties met sprekerlabels te krijgen, combineer Whisper met een apart diarisatiemodel zoals pyannote.audio of gebruik een dienst die beide combineert. Onze gids voor transcriptie met sprekeridentificatie behandelt implementatiedetails.

Welke audiobestandsformaten ondersteunt Whisper?

Whisper's API accepteert mp3-, mp4-, mpeg-, mpga-, m4a-, wav- en webm-formaten. De lokale installatie via GitHub ondersteunt elk formaat dat FFmpeg kan decoderen, wat vrijwel alle audio- en videocontainers omvat. Voor de API moet het bestand kleiner zijn dan 25 MB. Voor lokaal gebruik is er geen limiet behalve je beschikbare RAM en schijfruimte.

Conclusie

Whisper biedt je twee solide paden om audio te transcriberen: de API voor snelheid en eenvoud, of lokale installatie voor privacy en kostenbeheersing. Begin met de API-methode voor je eerste project -- de client.audio.transcriptions.create() aanroep kost 5 regels Python en fracties van een cent per minuut.

De stappen die het grootste verschil maken in nauwkeurigheid: bewerk je audio voor met FFmpeg-ruisonderdrukking, gebruik de prompt-parameter voor gespecialiseerde woordenschat, en splits lange bestanden op stiltemomenten in plaats van vaste intervallen.

Als je de setup liever helemaal overslaat en nu wilt beginnen met transcriberen, draait TranscribeTube's audio naar tekst converter Whisper via een browserinterface met ingebouwde sprekeridentificatie en ondertitelexport. Geen Python of API-sleutels nodig.