24 lines
693 B
Bash
Executable File
24 lines
693 B
Bash
Executable File
#!/bin/sh
|
|
# Show a frequence spectrogram using sox and timg
|
|
# https://sound.stackexchange.com/questions/40226/show-the-differences-between-two-similar-audio-files-using-graphical-method
|
|
case $1 in
|
|
(-a) shift
|
|
for arg; do $0 "$arg"; done
|
|
;;
|
|
(-d) shift
|
|
one="$(basename "$1")"
|
|
two="$(basename "$2")"
|
|
diff="/tmp/diff-$one-$two.wav"
|
|
ffmpeg -y -v warning -i "$1" "/tmp/$one.wav"
|
|
ffmpeg -y -v warning -i "$2" "/tmp/$two.wav"
|
|
sox -m -v 1 "/tmp/$one.wav" -v -1 "/tmp/$two.wav" "$diff"
|
|
$0 "$diff"
|
|
;;
|
|
(*)
|
|
out="${2:-/tmp/freq-$(basename "$1").png}"
|
|
mkdir -p "$(dirname "$out")"
|
|
sox "$1" -n spectrogram -o "$out"
|
|
timg --title "$out"
|
|
;;
|
|
esac
|