72 lines
1.4 KiB
Markdown
72 lines
1.4 KiB
Markdown
# Sound Node
|
|
|
|
## Requirements
|
|
|
|
```
|
|
apt install -y python3-aiohttp python3-requests python3-toml
|
|
```
|
|
|
|
## Configuration
|
|
|
|
Orange Pi Lite config (`/etc/sound_node.toml`):
|
|
|
|
```toml
|
|
[node]
|
|
listen = "0.0.0.0:8313"
|
|
process_wait_timeout = 10
|
|
name = "nodename"
|
|
|
|
record_max_time = 1800
|
|
storage = "/var/recordings"
|
|
|
|
[arecord]
|
|
bin = "/usr/bin/arecord"
|
|
|
|
[lame]
|
|
bin = "/usr/bin/lame"
|
|
bitrate = 192
|
|
|
|
[amixer]
|
|
bin = "/usr/bin/amixer"
|
|
controls = [
|
|
{
|
|
name = "Line In",
|
|
caps = ["mute", "cap", "volume"]
|
|
},
|
|
{
|
|
name = "Mic1",
|
|
caps = ["mute", "cap", "volume"]
|
|
},
|
|
{
|
|
name = "Mic1 Boost",
|
|
caps = ["volume"]
|
|
}
|
|
]
|
|
|
|
[logging]
|
|
verbose = false
|
|
default_fmt = true
|
|
```
|
|
|
|
## Audio recording
|
|
|
|
Install `lame`.
|
|
|
|
Command to record audio: `arecord -v -f S16 -r 44100 -t raw 2>/dev/null | lame -r -s 44.1 -b 192 -m m - output.mp3 >/dev/null 2>/dev/null`
|
|
|
|
## Uploading audios to remote server
|
|
|
|
- Generate ssh keys for root on each sound node:
|
|
```
|
|
cd /root/.ssh
|
|
ssh-keygen -t ed25519
|
|
```
|
|
- Add public keys on the remote server
|
|
- Copy `tools/sync-recordings-to-remote.sh` script to `/usr/local/bin` on all sound nodes, don't forget to `chmod +x` it.
|
|
- Add following lines to the root crontab (on all sound nodes):
|
|
```
|
|
TG_TOKEN="your telegram bot token"
|
|
TG_CHAT_ID="your telegram chat id"
|
|
|
|
30 * * * * /usr/local/bin/sync-recordings-to-remote.sh
|
|
``` |