- Domestic Router
- Raspberry Pi 5
- Micro SD
- Laptop
- USB Audio Interface ( Used an old Audio 6 from Native Instruments )
- Wifi Access Point (If desired)
- Some Ethernet Cables
flowchart TB
SoundInput[fas:fa-music Sound Input ]
AudioInterface(far:fa-file-audio Audio Interface)
Laptop[fas:fa-laptop Laptop]
Server("fab:fa-raspberry-pi Server"
192.168.1.2)
Router["fas:fa-network-wired Router
192.168.1.1"]
UAP1["fas:fa-tower-broadcast UAP 1
192.168.1.3"]
UAP2["fas:fa-tower-broadcast UAP 2
192.168.1.4"]
U1[fas:fa-user 1]
U2[fas:fa-user N]
U3[fas:fa-user N + 1]
USB[fab:fa-usb USB]
subgraph Users
direction TB
U1-.-U2
U2-.-U3
end
subgraph Network Map
Laptop-.-BUTT_Software-..-Server
SoundStream-.- USB -.-> Laptop
Router<==>Server
Laptop-->Router
Router--->UAP1-.->Users
Router--->UAP2-.->Users
Antenas-.-Users
subgraph SoundStream
direction TB
SoundInput -- "ADC" --> AudioInterface
end
subgraph Antenas
UAP1
UAP2
end
end
To be installed on the computer:
- Ubuntu imager for Raspberry: (https://ubuntu.com/download/raspberry-pi)
- Butt Broadcast tool: (https://danielnoethen.de/butt/)
- Start server and put up to date all packages
$ sudo apt update
$ sudo apt upgrade
$ sudo reboot
- Install all needed apps for the project
- When installing IceCast2 you can press enter on default configurations or put your own password for each user
$ sudo apt install icecast2
$ sudo apt install atop
- Enable the icecast server to start at server boot
$ sudo systemctl enable icecast2
$ sudo systemctl start icecast2
- Validate that icecast is running fine with one of this 2 commands
$ ps -aux | grep icecast
$ systemctl status icecast2
- Next (optional), Changing the Logs folder to be inside the icecast installation and config folder
$ cd /etc/icecast2
$ sudo mkdir logs
$ sudo chmod 777 logs
- Edit finally the logs destination folder just created on the config file
$ sudo nano /etc/icecast2/icecast.xml
Then change on the file the content by the following one
<logdir>/etc/icecast2/logs</logdir>