#!/bin/sh # The MD is set manually for some safety and sanity, also available via $1 MD=/var/spool/asterisk/monitor FN="$2" INEXT="$3" EXT=wav OUTEXT=gsm TG=/web/voip.netmonks.ca/calls # First, pan them left and right /usr/bin/sox -c 1 "${MD}/${FN}-in.${INEXT}" -c 2 "${MD}/${FN}-in-pan.${EXT}" pan -1.0 /usr/bin/sox -c 1 "${MD}/${FN}-out.${INEXT}" -c 2 "${MD}/${FN}-out-pan.${EXT}" pan 1.0 /bin/rm "${MD}/${FN}-in.${INEXT}" "${MD}/${FN}-out.${INEXT}" # Reverse them for time sync reasons /usr/bin/sox "${MD}/${FN}-in-pan.${EXT}" "${MD}/${FN}-in-rev.${EXT}" reverse /usr/bin/sox "${MD}/${FN}-out-pan.${EXT}" "${MD}/${FN}-out-rev.${EXT}" reverse /bin/rm "${MD}/${FN}-in-pan.${EXT}" "${MD}/${FN}-out-pan.${EXT}" # Mix the reversed channels /usr/bin/soxmix "${MD}/${FN}-in-rev.${EXT}" "${MD}/${FN}-out-rev.${EXT}" "${MD}/${FN}-rev.${EXT}" /bin/rm "${MD}/${FN}-in-rev.${EXT}" "${MD}/${FN}-out-rev.${EXT}" # And reverse the mixed composite and place it to the target /usr/bin/sox "${MD}/${FN}-rev.${EXT}" "${TG}/${FN}.${OUTEXT}" reverse /bin/rm "${MD}/${FN}-rev.${EXT}"