From f04f0721c8097ef60de03076e720f1d36ecabb52 Mon Sep 17 00:00:00 2001 From: Patrick McGuire Date: Tue, 5 Oct 2021 14:31:56 -0400 Subject: [PATCH] updated birdnet_stats to what was requested --- scripts/birdnet_stats.sh | 14 ++++++++++---- scripts/extract_new_birdsounds.sh | 15 ++++++++------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/scripts/birdnet_stats.sh b/scripts/birdnet_stats.sh index 809f1f7..be267ea 100755 --- a/scripts/birdnet_stats.sh +++ b/scripts/birdnet_stats.sh @@ -40,16 +40,22 @@ echo if [ ${a} -ge 1 ];then while read -r line;do SPECIES="$(echo "${line}" | awk -F: '/Common Name/ {print $2}')" - SPECIES=${SPECIES// /_} - SPECIES=${SPECIES/_} + SPECIES="${SPECIES// /_}" + SPECIES="$(echo ${SPECIES/_} | tr -d "'")" [ -z ${SPECIES} ] && continue - DETECTIONS="$(ls -1 ${EXTRACTED}/By_Date/*/${SPECIES}| wc -l)" + + ALL_DETECTION_FILES="$(ls -1 ${EXTRACTED}/By_Date/*/${SPECIES})" + ALL_DETECTION_FILES="$(echo ${ALL_DETECTION_FILES[@]} | tr ' ' '\n')" + MAX_SCORE="$(echo "${ALL_DETECTION_FILES}"| awk -F% '{print $1}')" + MAX_SCORE="$(echo "${MAX_SCORE[@]}" | rev |cut -d"-" -f1|rev | sort -r | head -n1)" + + DETECTIONS="$(ls -1 ${EXTRACTED}/By_Date/*/${SPECIES} | wc -l)" if [ ${DETECTIONS} = 1 ];then verbage=detection else verbage=detections fi - echo -e "${DETECTIONS} $verbage for ${SPECIES//_/ }" | sort + echo -e "${DETECTIONS} $verbage for ${SPECIES//_/ } | max conf ${MAX_SCORE}%" | sort done < ${IDFILE} fi echo diff --git a/scripts/extract_new_birdsounds.sh b/scripts/extract_new_birdsounds.sh index a7ff429..3131d37 100755 --- a/scripts/extract_new_birdsounds.sh +++ b/scripts/extract_new_birdsounds.sh @@ -1,14 +1,15 @@ #!/usr/bin/env bash # Exit when any command fails -#set -x +set -x set -e # Keep track of the last executed command -trap 'last_command=$current_command; current_command=$BASH_COMMAND' DEBUG -# Echo an error message before exiting -trap 'echo "\"${last_command}\" command exited with code $?."' EXIT +#trap 'last_command=$current_command; current_command=$BASH_COMMAND' DEBUG +## Echo an error message before exiting +#trap 'echo "\"${last_command}\" command exited with code $?."' EXIT # Remove temporary file trap 'rm -f $TMPFILE' EXIT source /etc/birdnet/birdnet.conf +[ -z ${RECORDING_LENGTH} ] && RECORDING_LENGTH=12 # Set Variables TMPFILE=$(mktemp) @@ -73,7 +74,7 @@ for h in "${SCAN_DIRS[@]}";do START="$(echo "${line}" | awk -F\; '!/birdnet/{print $1}')" END="$(echo "${line}" | awk -F\; '!/birdnet/{print $2}')" COMMON_NAME=""$(echo ${line} \ - | awk -F\; '!/birdnet/{print $4}')"" + | awk -F\; '!/birdnet/{print $4}'|tr -d "'")"" SCIENTIFIC_NAME=""$(echo ${line} \ | awk -F\; '!/birdnet/{print $3}')"" CONFIDENCE=""$(echo ${line} \ @@ -133,8 +134,8 @@ for h in "${SCAN_DIRS[@]}";do START=$(echo "scale=1;${START} - ${SPACER}"|bc -l) END=$(echo "scale=1;${END} + ${SPACER}"|bc -l) - if (( $(echo "scale=1;${START} < 1" | bc -l) ));then START=0;fi - if (( $(echo "scale=1;${END} > ${RECORDING_LENGTH}" | bc -l) ));then END=${RECORDING_LENGTH};fi + if (( $(echo "${START} < 1" | bc -l) ));then START=0;fi + if (( $(echo "${END} > ${RECORDING_LENGTH}" | bc -l) ));then END=${RECORDING_LENGTH};fi ffmpeg -hide_banner -loglevel error -nostdin -i "${h}/${OLDFILE}" \ -acodec copy -ss "${START}" -to "${END}"\