Pitch recognition in puredata through microphone
Hi. I'm in a project where I have a guitar, connected to a microphone. I have this microphone and I want it to input signals from my guitar into pure data, triggering a sound (I have a bonk example, which creates this), but I'd like to implement my own wav-files, triggered depending on the pitch/note of my guitar. So, how do I do this? Please explain from baby level because I just started using this program. I used MAX MSP before.
I would like to know how to make puredata output wav-files (and also from Reaktor if its possible), depending on what sound my guitar inputs in my microphone, so thaaaanks for the help!!!!!!!
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.