################################################################################ # 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 ---------------------------# # 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 ----------------------------# # 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= ################################################################################ #----------------- 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="\$(sudo -u pi aplay -L \ | grep dsnoop \ | cut -d, -f1 \ | grep -ve 'vc4' -e 'Head' -e 'PCH' \ | uniq)" ## 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" ################################################################################ #------------------------------ 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=${CHANNELS} # Don't the three below ## ANALYZED is where the extraction.service looks for audio and ## BirdNET.selection.txt files after they have been processed by the ## birdnet_analysis.service. This is NOT where the analyzed files are moved -- ## analyzed files are always created within the same directory ## birdnet_analysis.service finds them. ANALYZED=${RECS_DIR}/*/*Analyzed ## 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