Greetings,
Anyone done something like this?
[metro 10] [ADC~ 1] ; a microphone
| |
[ tabwrite~ adc1 ] ; microphone is sampled every 10 ms (~441 samples)
The table adc1 is then read by a tabread4~ which is looked up by a [phasor~]-[abs~]-[*~ 441] (forward and reverse, I'll explain)
The frequency is controlled by MIDI keyboard.
Awwww, now you see, it is a midi-controlled "synthesizer" using the sample of your voice for the waveform. Very simple program, please experiment if you haven't to discover the issues.
I have my code sloppily "double buffered" (two alternating tables) in a hopeless attempt to reduce distortion.
My hopes and queries:
-
eliminate distortion
-
set the start point of the table lookup to correspond to signal=0 and look up exactly one period of the waveform (crosses 0 again, resets at next 0.) This way the [abs~] would be unnecessary as it is a means of "smoothing the edges." It would also calibrate the pitch. The logic sounds simple enough but I was getting nowhere with the unsig~ "re"sig~ voodoo that I attempted. Any suggestions?
I am thinking that I would be better off sampling 64 samples at a time (1.514 ms or something.) Or more likely 256 or 512 for a full period. Forget about the waveform logic mentioned in number 2), the patch sounds badass as it is and that's all that matters.
Does anyone think that I could use tabosc~ or some exotic table object that may suit my purposes better? Being able to change tables would be nice, for starters.
Please try it out, it will only take 5 minutes to get it making noise, and it is an awesome patch if we get it working properly - much better than a vocoder - and if you don't believe me, try it. Just A E I O U to your heart's content.
I've been meaning to post for months, so a belated thank you to all whose work has frustrated me to the point I'm at now, and a thank you in advance for your help. I've been working on an all in one Techno patch that is very CPU cheap - I will get around to uploading it soon. If anyone out there has a MIDI controlled analog synth you will enjoy my ACID patch - if anyone out there likes break beats, you will enjoy my break looper, randomizer, pitcher, and keyboard controlled stustutter.
*If anyone isn't using a 96tic/bar master clock take that as my first contribution.
This most recent effort is an attempt at something more melodic, though I am dismayed by my 100ms latency on G4 1.33...Debian will be my savior I hope.
Happy projramming