diff --git a/scripts/spectrogram.sh b/scripts/spectrogram.sh index b3aa37a..795d161 100755 --- a/scripts/spectrogram.sh +++ b/scripts/spectrogram.sh @@ -12,13 +12,20 @@ if [ "$LOGGING_LEVEL" == "info" ] || [ "$LOGGING_LEVEL" == "debug" ];then set -x fi +next=0 +looptime=$(( RECORDING_LENGTH * 2 / 3 )) + # Continuously loop generating a spectrogram inotifywait -m -e close_write "$HOME/BirdNET-Pi/analyzing_now.txt" | while read; do - analyzing_now="$(<$HOME/BirdNET-Pi/analyzing_now.txt)" + now=$(date +%s) + if (( now > next )); then + analyzing_now="$(<$HOME/BirdNET-Pi/analyzing_now.txt)" - if [ -n "${analyzing_now}" ] && [ -f "${analyzing_now}" ]; then - spectrogram_png=${EXTRACTED}/spectrogram.png - sox -V1 "${analyzing_now}" -n remix 1 rate 24k spectrogram -c "${analyzing_now//$HOME\//}" -o "${spectrogram_png}" + if [ -n "${analyzing_now}" ] && [ -f "${analyzing_now}" ]; then + spectrogram_png=${EXTRACTED}/spectrogram.png + sox -V1 "${analyzing_now}" -n remix 1 rate 24k spectrogram -c "${analyzing_now//$HOME\//}" -o "${spectrogram_png}" + fi + next=$(( now + looptime )) fi done