-
EEight
@whale-av Should we change the anti-spam question or it is a lost cause?
"To send the sound to your sound card in pd, what object do you use (write it without the ~ and bracket)" -
EEight
It only took years, but I finally added storage on the server... so hopefully no more 502 Bad Gateway.
Cheers~ -
EEight
Hi all!
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
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<
4 - connect headphone, play with [send f 440< and [send f 660<
Custom patch:
- Use mono [dac~ 1] only
- Add this to your patch:
- in host-patch.pd change [read your-patch< -> [text define patch] redo step 1 to 3
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)).
-
-
-
EEight
@lo94 Hi, I am using PD with an old Surface Pro 3 on linux. You can also use an external HDMI + usb touchscreen monitor.
PD is not really touchscreen friendly, what you are asking (toggling multiple notes (sequencer) with a single swipe) isn't possible without some hacking.
All the best
-
EEight
Patches from akunull:
Website:
https://www.akunull.com/piloslib/Github:
https://github.com/akunull/piloslibDocumentation:
-
EEight
@timothyschoen said:
Thanks! You can set up your own keyboard shortcuts in the settings menu, that might help!
Will do!
Unfortunately there's no way to sync to DAW tempo currently, but I'm planning to add that very soon, as it's obviously needed.
Presets are also broken on the releases, it should be fixed if you build from the latest source.
In a perfect universe, loading the plugin would load also the last patch used. So that you can save your session in your DAW and when reopening you have PlugData ready to go.
Use [adc~] and [dac~] for audio input/output. You can use things like [dac~ 3] to output on channel 3 if you need to use more channels.
Of course! Make sense!
Automation is received with [receive param1], where 1 is to be replaced with the parameter number.
Thanks!
-
EEight
Nice work! Here's some questions. When you have time, no rush.
The first thing I did was to use it inside Bitwig on Ubuntu 20.04. Both Standalone and VST are working. I tried to Ctrl+1 to create object, but it's "n" for new, ok no problem - but my brain refuse to switch
Tested midi in (the "led" is flashing), neat! Here's one question, how to sync to a DAW (start / stop / BPM)?
I tested the FX~ VST with a very simple patch:
[inlet~]
|
[outlet~]
Doesn't work (no input sound)All the best!
-
EEight
@jameslo Thank you so much!! I will test your solution soon. Overkill? I don't think so, well implemented (and vanilla) for the win. Cheers~
-
EEight
Really basic implementation, just as a POC. I will test soon.
@jameslo In my mind, adc~ 1 is the master metronome (for example, an old drum machine that you cannot offset the clock). adc~ 2 is another metronome but this one you can offset the clock (ie: ableton link~, midi clock with offset).
So if adc~ 2 metronome click is before adc~ 1, I will get a huge offset in ms (ie 455), but if adc~ 2 click is just after adc~ 1 click (by ear), then I will know but how much I need to adjust the offset (ie: 20ms). That's the theory.
I need to have a look at jacktrip / quacktrip, but without fiber, the latency is simply too high ~50ms. I know that some people said that with 5G it would be possible, well... time will tell. For now, I am using ninjam (not realtime, offset).
-
EEight
Hi PD community!
I have this "simple" idea (in quote yes) that it would be "easy" (in quote also) to compare 2 metronome audio signal (similar but not identical) in pd: 1 source ADC1 and another metronome on ADC2. I need to get the latency between the 2, or the syncness (if this term exist in english) between source 1 and source 2. So maybe they are 20ms apart (+ or - would be fantastic but would be happy with just + for now).
It's not for testing my soundcard round-trip latency (for that I am using the excellent patch from Katja). I want to jam with someone and we are using ableton link pd external - we can manage the offset by ear, but would like to have the exact MS.
Found this python library, but it works with a specific sound signal, I have in mind a more relax metronome signal (ie coming from a midi drum machine (snare, hihat x3)).
I have a feeling that a patch like that is already coded...
Thanks!