#!/bin/bash TMP=/tmp/stack # Scratch directory for time-shifted files mkdir -p $TMP rm -f $TMP/* # A -p option means normalise by power instead of amplitude PFLAG="" [ "$1" = "-p" ] && { PFLAG=1 shift 1 } # List of input files on the command line list=$* # Mixer coefficient strings c1="" c2="" N=0 for src in $list do set `vtstat -i $src | sed 's/,/ /g' | awk '($1 == "start:"){ start=$2} ($1 == "mean"){ amps += $6 } END{printf( "%s %.3e %.3e\n", start, 1/amps, 1/(amps*amps))}'` offset=`vtdate -n $1` gain1=$2 gain2=$3 [ "$PFLAG" = 1 ] && gain=$gain2 || gain=$gain1 [ "$c1" = "" ] && c1=$gain,0 || c1=${c1},$gain,0 [ "$c2" = "" ] && c2=0,$gain || c2=${c2},0,$gain echo "$src $offset $gain1 $gain2" >&2 vtcat -a-$offset $src $TMP/$N jlist="$jlist $TMP/$N" N=$((N+1)) done vtjoin $jlist - | vtmix -c $c1 -c $c2 rm -f $TMP/*