🎧 Script Bash Visualisasi Audio dengan FFmpeg

Bikin video equalizer/spectrum atau waveform dari musik kamu. Pilih mode, resolusi, warnaβ€”langsung dari terminal Linux.

Dipublikasikan: 27 Okt 2025FFmpegLinuxCLIAudio Visualizer
Ringkas manfaat:

Tip: pastikan FFmpeg sudah terpasang. Di Ubuntu/Debian: sudo apt install ffmpeg

Script bash fleksibel: pilih mode, warna, dan resolusi

Kamu bisa memilih mode spectrum (equalizer) atau waveform (gelombang), terus set resolusi dan warna sesuai kebutuhan konten.

Script: audio_visualizer.sh

#!/bin/bash
# Script untuk membuat video visualisasi audio (spectrum/waveform) dari semua file .mp3 di folder
# Output: file video .mp4 dengan nama sama seperti file audio
echo "Pilih mode visualisasi:"
echo "1) Spectrum (equalizer)"
echo "2) Waveform (gelombang)"
read -p "Masukkan pilihan [1/2]: " choice
read -p "Masukkan resolusi (contoh: 1280x720): " resolution
read -p "Masukkan warna (contoh: white, red, green, rainbow): " color
for f in *.mp3; do
 base="${f%.mp3}"
 echo "β–Ά Memproses $f ..."
 if [ "$choice" == "1" ]; then
 ffmpeg -y -i "$f" \
 -filter_complex "[0:a]showspectrum=s=${resolution}:mode=combined:color=${color}:scale=log[v]" \
 -map "[v]" -map 0:a -c:v libx264 -c:a aac -shortest "${base}_spectrum.mp4"
 elif [ "$choice" == "2" ]; then
 ffmpeg -y -i "$f" \
 -filter_complex "[0:a]showwaves:s=${resolution}:mode=line:rate=25:colors=${color}[v]" \
 -map "[v]" -map 0:a -c:v libx264 -c:a aac -shortest "${base}_waveform.mp4"
 else
 echo "❌ Pilihan tidak valid."
 exit 1
 fi
done
echo "βœ… Semua file selesai diproses!"

Ekstra: variasi cepat

# Spectrum terpisah per kanal stereo
ffmpeg -i musik.mp3 -filter_complex "[0:a]showspectrum=s=1280x720:mode=separate:color=intensity:scale=log[v]" -map "[v]" -map 0:a -c:v libx264 -c:a aac -shortest output.mp4
# Waveform titik
ffmpeg -i musik.mp3 -filter_complex "[0:a]showwaves=s=1920x1080:mode=point:rate=30:colors=cyan[v]" -map "[v]" -map 0:a -c:v libx264 -c:a aac -shortest output.mp4
# Menyampaikan gambar latar pada komponen visualizer
ffmpeg -loop 1 -t 180 -i bg.jpg -i musik.mp3 \
-filter_complex "[1:a]showspectrum=s=1920x1080:mode=combined:color=rainbow:scale=log[v];[0][v]overlay=shortest=1:format=auto[out]" \
-map "[out]" -map 1:a -c:v libx264 -c:a aac -shortest output_with_bg.mp4