ANNAS TRI WIDAGDO/PORTFOLIO · 2026
VOL. 01 // TECHNICAL ARCHIVE
■annastriwidagdo.me
SOFTWARE ENGINEER·FULL-STACK WEB DEVELOPER·MACHINE LEARNING ENGINEER
ENTRY 001MEMBUKA ARSIP TEKNIS00% · 01 / 01
Lewati ke konten
■annastriwidagdo.me
  • 01Beranda
  • 02Tentang
  • 03Proyek
  • 04Blog●
  • 05Kontak
LANGEN/ID
■annastriwidagdo.me
  • Software Engineer
  • Full-Stack Web Developer
  • Machine Learning Engineer

JAKARTA, INDONESIA · UTC+7

EMAILannastriw6@gmail.com↗ (dibuka di tab baru)LINKEDIN/in/annastriw↗ (dibuka di tab baru)GITHUB@annastriw↗ (dibuka di tab baru)CONTACTBuka Kontak→

© 2026 Annas Tri Widagdo. Drafted in grids, shipped in code.

←Kembali ke indeksBLOG / 04
[CATATAN // 04]/Audio dan AI·3 menit baca

Membangun Pipeline Speech-to-Text Praktis dengan Wav2Vec2 dan FFmpeg

Workflow Google Colab yang menormalisasi audio dan video, memproses input panjang per chunk, lalu mengubah output Wav2Vec2 pralatih menjadi transkrip dan burned-in subtitle.

Ditulis olehAnnas Tri Widagdo
  • #Python
  • #Wav2Vec2
  • #FFmpeg
  • #SRT
  • #Google Colab
[01]

Membangun Pipeline Audio di Google Colab

  1. 01Upload Audio atau Video
  2. 02Ekstraksi Audio FFmpeg
  3. 03Konversi Mono 16 kHz
  4. 04Chunking Audio Sekuensial
  5. 05Inferensi Wav2Vec2
  6. 06Ekspor TXT, CSV, JSON
  7. 07Pembuatan Subtitle SRT
  8. 08Video Burned-in Subtitle

Pengenalan suara otomatis (Automatic Speech Recognition) bekerja paling optimal jika seluruh alur media dirancang terpadu dari awal hingga akhir. Dibangun sebagai workflow Python di Google Colab, Speech-to-Text System menerima file audio maupun video, menghasilkan transkrip terstruktur, dan membuat video akhir dengan burned-in subtitle.

Proyek ini berfokus pada pipeline praktis: mengekstrak audio dari video menggunakan FFmpeg, menstandarkan sinyal suara, menangani audio panjang melalui chunking, dan menyalurkan teks hasil transkripsi ke berbagai format yang siap pakai.

[02]

Preprocessing Audio dan Chunking Sekuensial

  1. 01Identifikasi apakah file sumber yang diunggah berupa audio atau video.
  2. 02Ekstrak track audio tanpa kompresi dari file video menggunakan FFmpeg.
  3. 03Resample dan konversi audio menjadi satu channel mono pada 16 kHz menggunakan Librosa.
  4. 04Bagi rekaman audio berdurasi panjang menjadi beberapa chunk sekuensial agar pemakaian memori tetap stabil.

Jaringan saraf akustik membutuhkan format audio input yang konsisten. Menggunakan Librosa dan FFmpeg, aliran audio disatukan menjadi channel mono tunggal dan di-resample ke 16 kHz, sesuai dengan format yang dibutuhkan ekstraktor fitur Wav2Vec2.

Untuk rekaman berdurasi panjang, pembagian audio menjadi beberapa chunk sekuensial mencegah kehabisan memori di Google Colab serta memungkinkan setiap bagian diproses berurutan dengan penanda waktu yang tetap presisi.

[03]

Pengenalan Suara dengan Wav2Vec2 Pralatih

Proses transkripsi dijalankan oleh model pralatih facebook/wav2vec2-base-960h yang dimuat melalui Hugging Face Transformers. Model memproses setiap chunk audio dan mendekode ucapan suara menjadi teks tertulis.

Pipeline menggabungkan hasil transkripsi ke dalam tiga format file praktis: teks biasa TXT untuk dibaca langsung, format tabel CSV menggunakan Pandas untuk pemeriksaan per segmen, dan format JSON terstruktur untuk kemudahan integrasi dengan perangkat lunak lain.

Batas faktual

Catatan proyek mendokumentasikan pipeline ASR menggunakan model pralatih facebook/wav2vec2-base-960h dan tidak mencakup fine-tuning model. Catatan ini tidak mencakup benchmark, Word Error Rate, Character Error Rate, atau klaim akurasi transkripsi yang tidak diverifikasi.

[04]

Otomatisasi Subtitle dan Pembuatan Video

Output video terdokumentasi dengan subtitle yang dihasilkan workflow speech-to-text
Tahap media akhir yang menggabungkan timecode subtitle SRT dengan video asli melalui FFmpeg.

Selain teks biasa, pipeline menyusun stempel waktu dari setiap chunk menjadi file subtitle standar SubRip (SRT) dengan penanda waktu awal dan akhir yang rapi.

Pada tahap akhir, FFmpeg menempelkan subtitle teks secara langsung ke frame video (burned-in subtitle). Hal ini menghasilkan video siap tonton dengan takarir permanen yang dapat diputar di perangkat atau peramban apa pun tanpa memerlukan file subtitle terpisah.

  • Dokumen transkrip teks biasa (TXT).
  • Dataset chunk tabular dengan metadata waktu (CSV).
  • Payload data hierarkis terstruktur (JSON).
  • File subtitle standar dengan timecode (SRT).
  • Video final dengan burned-in subtitle.

Pengalaman proyek terkait

Speech-to-Text System↗
← ARTIKEL SEBELUMNYADari Android Print Framework ke ESC/POS
Semua Artikel
Akhir indeks