Compare commits
No commits in common. "ac6048530d1492ca404f9be4299e660706b4b0de" and "4ff9ffcdeb11beefb927eef3436fd7f1d5e612bb" have entirely different histories.
ac6048530d
...
4ff9ffcdeb
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +0,0 @@
|
|||||||
|
|
||||||
.venv/
|
|
16
Makefile
16
Makefile
@ -1,16 +0,0 @@
|
|||||||
all: run
|
|
||||||
|
|
||||||
run:
|
|
||||||
./rec.sh
|
|
||||||
|
|
||||||
install:
|
|
||||||
sudo cp ./src/rec.sh /usr/local/bin/rec.sh
|
|
||||||
sudo cp ./conf/nbmrec.service /etc/systemd/system/nbmrec.service
|
|
||||||
sudo cp ./conf/nbmrec.timer /etc/systemd/system/nbmrec.timer
|
|
||||||
sudo systemctl daemon-reload
|
|
||||||
sudo systemctl enable nbmrec.timer
|
|
||||||
|
|
||||||
uninstall:
|
|
||||||
sudo rm -rf /usr/local/bin/rec.sh
|
|
||||||
sudo rm -rf /etc/systemd/system/nbmrec.service /etc/systemd/system/nbmrec.timer
|
|
||||||
sudo systemctl daemon-reload
|
|
26
README.md
26
README.md
@ -1,29 +1,3 @@
|
|||||||
# NBMrec
|
# NBMrec
|
||||||
|
|
||||||
Daemon recorder for nocturnal bird migration
|
Daemon recorder for nocturnal bird migration
|
||||||
|
|
||||||
## Install
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo make install
|
|
||||||
```
|
|
||||||
|
|
||||||
## Disable temporary
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo systemctl disable --now nbmrec.timer
|
|
||||||
```
|
|
||||||
|
|
||||||
## Uninstall
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sudo make uninstall
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Reference
|
|
||||||
|
|
||||||
- [audio recording using python](https://realpython.com/playing-and-recording-sound-python/)
|
|
||||||
|
|
||||||
- [audio recording from command line](https://superuser.com/questions/1570333/how-can-i-record-audio-output-from-command-line-in-linux)
|
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=NBMrec daemon nocturnal bird migration service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=oneshot
|
|
||||||
User=1000
|
|
||||||
ExecStart=/usr/local/bin/nmbrec.sh -d night
|
|
||||||
RemainAfterExit=yes
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
@ -1,10 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=Record bird migration every night
|
|
||||||
|
|
||||||
[Timer]
|
|
||||||
OnCalendar=*-*-* 22:00
|
|
||||||
Unit=nbmrec.service
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=basic.target
|
|
||||||
|
|
71
src/rec.sh
71
src/rec.sh
@ -1,71 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# NBMrec
|
|
||||||
# nocturnal bird migration recorder daemon
|
|
||||||
# by Samuel ORTION
|
|
||||||
|
|
||||||
RECORD_DIR="/mnt/DATA/media/records"
|
|
||||||
RECORD_DATE=$(date +"%Y-%m-%d")
|
|
||||||
RECORD_FILENAME=$(date +"%Y%m%d_%H%M%S")
|
|
||||||
RECORD_FILEPATH="${RECORD_DIR}/${RECORD_DATE}/${RECORD_FILENAME}.wav"
|
|
||||||
RECORD_DURATION=60
|
|
||||||
|
|
||||||
usage() {
|
|
||||||
echo "Usage: $0 [ -d <duration> ] [ -f <filename> ]"
|
|
||||||
echo " -d <duration> : duration of the recording in seconds or 'night' for all night recording"
|
|
||||||
echo " -f <filename> : filename of the recording"
|
|
||||||
echo " -h : display this help"
|
|
||||||
echo " -v : switch to verbose mode"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Get command line options
|
|
||||||
while getopts ":hd:f:" opt; do
|
|
||||||
case $opt in
|
|
||||||
h)
|
|
||||||
usage
|
|
||||||
;;
|
|
||||||
d)
|
|
||||||
RECORD_DURATION=$OPTARG
|
|
||||||
if [ "$RECORD_DURATION" == "night" ]; then
|
|
||||||
RECORD_DURATION=32400
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
f)
|
|
||||||
RECORD_FILEPATH=$OPTARG
|
|
||||||
;;
|
|
||||||
\?)
|
|
||||||
echo "Invalid option: -$OPTARG" >&2
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
:)
|
|
||||||
echo "Option -$OPTARG requires an argument." >&2
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
verbose=false
|
|
||||||
|
|
||||||
main() {
|
|
||||||
# Create output folder
|
|
||||||
if $verbose
|
|
||||||
then
|
|
||||||
echo "Creating record output folder"
|
|
||||||
fi
|
|
||||||
mkdir -p "$RECORD_DIR/$RECORD_DATE/"
|
|
||||||
|
|
||||||
# Perform recording
|
|
||||||
if $verbose
|
|
||||||
then
|
|
||||||
echo "Recording $RECORD_FILENAME"
|
|
||||||
fi
|
|
||||||
rec -b 16 -r 48000 -c 1 -t wav $RECORD_FILEPATH trim 0 $RECORD_DURATION
|
|
||||||
|
|
||||||
if $verbose
|
|
||||||
then
|
|
||||||
echo "Done"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
main
|
|
||||||
exit 0
|
|
Loading…
Reference in New Issue
Block a user