Beranda → Blog → Cara mentranskrip audio langsung dari terminal
Cara mentranskrip audio langsung dari terminal
Kadang menulis program sama sekali tidak perlu: ada selusin rekaman yang harus diproses lalu dilupakan. Terminal menangani itu lebih baik daripada aplikasi mana pun — satu perintah curl mengubah berkas jadi teks, dan skrip pendek mengosongkan seluruh folder.
Satu berkas
curl https://voicesscribe.com/v1/audio/transcriptions \
-H "Authorization: Bearer $VS_KEY" \
-F file=@call.ogg \
-F model=whisper-1
Jawabannya JSON. Untuk mengambil teksnya saja, salurkan lewat jq:
curl -s https://voicesscribe.com/v1/audio/transcriptions \
-H "Authorization: Bearer $VS_KEY" \
-F file=@call.ogg -F model=whisper-1 | jq -r .text
Simpan kunci di variabel lingkungan: perintah dengan kunci tertulis langsung akan tersimpan di riwayat shell dan di log.
Format jawaban lain
Bidang response_format menentukan bentuk keluaran langsung di permintaan:
# subtitle langsung menjadi berkas
curl -s https://voicesscribe.com/v1/audio/transcriptions \
-H "Authorization: Bearer $VS_KEY" \
-F file=@lecture.ogg -F model=whisper-1 \
-F response_format=srt -o lecture.srt
# teks polos tanpa bungkus JSON
curl -s https://voicesscribe.com/v1/audio/transcriptions \
-H "Authorization: Bearer $VS_KEY" \
-F file=@note.ogg -F model=whisper-1 \
-F response_format=textSatu folder penuh dengan satu skrip
#!/bin/bash
set -euo pipefail
for f in recordings/*.ogg; do
out="${f%.ogg}.txt"
[ -f "$out" ] && continue
echo "memproses $f"
curl -s --fail-with-body https://voicesscribe.com/v1/audio/transcriptions \
-H "Authorization: Bearer $VS_KEY" \
-F file=@"$f" -F model=whisper-1 \
| jq -r .text > "$out"
done
Pemeriksaan berkas yang sudah ada membuat skrip bisa diulang: jalan yang terputus melanjutkan dari tempat berhenti, dan rekaman yang sudah diproses tidak dibayar dua kali.
Menelusuri masalah
Bendera --fail-with-body membuat curl mengembalikan kode bukan nol dan menampilkan isi galat — tanpa itu skrip diam-diam menulis pesan galat ke dalam berkas transkrip. Trik lain yang berguna:
- Tampilkan kode status saja: tambahkan -o /dev/null -w "%{http_code}\n".
- Periksa header permintaan dan jawaban: bendera -v.
- Pastikan format sebenarnya sebelum mengirim: ffprobe menunjukkan kodek asli, bukan ekstensinya.
Coba dengan rekaman Anda sendiri. Pendaftaran memakan waktu satu menit, dan menit gratisnya cukup untuk menilai kualitasnya.
Ambil kunci API gratisPertanyaan yang sering diajukan
Apakah jq wajib?
Tidak. Tanpa itu berkasnya berisi seluruh JSON. Alternatifnya minta response_format=text dan dapatkan teks bersih langsung.
Bagaimana menjaga kunci keluar dari riwayat?
Simpan di variabel lingkungan atau di berkas berizin terbatas yang dimuat oleh shell Anda.
Skrip berhenti pada galat pertama — bagaimana melanjutkan?
Hapus set -e atau bungkus panggilan dalam pemeriksaan kode status, lalu kumpulkan berkas gagal untuk dijalankan ulang.
Apakah ini jalan di Windows?
Ya, PowerShell menyertakan curl.exe dan benderanya identik. Untuk skrip, WSL atau Git Bash lebih nyaman.
Bacaan terkait
- Cara membangun pipeline transkripsi untuk arsip audio — Mentranskrip ribuan rekaman tanpa kehilangan satu pun: antrean kerja, konkurensi, percobaan ulang, melanjutkan setelah proses mati, dan menjaga tagihan tetap terkendali.
- Galat API transkripsi dan apa artinya sebenarnya — Penjelasan kode status API transkripsi: mengapa muncul 401, 400, 413, 429, dan 502, cara memperbaikinya, serta kegagalan mana yang layak diulang.
- Format audio mana yang sebaiknya dipakai untuk transkripsi — mp3, wav, ogg, opus, m4a, dan webm untuk pengenalan suara: pengaruh bitrate, alasan mono 16 kHz sudah cukup, dan cara tetap di bawah batas ukuran.