Hi all! :wave:

I had some time during vacations and I wanted to try running Miller's espd version. Here's a small tutorial.

The development board I bought: ESP32-LyraT > Mouser | Aliexpress
image.png

INSTALL ESP-IDF (IoT development framework)

mkdir ~/esp && cd ~/esp
git clone -b v4.4.2 --recursive https://github.com/espressif/esp-idf.git
cd esp-idf
./install.sh esp32

INSTALL ESP-ADF (audio development kit)

cd ~/esp && git clone --recursive https://github.com/espressif/esp-adf.git

SETUP ENV VAR

export ADF_PATH=~/esp/esp-adf && . ~/esp/esp-idf/export.sh

ESPD

download espd: http://msp.ucsd.edu/ideas/espd/

cd espd
git clone https://github.com/pure-data/pure-data.git pd
cd pd
git checkout 05bf346fa32510fd191fe77de24b3ea1c481f5ff
git apply ../patches/*.patch

Edit main/espd.h put your wifi credentials and the IP of the computer that will control espd:
#define CONFIG_ESP_WIFI_SSID "..."
#define CONFIG_ESP_WIFI_PASSWORD "..."
#define CONFIG_ESP_WIFI_SENDADDR "...."

mv sdkconfig.lyrat sdkconfig

idf.py build
idf.py -p /dev/ttyUSB0 flash (hold boot and then press reset on lyrat)
idf.py -p /dev/ttyUSB0 monitor (Ctrl+] to exit)

HOST

  • open pd installed on (SENDADDR)
  • open test-patch/host-patch.pd

If connected this message (ESPD: sendtcp: waiting for socket) will stop and you will see the mac address in the host patch.

1- click on [send pf begin-new poodle .<
2- click on [line 0, auto< to send the defined patch (esp-patch.pd)
3 - click [send pd end-new<
steps.png

4 - connect headphone, play with [send f 440< and [send f 660<

Custom patch:

  • Use mono [dac~ 1] only
  • Add this to your patch:
    loadbang.png
  • in host-patch.pd change [read your-patch< -> [text define patch] redo step 1 to 3
    custom.png

TODO

Would love to play more with the code, right now I am not able to load complex vanilla patch. Also using the AUX (or built-in microphone) would be awesome (but I'm wondering about the round-trip latency (would it be under 15ms)).