[PD] "espd" play soundfile

Miller Puckette mpuckette at cloud.ucsd.edu
Sat Nov 25 14:21:29 CET 2023


I did something really ugly and stupid... I set the output buffer to 20 
msec so

that Pd could do long-lasting control operations without interrupting audio.

Then I set a metronome to go off at exactly 2048-sample intervals, at 
each of

which I filled an array progressively from a file and started a tabplay~ 
object at

the same instant.  This works only with short files since the SD card 
filesystem

"seeks" by reading through the entire file every time - but you can 
still play long

sounds in principle by splitting them up into many short ones, each one 
an exact

multiple of 2048 samples long.

Here's my patch, enjoy :)

#N canvas 207 195 905 534 12;
#X obj 257 421 soundfiler;
#X obj 53 351 dac~ 1;
#X obj 47 165 r a;
#X obj 52 326 *~;
#X obj 232 13 loadbang;
#X obj 72 295 tabplay~ sample0;
#X msg 336 333 symbol /sdcard;
#X obj 232 38 t b b;
#X obj 532 82 r p;
#X obj 532 109 unpack 0 0 0;
#X msg 290 135 tempo 1 samp;
#X obj 306 211 + 1;
#X obj 277 211 f 0;
#X obj 266 237 moses;
#X msg 356 177 0;
#X obj 470 110 t b b f;
#X msg 160 127 50;
#X msg 391 135 1;
#X obj 258 307 +;
#X obj 266 262 t b f;
#X obj 257 368 pack 0 0 s;
#X obj 52 213 line~;
#X obj 52 238 *~;
#X obj 52 263 *~ 0.0001;
#X obj 554 366 s pd;
#X msg 495 256 0;
#X msg 554 342 dsp \$1;
#X msg 524 256 1;
#X msg 257 395 read -skip \$1 \$3/\$2-foo.wav sample0;
#X obj 277 177 metro 2048;
#X obj 424 27 array define sample0 2048;
#X obj 258 333 * 2048;
#X connect 2 0 21 0;
#X connect 3 0 1 0;
#X connect 4 0 7 0;
#X connect 5 0 3 1;
#X connect 6 0 20 2;
#X connect 7 1 16 0;
#X connect 7 1 10 0;
#X connect 7 1 6 0;
#X connect 7 1 29 0;
#X connect 8 0 9 0;
#X connect 9 0 15 0;
#X connect 9 1 18 1;
#X connect 9 2 13 1;
#X connect 10 0 29 0;
#X connect 11 0 12 1;
#X connect 12 0 11 0;
#X connect 12 0 13 0;
#X connect 13 0 19 0;
#X connect 13 1 25 0;
#X connect 14 0 12 1;
#X connect 15 0 17 0;
#X connect 15 0 27 0;
#X connect 15 1 14 0;
#X connect 15 2 20 1;
#X connect 16 0 21 0;
#X connect 17 0 29 0;
#X connect 18 0 31 0;
#X connect 19 0 5 0;
#X connect 19 1 18 0;
#X connect 20 0 28 0;
#X connect 21 0 22 0;
#X connect 21 0 22 1;
#X connect 22 0 23 0;
#X connect 23 0 3 0;
#X connect 25 0 26 0;
#X connect 26 0 24 0;
#X connect 27 0 26 0;
#X connect 28 0 0 0;
#X connect 29 0 12 0;
#X connect 31 0 20 0;


On 11/25/23 12:35, Yogi data wrote:
> Hello,
>
> after watching a video of a talk given by Mille Puckette at 
> "laboratoire STMS"
> about "espd" ,which is an adaptation of pd for esp32, I decided to 
> give it a try.
>
> I already have a set of 10 esp32 playing sounds from sdcard, using the
> "arduino-audio-tools library", I monitor esp32's states and trigger 
> samples from my
> computer using pure data, via wifi. But I would prefer to be able to 
> prototype using
> pd.
>
> The "espd" project compiled nicely, I can upload patches through wifi 
> to my esp32
> and all works just fine.
>
> But, I couldn't find a way of playing samples, like Miller used it to 
> make did in an
> art  installation so I guess it is possible.
>
> My question is : has anyone who has used espd a clue or an example 
> patch showing
> the usage ?
>
> ( I only tried using readsf~ )
>
> Cheers
>
> Yog
>
> _______________________________________________
> Pd-list at lists.iem.at mailing list
> UNSUBSCRIBE and account-management -> https://urldefense.com/v3/__https://lists.puredata.info/listinfo/pd-list__;!!Mih3wA!BPmV0g_uj1BPRMbBAeax8yxa87wyairOnJCHPgU4vEgAkMb3oPXQqJgx7XyC_mEScEAS7kNZQT3YIvO7$





More information about the Pd-list mailing list