Skip to content

Instantly share code, notes, and snippets.

@antlauzon
Created December 2, 2019 07:39
Show Gist options
  • Save antlauzon/ebdcdef0aedb2a9930f1a810b0782238 to your computer and use it in GitHub Desktop.
Save antlauzon/ebdcdef0aedb2a9930f1a810b0782238 to your computer and use it in GitHub Desktop.
Waveform Diff Stats
#!/bin/bash
WORK_DIR="$(mktemp -d)"
IN_PATH1="$1"
IN_PATH2="$2"
IN_FN1=$(basename "$IN_PATH1")
IN_FN2=$(basename "$IN_PATH2")
cp "$IN_PATH1" "$WORK_DIR"
cp "$IN_PATH2" "$WORK_DIR"
IN_PATH1_TMP="$WORK_DIR/$IN_FN1"
IN_PATH2_TMP="$WORK_DIR/$IN_FN2"
IN_PATH1_WAV="$IN_PATH1_TMP.wav"
IN_PATH2_WAV="$IN_PATH2_TMP.wav"
INV_PATH="$WORK_DIR/inv.wav"
SUM_PATH="$WORK_DIR/sum.wav"
ffmpeg -y -i "$IN_PATH1_TMP" "$IN_PATH1_WAV" > /dev/null 2>&1
ffmpeg -y -i "$IN_PATH2_TMP" "$IN_PATH2_WAV" > /dev/null 2>&1
sox -v -1 "$IN_PATH1_WAV" "$INV_PATH" > /dev/null 2>&1
ffmpeg -y -i "$INV_PATH" -i "$IN_PATH2_WAV" -filter_complex "amix=inputs=2:duration=longest" "$SUM_PATH" > /dev/null 2>&1
sox "$SUM_PATH" -n stat
rm -rf "$WORK_DIR"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment