getting started with webPd
Hi all. I'm having trouble testing Pd patches via webPd as instructed in this step-by-step guide .
I've made a patch (using only the available objects) that includes a synth and a "dsp 1" message so that when the patch is loaded a middle C should start sounding. I included this patch in a folder with webPd.js and jquery.js libraries, and followed the example for the index.html file. To mock same origin policy, I used python through the terminal to enable a web server using the "python -m SimpleHTTPServer" command line, and got the following on the terminal:
Serving HTTP on 0.0.0.0 port 8000 ...
Which seems fine, however, whenever I access the link http://localhost:8000/index.html, I got no sound at all despite the fact everything seems ok in the terminal:
188.8.131.52.in-addr.arpa - - [16/Dec/2016 14:39:07] "GET /index.html HTTP/1.1" 200 -
184.108.40.206.in-addr.arpa - - [16/Dec/2016 14:39:08] "GET /js/jquery.js HTTP/1.1" 200 -
220.127.116.11.in-addr.arpa - - [16/Dec/2016 14:39:08] "GET /js/webpd-latest.min.js HTTP/1.1" 200 -
18.104.22.168.in-addr.arpa - - [16/Dec/2016 14:39:08] "GET /patches/myPatch.pd HTTP/1.1" 200 -
I tried as well running things locally in Firefox by changing the "security.fileuri.strict_origin_policy" to false. I'm using Firefix 48.0.2.
I wonder if I'm missing something very obvious but I've checked the index.html and it includes the Pd.start(), and so the patch should start sounding when the url is loaded (shouldn't it?). Also, I think the problem lives in the way I'm avoiding the same origin policy since b2renger webPd examples (which run online) also won't run locally on my machine.
Any hints on what I'm doing wrong? Here's my patch myProject.zip
trying to compile iem_dp on Mac - makefile errors
the unsupported architecture probably points to trying to compile for ppc if I had to guess.
You also need to point to the correct location of pd. Try taking out all -arch ppc and -ftree-vectorizer-verbose=2 from the makefile & run
make PD_PATH=/Applications/Pd-0.47-1/Contents/Resources PD_INCLUDE=/Applications/Pd-0.47-1.app/Contents/Resources/include
as for learning this stuff, unfortunately I have no concrete advice besides learning common compiler args, the make program and the gnu build tools in general. I also usually do a lot of googling of errors & such (modern luxuries)
Processing.js and purr-data (beta4)
I recently read this tutorial about Processing.js : http://ericmedine.com/processing-for-ios/
and thought maybe it's possible to run processing.js inside purr-data. As a quick test I just copied Processing.js and the corresponding test.html file to /usr/lib/pd-l2ork/bin (purr-data beta4). Then i renamed dialog_iemgui.html to dialog_iemgui_disabled.html and renamed my test.html file (the processing.js-sketch) to dialog_iemgui.html.
Then... I launched purr-data created a new Patch, created a v-slider and opend the properties from the right click menu. And as you can see in the attached image, the processing sketch is displayed!
I think it would be cool if we could have an external wich is able to load Processing.Js sketches and somehow talk to Pd. I think we would need some kind of interface to send variables to Pd.
I wasn't able to load a Processing.js sketch directly to the patching-canvas. If someone could give me some hints how to do that and get some variables out of the Processing sketch to talk to pd, I'd be very glad.
Beginner! Implementing filters
hi, some might say you should try to do it yourself. there is an example in the pd documentation in audio examples/G02 for a recirculating delay. however, all pass filters are trickier so here is an allpass abstraction i've modified from my library to be vanilla-compatible, You cannot modulate the delay time. it's taken from this set up: https://ccrma.stanford.edu/~jos/pasp/Allpass_Two_Combs.html#fig:fbffcf
this might be useful too:
you may also want to check out the example G08 in the pd help files, as well as rev1~, rev2~ and rev3~ in the extra folder
I've included a recirculating comb filter abstraction as well that works the same way for convenience..
GPIO RASPBERRY P3 AND PURE DATA
@sylvain Hello Sylvain.....
I have to admit to being unsure.....
Wiring Pi allows you to address the pins, and there is a webIOpi web interface that allows remote control of the pins (switching them from out to in) and a serial control page that (presumably) can communicate with the uart......... but........ I am not sure that it has ben updated for the pi3.
You can find an external for Pd that claims to talk to the pins from Pd here.......
and there is a (very) short conversation on the pdlist about this........
https://lists.puredata.info/pipermail/pd-list/2013-04/102172.html which suggests that wiringPi is necessary.
Millers coding of Pure Data for the Pi (which contains an object for talking to the gpio pins) can be found here......
and there is some very useful discussion that points to that here.............
The post suggests that Pd-L2Ork could be a more useful version of Pd for you.......
My Pi is working well with dmx lighting control through a usb interface in Pd (using comport) and I control the GPIO pins through an Android remote app for my home entertainment........
But for PD to gpio I am unfortunately a noob......
@Jojo-Lapin It has ABSOLUTELY nothing to do with Pure Data...... and quite a lot to do with everything else..... especially x11, win32, the real world.......... etc. Everyone seems to be forgetting that they run Pure Data on (many different) pieces of hardware under (many different) operating systems and display colors on (many different) monitors and under (many different) browsers..........
I doubt that a human could tell the difference anyway (maybe except for shades of green)......
Time Stretching Patches - any recommendations?
Seed, thanks for your reply. I apologize for not acknowleding it sooner, but I've been sick lately.
The small paul has a metallic/reverby sound with rhythmically regular spectrum shifts.
The DIY2 pack includes [smp-timestretch1] and [smp-timestretch2] which seem to be almost identical. They produce an immediately audible rhythmic repetition effect, that is, of a part of the file being looped.
Mr. Brent's [streamStretch] has a sound that is stabler than the others and whose fluctuations are less regular. In nonetheless retains a distinct trashiness (metallic, static-like) when compared to the original sample. Also, it does eventually stop if you set the speed range to "1 1" ("0 0" doesn't seem to do anything), so it's not an infinite stretch.
Any other suggestions are welcome. Again, I merely want to extend the content of a sample like this without a) creating a clear looping rhythm losing the sound quality of the sample. This seems to be quite difficult though.
Additive synthesis and complex sine waves using a midi pitch
could you be more specific? for instance when you say complex do you mean that you need the real and imaginary part of the sinusoids?
as far as I know no one's programmed an external for an arbitrary amount of partials, check out http://msp.ucsd.edu/techniques/v0.11/book-html/node71.html and the example in the help he refers to. I think you need to decide in advance how many partials to have.
Basically: multiply the fundamental by the harmonic, then put that into
[osc~], then get that sinusoid to the correct volume with
understanding frequency calculation inside Pitch shifting
@mx This could take a long time to type out the explanation for all this. I'd be glad to help you. but here's some stuff you might want to look at first. Your patch is essentially just G09.pitchshift from the pd tutorials. Check out that file for some documentation. Also, here's what Miller has to say:
and more specifcically:
After reading, let me know if there's anything you would like help with understanding
lop~ object argument??
how did you measure it exactly?
seems like a normalized filter that has a single pole that goes from 1 to 0 on the real axis as the cutoff frequency goes from 0 to 1 radians(so it is definitely an approximation). Every frequency higher than that cutoff is clipped, and the frequencies in that range will have a warped cutoff (half-power) frequency (& frequency response).
from miller's book: http://msp.ucsd.edu/techniques/v0.11/book-html/node140.html
just for fun let's see what the frequency response should be where you measured it:
at 44100 sample rate, a cutoff frequency of 400 would be translated into:
4002pi/44100 = .05699
1 - .05699 = .94301 is the pole
so the transfer function will be:
.05699/(1 - .94301(z^-1))
the radian value of 1000 @ samplerate of 44100 is (1000/44100) * 2pi = .142476 radians
the cartesian co-ordinates in the complex plane of .94301(z^-1):
real part: cos(.142476).94301 = .933455
imaginary part: -sin(.142476).94301 = -.133902
then the distance formula:
sqrt((1 - .933455)^2 + (0 + .133902)^2) = .14952585
so the gain will be: .05699/.14952585 = .38113811
which is the peak amplitude after the lop~ when i measured .. actually quite a bit of attenuation