This is an old revision of the document!
How it Works
Essentially we are using NETCAT to pipe audio from a mic input on one computer to the audio output of another computer.
It appears that ssh adds a lot of latency around 1-2 secs which is not acceptable more most instances
Netcat on the receiver need to starts before the transmitter starts to send otherwise the transmitter script will exit with a connection refused.
Requirements
Alsa needs to be working on both computers and alsa-utils should be installed to save mixer settings
aplay/arecord also need to be installed along with netcat. In most distributions they are installed as base packages
Obviously some sort of tcp/ip must be running to for the netcat communication to work.
Receiver
- wifi_audio_recv.sh
#!/bin/sh
PORT="8080"
RATE="2"
BUFFER="10"
FORMAT="cd"
while [ true ]
do
netcat -l -p ${PORT} | aplay -B ${BUFFER} -r ${RATE} -f ${FORMAT}
done
Transmitter
- wifi_audo_send.sh
#!/bin/sh
PORT="8080"
RATE="2"
BUFFER="10"
FORMAT="cd"
RECV_ADDR="<IP>"
RECV_PORT="8080"
arecord -B ${BUFFER} -r ${RATE} -f ${FORMAT} | netcat ${RECV_ADDR} ${RECV_PORT}
Price List
Parts List
Arm Computer
Wifi Adapter
Audio Adapter
Power Supply
Flash Card (Storage)
Raspberry Pi Issues
I get this error whenever I try to change either the buffer size, buffer time, or interrupt period on both the R Pi 1 and R Pi 2
aplay: set_params:1305: Can't use period equal to buffer size (256 == 256)
I'm going to try to use a USB Audio adapter to bypass the issue. Without changing this parameter the audio delay is just too high to be practical.
Other Notes
The “Chip” microcomputer looks really promising it includes storage, wifi, and audio all on board and is selling for $9. Their website says they will be shipping in June 2016
http://getchip.com/