Membangun Pipeline Audio di Google Colab
- Upload Audio atau Video
- Ekstraksi Audio FFmpeg
- Konversi Mono 16 kHz
- Chunking Audio Sekuensial
- Inferensi Wav2Vec2
- Ekspor TXT, CSV, JSON
- Pembuatan Subtitle SRT
- Video 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.
Preprocessing Audio dan Chunking Sekuensial
- Identifikasi apakah file sumber yang diunggah berupa audio atau video.
- Ekstrak track audio tanpa kompresi dari file video menggunakan FFmpeg.
- Resample dan konversi audio menjadi satu channel mono pada 16 kHz menggunakan Librosa.
- Bagi 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.
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.
Otomatisasi Subtitle dan Pembuatan Video

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.