first hi all!
i am not sure that is the good way of post a message here, but someone could tell me if it is the wrong place.
I have a probleme i think everybody have encouter:
When i load a file into a table with soundfiller, in the best case, the sound jitter, in the worst, it turn the dsp off.
Is there a way to load a soundfile smoothly, with a kind of low priority subprocesss, to keep intact the main process that play sounds ???
thanks in advance.
hi
i've been using readsf~ to stream audio into arrays. this works well, but i still run across some problems occasionally resizing large arrays and then streaming into them. the best option is to have an array as large as your largest sample, but this is not always a known value...
also, readsf~ simply plays the audio. so if you're using it to fill an array with a 2 minute sample, you have to wait 2 minutes until the sample is completely loaded.
you could consider maybe readanysf~*? i haven't tried it myself, but i believe it's supposed to counter some of these problems?
also, there was a threaded soundfiler patch for .36 i think. how did that work?
eric
oh, and a good soundcard with good drivers helps. the higher the latency, the less dropouts. but this makes the interface less responsive and is not always acceptable for realtime/performance.
eric
Here is the abstraction I've been using. It uses [wavinfo] from ext13, which sometimes reports the wrong results under windows (anyone know why?). If you're on windows, let me know. I worked up a replacement object.
Using this, dropouts are rare on my machine, and only when the object has to resize an array to a very large size. This could be avoided by taking out the resize commands in the abstraction, and instead loading to giant arrays.
It takes two arguments, left array and right array. If you load a mono wave, it will detect silence on the right channel and copy the audio data from the left channel to the right. If you load a stereo wave with some silence in the right channel, it'll do the same thing, causing weirdness. Just so you know...
Not a perfect solution, but better than clicks and dropouts :)
Eric
#N canvas 0 0 534 466 12; #X obj 89 56 openpanel; #X obj 89 35 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 107 181 delay 5; #X msg 107 203 1; #X obj 89 105 symbol; #X msg 89 156 open $1; #X obj 89 129 t s b s; #X obj 89 240 readsf~ 2; #X msg 242 322 ; $1 resize $2; #X obj 242 299 pack s 0; #X obj 242 240 t b f; #X msg 332 322 ; $1 resize $2; #X obj 332 299 pack s 0; #X obj 332 240 t b f; #X obj 242 208 f; #X floatatom 256 180 5 0 0 0 - - -; #X obj 56 275 b; #X msg 138 269 stop; #X obj 113 309 -~; #X obj 124 337 *~; #X obj 191 281 - 1; #X obj 112 361 +~; #X obj 153 56 inlet; #X obj 112 387 tabwrite~ $2; #X obj 90 411 tabwrite~ $1; #X obj 242 272 symbol $1; #X obj 332 272 symbol $2; #X text 267 22 to determine mono or stereo ,; #X text 267 37 this patch uses an unintelligent gate; #X text 267 62 basically , silence on the right means; #X text 267 77 copy audio from the left to the right.; #X text 268 104 this might cause weirdness , just; #X text 267 118 thought i'd warn you ...; #X obj 242 155 wavinfo; #X text 342 167 eskogen // audionerd.com; #X connect 0 0 4 0; #X connect 1 0 0 0; #X connect 2 0 3 0; #X connect 3 0 7 0; #X connect 3 0 16 0; #X connect 4 0 6 0; #X connect 5 0 7 0; #X connect 6 0 5 0; #X connect 6 1 2 0; #X connect 6 2 33 0; #X connect 7 0 18 1; #X connect 7 0 21 0; #X connect 7 0 24 0; #X connect 7 1 18 0; #X connect 7 2 17 0; #X connect 9 0 8 0; #X connect 10 0 25 0; #X connect 10 1 9 1; #X connect 12 0 11 0; #X connect 13 0 26 0; #X connect 13 1 12 1; #X connect 14 0 10 0; #X connect 14 0 13 0; #X connect 15 0 20 0; #X connect 16 0 23 0; #X connect 16 0 24 0; #X connect 17 0 23 0; #X connect 17 0 24 0; #X connect 18 0 19 0; #X connect 19 0 21 1; #X connect 20 0 19 1; #X connect 21 0 23 0; #X connect 22 0 4 0; #X connect 25 0 9 0; #X connect 26 0 12 0; #X connect 33 0 14 0; #X connect 33 1 15 0;
#N canvas 70 269 268 291 12; #X obj 27 67 loadwav~ l r; #X obj 27 45 openpanel; #X obj 27 24 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 204 17 table l; #X obj 204 37 table r; #X obj 102 160 tabplay~ l; #X obj 127 180 tabplay~ r; #X obj 101 218 dac~; #X obj 102 139 t b b; #X obj 102 111 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X text 48 264 loadwav~ : eskogen // audionerd.com; #X text 129 114 play; #X text 46 24 load; #X text 106 68 <-- look inside; #X connect 1 0 0 0; #X connect 2 0 1 0; #X connect 5 0 7 0; #X connect 6 0 7 1; #X connect 8 0 5 0; #X connect 8 1 6 0; #X connect 9 0 8 0;
Hi Eric, Dieb and the list,
Eric Skogen wrote:
Here is the abstraction I've been using. It uses [wavinfo] from ext13,
I am having some big troubles compiling anything from ext13 on Gentoo. I set PREFIX=/usr/local/lib
and issue a './configure', then 'make' or 'make ext13', and here's what I get:
root 19:03:33> make gcc -c -o openpatch.o -g -O2 -DUNIX -DLINUX -DHAVE_LIBC=1 -DHAVE_LIBM=1 -DHAVE_L IBPTHREAD=1 -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_UNISTD_ H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_UNISTD_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_SELECT=1 -DHAVE_SOCKET=1 -DHAVE_STRERROR=1 -DPD_VERSION_MINOR=32 -I./inc lude -DVERSION="0.17" -DPD openpatch.c openpatch.c:5:21: s_stuff.h: No such file or directory make: *** [openpatch.o] Error 1 root 19:03:34> make ext13 gcc -c -o openpatch.o -g -O2 -DUNIX -DLINUX -DHAVE_LIBC=1 -DHAVE_LIBM=1 -DHAVE_L IBPTHREAD=1 -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_UNISTD_ H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_UNISTD_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_SELECT=1 -DHAVE_SOCKET=1 -DHAVE_STRERROR=1 -DPD_VERSION_MINOR=32 -I./inc lude -DVERSION="0.17" -DPD openpatch.c openpatch.c:5:21: s_stuff.h: No such file or directory make: *** [openpatch.o] Error 1
TIA for any suggestions! D.
derek,
it's looking for s_stuff.h from the pd/src directory
one thing you could do is copy s_stuff.h into /usr/local/include along witht the other pd file there such as m_pd.h
or you could copy s_stuff.h to the working directy where you are trying to compile.
best- gusto negro.
On Thu, 4 Mar 2004, derek holzer wrote: