################################################################################ # Configuration settings for BirdNET as a service # ################################################################################ INSTALL_DATE="$(date "+%D")" #___________The four variables below are the only that are required.___________# ## BIRDNET_USER should be the non-root user systemd should use to execute each ## service. BIRDNET_USER= ## RECS_DIR is the location birdnet_analysis.service will look for the data-set ## it needs to analyze. Be sure this directory is readable and writable for ## the BIRDNET_USER. If you are going to be accessing a remote data-set, you ## still need to set this, as this will be where the remote directory gets ## mounted locally. See REMOTE_RECS_DIR below for mounting remote data-sets. RECS_DIR= ## LATITUDE and LONGITUDE are self-explanatroy. Find them easily at ## maps.google.com. Only go to the thousanths place for these variables ## Example: these coordinates would indicate the Eiffel Tower in Paris, France. ## LATITUDE=48.858 ## LONGITUDE=2.294 LATITUDE= LONGITUDE= ################################################################################ #------------------------------ Extraction Service ---------------------------# #__________________The variable below can be set to enable the ________________# #______________________________ extraction.service ____________________________# # Keep this EMPTY if you do not want this device to perform the extractions # ## DO_EXTRACTIONS is simply a setting for enabling the extraction.service. ## Set this to Y or y to enable extractions. DO_EXTRACTIONS= ################################################################################ #----------------------------- Recording Service ----------------------------# #_______________The two variables below can be set to enable __________________# #________________________the birdnet_recording.service ________________________# # Keep this EMPTY if you do not want this device to perform the recording. # ## DO_RECORDING is simply a setting for enabling the 24/7 ## birdnet_recording.service. ## Set this to Y or y to enable recording. DO_RECORDING= ## TIMESTAMP_FORMAT is the format the recording service will use to name its ## files. Setting this variable to "12" will name the recorded (and extracted) ## files using the 12-hour AM/PM time format. Setting this variable to "24" ## will name the files using the 24-hour time format. See examples below: # ## TIMESTAMP_FORMAT=12 ## example filename: 236-Northern_Cardinal-86%2021-09-30-birdnet-01:00:19pm.wav # ## TIMESTAMP_FORMAT=24 ## example filename: 236-Northern_Cardinal-86%2021-09-30-birdnet-13:00:19.wav TIMESTAMP_FORMAT= ################################################################################ #----------------- Mounting a remote directory with systemd -----------------# #_______________The four variables below can be set to enable a________________# #___________________systemd.mount for analysis, extraction,____________________# #______________________________or file-serving_________________________________# # Leave these settings EMPTY if your data-set is local. # ## REMOTE is simply a setting for enabling the systemd.mount to use a remote ## filesystem for the data storage and service. ## Set this to Y or y to enable the systemd.mount. REMOTE= ## REMOTE_HOST is the IP address, hostname, or domain name SSH should use to ## connect for FUSE to mount its remote directories locally. REMOTE_HOST= ## REMOTE_USER is the user SSH will use to connect to the REMOTE_HOST. REMOTE_USER= ## REMOTE_RECS_DIR is the directory on the REMOTE_HOST which contains the ## data-set SSHFS should mount to this system for local access. This is NOT the ## directory where you will access the data on this machine. See RECS_DIR for ## that. REMOTE_RECS_DIR= ################################################################################ #----------------------- Web-hosting/Caddy File-server -----------------------# #__________The two variables below can be set to enable web access_____________# #____________to your data,(e.g., extractions, raw data, live___________________# #______________audio stream, BirdNET.selection.txt files)______________________# # Leave these EMPTY if you do not want to enable web access # ## EXTRACTIONS_URL is the URL where the extractions, data-set, and live-stream ## will be web-hosted. If you do not own a domain, or would just prefer to keep ## BirdNET-Lite on your local network, you can set this to http://localhost. ## Setting this (even to http://localhost) will also allow you to enable the ## GoTTY web logging features below. EXTRACTIONS_URL= ## CADDY_PWD is the plaintext password (that will be hashed) and used to access ## the "Processed" directory and live audio stream. This MUST be set if you ## choose to enable this feature. CADDY_PWD= ################################################################################ #------------------------- Live Audio Stream --------------------------------# #_____________The variable below configures/enables the live___________________# #_____________________________audio stream.____________________________________# # Keep this EMPTY if you do not wish to enable the live stream # # or if this device is not doing the recording # ## ICE_PWD is the password that icecast2 will use to authenticate ffmpeg as a ## trusted source for the stream. You will never need to enter this manually ## anywhere other than here. ICE_PWD= ################################################################################ #------------------- Mobile Notifications via Pushed.co ---------------------# #____________The two variables below enable mobile notifications_______________# #_____________See https://pushed.co/quick-start-guide to get___________________# #_________________________these values for your app.___________________________# # Keep these EMPTY if haven't setup a Pushed.co App yet. # ## Pushed.co App Key and App Secret PUSHED_APP_KEY= PUSHED_APP_SECRET= ################################################################################ #------------------------------- NoMachine ----------------------------------# #_____________The variable below can be set include NoMachine__________________# #_________________remote desktop software to be installed._____________________# # Keep this EMPTY if you do not want to install NoMachine. # ## INSTALL_NOMACHINE is simply a setting that can be enabled to install ## NoMachine alongside the BirdNET-Lite for remote desktop access. This in- ## staller assumes personal use. Please reference the LICENSE file included ## in this repository for more information. ## Set this to Y or y to install NoMachine alongside the BirdNET-Lite INSTALL_NOMACHINE= ################################################################################ #-------------------------------- Defaults ----------------------------------# #______The seven variables below are default settings that you (probably)______# #__________________don't need to change at all, but can._______________________# ## REC_CARD is the sound card you would want the birdnet_recording.service to ## use. This setting is irrelevant if you are not planning on doing data ## collection via recording on this machine. The command substitution below ## looks for a USB microphone's dsnoop alsa device. The dsnoop device lets ## birdnet_recording.service and livestream.service share the raw audio stream ## from the microphone. If you would like to use a different microphone than ## what this produces, or if your microphone does not support creating a ## dsnoop device, you can set this explicitly from a list of the available ## devices from the output of running 'aplay -L' REC_CARD=default ## PROCESSED is the directory where the formerly 'Analyzed' files are moved ## after extractions have been made from them. This includes both WAVE and ## BirdNET.selection.txt files. PROCESSED=${RECS_DIR}/Processed ## EXTRACTED is the directory where the extracted audio selections are moved. EXTRACTED=${RECS_DIR}/Extracted ## IDFILE is the file that keeps a complete list of every spececies that ## BirdNET has identified from your data-set. It is persistent across ## data-sets, so would need to be whiped clean through deleting or renaming ## it. A backup is automatically made from this variable each time it is ## updated (structure: ${IDFILE}.bak), and would also need to be removed ## or renamed to start a new file between data-sets. Alternately, you can ## change this variable between data-sets to preserve records of disparate ## data-sets according to name. IDFILE=${HOME}/BirdNET-Lite/IdentifiedSoFar.txt ## OVERLAP is the value in seconds which BirdNET should use when analyzing ## the data. The values must be between 0.0-2.9. OVERLAP=0.0 ## CONFIDENCE is the minimum confidence level from 0.0-1.0 BirdNET's analysis ## should reach before creating an entry in the BirdNET.selection.txt file. ## Don't set this to 1.0 or you won't have any results. CONFIDENCE=0.7 ## SENSITIVITY is the detection sensitivity from 0.5-1.5. SENSITIVITY=1.25 ################################################################################ #------------------------------ Auto-Generated ------------------------------# #_____________________The variables below are auto-generated___________________# #______________________________during installation_____________________________# ## CHANNELS holds the variabel that corresponds to the number of channels the ## sound card supports. CHANNELS= # Don't touch the variables below ## SYSTEMD_MOUNT is created from the RECS_DIR variable to comply with systemd ## mount naming requirements. SYSTEMD_MOUNT=$(echo ${RECS_DIR#/} | tr / -).mount ## VENV is the virtual environment where the the BirdNET python build is found, ## i.e, VENV is the virtual environment miniforge built for BirdNET. VENV=$(dirname ${my_dir})/miniforge/envs/birdnet ################################################################################ #---------------------------------- Testing -----------------------------------# #_____________These variables are for testing. Please don't touch______________# #_______________them if you are not testing these features.____________________# # To test different values for RECORDING_LENGTH, first: # 1) stop the birdnet_recording.service: #### run: `sudo systemctl stop birdnet_recording.service` # 2) remove any remaining audio files in the day's recording directory: #### Example: to remove recordings for Saturday, October 2nd, 2021, you would #### run: `rm -rf /home/pi/BirdSongs/October-2021/02-Saturday/*` # 3) restart the birdnet_recording.service: #### run: `sudo systemctl restart birdnet_recording.service` RECORDING_LENGTH= EXTRACTION_LENGTH= LAST_RUN=