Pd + arduinome +\[ pduino \]
hi there
we made a4*4 arduinome (just like monome) recently , and to the arduino firmware, we let it send signals when we press any pad.
here's our arduinome pic:
http://picasaweb.google.com/lh/view?q=arduinome&psc=G&filter=1#5356250085481394178
http://picasaweb.google.com/lh/view?q=arduinome&psc=G&filter=1#5356250079543724418
but you know, only we send pduino firmware to arduino, pduino can recieve the right messages like : "analog 0 0.222" "digital 12 1" ...
and the 1st time I connect pduino , I just seen what was happened when I just connect pduino with no pduino firmware but just my arduinome fireware.
of caurse error messages but occasionally right .
here's the pd consle pic :
http://picasaweb.google.com/malianglight/Arduinome#5356250267147449202
and now I m thinking that : we are trying to send serial signals to pd, so why we could not give up pduino object , just using serial connection object in pd ?
I dont know how can we setup a serial connection in pd , I just find serial object but it just had one inlet , How could we go next step ?
Rubics cube 2\*2
! -1
... couldn't create
iem_image 0 0 0 empty empty
... couldn't create
gems.win @dimen 1024 768 @border 0 @offset 1440 -50 @fps 30
... couldn't create
gems.win.feedback
... couldn't create
ch_gemwin
... couldn't create
iem_image 0 0 0 empty empty
... couldn't create
gems.win @dimen 1024 768 @border 0 @offset 1680 -50 @fps 30
... couldn't create
gems.win @dimen 800 800 @border 0 @offset 0 -50 @fps 30
... couldn't create
gems.win @dimen 1440 900 @offset 1440 -50 @border 0 @fps 60
... couldn't create
error: inlet: expected '' but got 'float'
... you might be able to track this down from the Find menu.
error: inlet: expected '' but got 'float'
error: inlet: expected '' but got 'float'
error: inlet: expected '' but got 'float'
error: inlet: expected '' but got 'float'
error: inlet: expected '' but got 'float'
Message 'click'
Hello,
I want to use message 'click' in a patch, but pd sends me this error message:
"Bad arguments for message 'click' to object 'canvas'"
If somebody knows the good arguments...
Perhaps, this message is obsolete in recent version?
Thanks,
kaos.
Some days later..
After having traversed the sources (g_canvas.c) the problem
comes from the number of arguments given in the example of
Damien Henry (in pd-msg_05).
There are 5 arguments, not 4:
click [float] [float] [float] [float] [float]
However, the message 'cut' does not seem to act, after 'click'.
Strange, since 'duplicate' functions..!?
kaos.
Ambisonics? and Matrix?
Sorry for the missing explanation ...
Ambisonic is a spatial sound reproduction technology which have been introduced in the 70s by the mathematician Gerzon. With Ambi the loudspeaker layout may be anything from few to many loudspeaker and it is intended to reproduce the direction of arrival.
You first encode your target sound field .... its like Fourier Transforms but in space! You can do it with a virtually defined sound field in your computer or you can encode real sound field using a set of microphones (omni + figure-8) correctly placed in space. Once you got the transformed version of your desired sound field ... you decode it using your loudspeaker layout. Decoding is matching your encoded sound field with your sound reproduction system.
For basic encoding/deconding ambisonic (there is some more advanced encoding/deconding rules) you compute everything with matrix. Thats quite faster and more efficient than computing every elements individually.
My ambisonic patch (which is not finished) use such matrix computation although is not really pure-data clean (with some sort of very fast "for" loop made with metro objects!) ...
Anyway I still have some doubts on my equations ...
For this reason, I would like to compare my patch with some other ambisonic work for PD. There is a complete paper on Ambisonic with CSound in Computer Music Journal, winter 2001 ...
Bye!
Tabread object troubles
the 2^23 limit , from my part , ive always heard about 32 bit internal resolution , hence 2^31
A floating point number is a binary way of writing numbers like -1.462e24 or 6.444e-10 . Out of the 32 bits, 1 bit is the sign of the number, and 8 bits are for the number after the "e". That leaves 23 bits for the actual digits of the number. You only get a certain number of significant digits of precision, which means the absolute difference between adjacent floats increases as you increase the size of the float.
Say you had three decimal digits of precision. Then you could represent 1.00 - 9.99 in step 0.01. 10.0 - 99.9 in 0.1's, 100 - 999 in 1's, but after that the difference between successive numbers that you can represent is 10, so you have 1000, 1010, 1020, ... , 9980, 9990, 10000, then 100's: 10100, 10200 and the gap increases to 1000 at the next power of 10. Going the other way with smaller numbers, the absolute gap between floats gets smaller, but the relative (percentage) gap between floats stays roughly the same over the whole range of floats.
If Pd had a 32bit integer type, it could represent time up to 27 hours, if it had a double (64 bit) float type it could go even further, and if it had a 64bit integer type it could go further still. And really you want an integer type for time, because of the discrete time of sampling - then when it overflows you get an obvious error, rather than these non-failing distortions you get with float quantisation (quantisation = loss of significant digits of precision).
I think Gridflow has more types than Pd, that could be worth looking into.