Tutorial OpenAI Whisper: Speech-to-Text dan Audio Transcription

# OpenAI Whisper - Tutorial Lengkap Speech-to-Text ## Daftar Isi 1. [Pendahuluan](#pendahuluan) 2. [Prasyarat](#prasyarat) 3. [Memahami Ukuran Model Whisper](#memahami-ukuran-model-whisper) 4. [Tran...

By Ruby Abdullah · · tutorial
WhisperSpeech-to-TextAudioOpenAITranscriptionPython

OpenAI Whisper - Tutorial Lengkap Speech-to-Text

Daftar Isi

  • Pendahuluan
  • Prasyarat
  • Memahami Ukuran Model Whisper
  • Transkripsi Audio Dasar
  • Dukungan Multi-Bahasa
  • Fine-Tuning Whisper dengan Dataset Kustom
  • Transkripsi Real-Time
  • Optimasi dengan Faster-Whisper
  • Integrasi dengan FastAPI
  • Pembuatan Subtitle (SRT/VTT)
  • Praktik Terbaik
  • Kesimpulan

  • Pendahuluan

    OpenAI Whisper adalah model pengenalan suara serbaguna yang dilatih dengan 680.000 jam data terawasi multibahasa dan multitugas yang dikumpulkan dari web. Model ini mampu melakukan pengenalan suara multibahasa, penerjemahan suara, dan identifikasi bahasa. Tutorial ini akan memandu Anda dari transkripsi dasar hingga deployment tingkat produksi menggunakan FastAPI.

    Whisper sangat cocok untuk berbagai skenario penggunaan di Indonesia, mulai dari transkripsi rapat, pembuatan subtitle video YouTube, hingga sistem customer service otomatis yang memerlukan konversi suara ke teks.

    Prasyarat

    • Python 3.9 atau lebih tinggi
    • GPU yang kompatibel dengan CUDA (disarankan untuk model yang lebih besar)
    • Pemahaman dasar tentang Python dan konsep machine learning

    Pasang dependensi utama:

    pip install openai-whisper
    

    pip install faster-whisper

    pip install fastapi uvicorn python-multipart

    pip install torch torchaudio

    pip install datasets transformers

    Memahami Ukuran Model Whisper

    Whisper hadir dalam beberapa ukuran model, masing-masing menawarkan pertukaran antara kecepatan dan akurasi:

    | Model | Parameter | Khusus Inggris | Multibahasa | VRAM Diperlukan | Kecepatan Relatif |

    |--------|-----------|----------------|-------------|-----------------|-------------------|

    | tiny | 39 M | tiny.en | tiny | ~1 GB | ~32x |

    | base | 74 M | base.en | base | ~1 GB | ~16x |

    | small | 244 M | small.en | small | ~2 GB | ~6x |

    | medium | 769 M | medium.en | medium | ~5 GB | ~2x |

    | large | 1550 M | N/A | large-v3 | ~10 GB | 1x |

    Pemilihan model yang tepat bergantung pada kebutuhan Anda:

    import whisper
    
    

    Untuk prototyping cepat atau lingkungan dengan sumber daya terbatas

    model = whisper.loadmodel("tiny")

    Untuk produksi dengan akurasi yang baik

    model = whisper.loadmodel("medium")

    Untuk akurasi terbaik (memerlukan GPU dengan VRAM 10GB+)

    model = whisper.loadmodel("large-v3")

    Untuk transkripsi Bahasa Indonesia, gunakan model multibahasa (tanpa akhiran .en) karena model khusus Inggris tidak mendukung bahasa lain.

    Transkripsi Audio Dasar

    Penggunaan paling sederhana adalah mentranskripsi file audio menjadi teks:

    import whisper
    
    

    model = whisper.loadmodel("medium")

    Transkripsi dasar

    result = model.transcribe("rekamanaudio.mp3")

    print(result["text"])

    Akses informasi segmen secara detail

    for segment in result["segments"]:

    print(f"[{segment['start']:.2f}d -> {segment['end']:.2f}d] {segment['text']}")

    Anda dapat menyesuaikan perilaku transkripsi dengan berbagai parameter:

    result = model.transcribe(
    

    "rekamanaudio.mp3",

    language="id", # Paksa bahasa Indonesia (lewati deteksi)

    temperature=0.0, # Lebih rendah = lebih deterministik

    wordtimestamps=True, # Dapatkan timestamp tingkat kata

    fp16=True, # Gunakan presisi setengah (khusus GPU)

    beamsize=5, # Pencarian beam untuk akurasi lebih baik

    bestof=5, # Jumlah kandidat saat sampling

    nospeechthreshold=0.6, # Ambang batas untuk menyaring segmen sunyi

    conditiononprevioustext=True, # Gunakan konteks dari segmen sebelumnya

    initialprompt="Rapat teknis tentang model machine learning."

    )

    Artikel Terkait

    LiteLLM: Universal API Gateway untuk 100+ Model LLM

    LiteLLM: Universal API Gateway untuk 100+ Model LLM Dalam dunia AI yang berkembang pesat, kita dihadapkan dengan puluhan...

    Tutorial LangChain: Framework Paling Populer untuk Membangun Aplikasi LLM

    Tutorial LangChain: Framework Paling Populer untuk Membangun Aplikasi LLM LangChain adalah framework open-source yang di...

    Tutorial Lengkap Google Gemini API dengan Python: Dari Dasar hingga Mahir

    Tutorial Lengkap Google Gemini API dengan Python: Dari Dasar hingga Mahir Google Gemini API adalah salah satu API AI pal...

    Tutorial LitServe: Framework Serving Model AI yang Cepat dan Mudah

    Tutorial LitServe: Framework Serving Model AI yang Cepat dan Mudah Pendahuluan LitServe adalah framework open-source dar...