Manually mixing files created by MixMonitor()
So last night I did a system update between 11:30pm and 5:00am. One of the things I forgot to do when I was moving to the new system was to install sox so that MixMonitor()
could mix the -in
and -out
files automatically for me. I still had the recordings, but I needed to get them mixed. I first installed sox so that all new recorded files would be mixed for me. I also needed the soxmix application to mix the files together for me. :)
I created a little bash script to do this for me. Some of my files had different numbers of fields, but I think the common format for Asterisk is 5 fields (separate with a hyphen) followed by either -in.wav
or -out.wav
. The following script takes the files in the /var/spool/asterisk/monitor/merge/
directory, and mixes them together to a single file, then places them in the /var/spool/asterisk/monitor/
directory.
#!/bin/bash
for NAME in $(find /var/spool/asterisk/monitor/merge/ -maxdepth 1 -type f | cut -d "/" -f7 | cut -d "-" -f1-5)
# fields we want ^^^
do
IN=$NAME-in.wav
OUT=$NAME-out.wav
MERGE=$NAME.wav
MERGE_PATH=/var/spool/asterisk/monitor/merge
WRITE_PATH=/var/spool/asterisk/monitor
if [ -e $MERGE_PATH/$IN -a -e $MERGE_PATH/$OUT ]
then
echo "Both IN and OUT files exist. Creating $MERGE"
soxmix $MERGE_PATH/$IN $MERGE_PATH/$OUT $WRITE_PATH/$MERGE
mv $MERGE_PATH/$IN $MERGE_PATH/done/
mv $MERGE_PATH/$OUT $MERGE_PATH/done/
else
echo "Skipping the creating of $MERGE due to IN and OUT not being found"
fi
echo ""
done