Received serial audio from ESP32 and pipes it into pulseaudio for other apps to use
 
 
 
 
Go to file
jake 85b213e194 no more pulseaudio, stream straight to /tmp/esp32_audio 2025-11-16 15:56:29 +00:00
firmware corrected bit shift from 32 bit to 24 bit 2025-11-16 06:09:49 +00:00
service no more pulseaudio, stream straight to /tmp/esp32_audio 2025-11-16 15:56:29 +00:00
capture.wav added sync frames every 512 bytes 2025-11-15 15:57:17 +00:00
dump.bin added sync frames every 512 bytes 2025-11-15 15:57:17 +00:00
new_latency_test.py no more pulseaudio, stream straight to /tmp/esp32_audio 2025-11-16 15:56:29 +00:00
readme.md added sync frames every 512 bytes 2025-11-15 15:57:17 +00:00
serial_audio.py recieves serial audio from esp32 and pipes them into pulseaudio for other apps to enjoy 2025-11-15 09:51:40 +00:00
serial_capture recieves serial audio from esp32 and pipes them into pulseaudio for other apps to enjoy 2025-11-15 09:51:40 +00:00
serial_capture.c recieves serial audio from esp32 and pipes them into pulseaudio for other apps to enjoy 2025-11-15 09:51:40 +00:00
serial_to_stdout added sync frames every 512 bytes 2025-11-15 15:57:17 +00:00
serial_to_stdout.c added sync frames every 512 bytes 2025-11-15 15:57:17 +00:00
serial_to_wav added sync frames every 512 bytes 2025-11-15 15:57:17 +00:00
serial_to_wav.c added sync frames every 512 bytes 2025-11-15 15:57:17 +00:00
setup required.txt added sync frames every 512 bytes 2025-11-15 15:57:17 +00:00
start_esp32_audio.sh added sync frames every 512 bytes 2025-11-15 15:57:17 +00:00
test.wav corrected bit shift from 32 bit to 24 bit 2025-11-16 06:09:49 +00:00
test_record.sh corrected bit shift from 32 bit to 24 bit 2025-11-16 06:09:49 +00:00
wavemonitor no more pulseaudio, stream straight to /tmp/esp32_audio 2025-11-16 15:56:29 +00:00
wavemonitor.c no more pulseaudio, stream straight to /tmp/esp32_audio 2025-11-16 15:56:29 +00:00
windows_serial_to_speaker.py added python file for piping serial to speaker in windows 2025-11-15 16:00:16 +00:00

readme.md

esp32-audio.service goes to ~/.config/systemd/users/

Enable it so it starts automatically at login

systemctl --user enable esp32-audio.service

Start it immediately

systemctl --user start esp32-audio.service

Check its status

systemctl --user status esp32-audio.service

Causes user login to linger

sudo loginctl enable-linger littlesophia

NEED TO LOCK IN ID OF ESP32 SO ITS ALWAYS THE SAME PORT

#Get ID udevadm info -a -n /dev/ttyACM0 | grep serial

EXAMPLE RESPONSE (radxa) littlesophia@radxa-cubie-a7z:~/serial_audio_catcher$ udevadm info -a -n /dev/ttyACM0 | grep serial ATTRS{product}=="USB JTAG/serial debug unit" ATTRS{serial}=="B4:3A:45:AD:CA:90" ATTRS{serial}=="xhci-hcd.41.auto"

CREATE rules file and add listing sudo nano /etc/udev/rules.d/99-esp32.rules

add this line SUBSYSTEM=="tty", ATTRS{idVendor}=="303a", ATTRS{idProduct}=="1001", ATTRS{serial}=="B4:3A:45:AD:CA:90", SYMLINK+="ttyESP32_A"

Now device should be locked at port "/dev/ttyESP32_A"

Test Record

parec -d esp32.monitor --file-format=wav > test.wav