Problem with Array size
Thank you guys for the answers. I've checked in the Help of tabosc4~ and in fact the three extra points in the size field of the array properties are perfectly normal.
Problem with Array size
it has to do with the sinesum message, the array automatically creates an array for cyclic 4-point interpolation (e.g. tabosc4~), in which you need extra points, and they need to have the same value at the beginning and end. see the tabosc4~ help file for an explanation
Antialiasing
Hello!
I have a question about antialiasing.
When i generate a rich harmonic sound using [tabosc4~] on high frequencies, i have aliasing noise: each overtone over sr/2 is flipped down and sounds unharmonic.
I've read about it here: https://ccrma.stanford.edu/~jos/mdft/Alias_Operator.html
and maybe not completly inderstand 
So, as i can imagine, to avoid aliasing i need many tables for same wave, but with lower resolution for high frequencies. Or i need one hires table, and pregenerate new one for each new note, depending to frequency. Both ways looks to comlex.
Maybe there's an easier and faster way to do it?
Tabread~ question
That should only be a problem with [tabosc4~], not [tabread~] or [tabread4~]. If you use the [sinesum( or [cosinesum( messages to generate your waveforms and give the length as a power-of-two, it will automatically generate the 3 guard points for you. If you're using a sample that is not a power-of-two in length, then you'll probably be better off using a [phasor~] driven [tabread~].
[phasor~]
|
- <-- length of sample
|
[tabread4~ myArray]
Beginner's question
Take a look at the attached file, this is how I think it should look like... Maybe it's more elegant way to use separate arrays for [tabosc4~] and MIDI sequence. In that case you should be able to change the melody and wave shape independently.
hope that helps.
sinewave
Tabosc4~ question
Hello!
I've just finished a simple abstraction which should serve as a generator of simple wave forms. But, I cannot get [tabosc4~] to read from the table. I know about the "power of two plus three" rule, but problem must be hiding somewhere else. Every time I bang the execution of waveform generation, I got message "pd-float: rounnding to 2048 points" in Pd's terminal window, so I suspect the problem lies somewhere around that issue.
I have a backup solution for this, using a [phasor~] as a table oscillator, but I'm still curious what I am doing wrong with [tabosc4~]. Please, take look at the attached patch and help me solve the problem. Thank you!
sinewave.
Tabosc4~ help
@Maelstorm said:
Another option is to run [tabread~] through [lop~]. The lower the cutoff the smoother it will be. I don't think it will give you any overshoots like [tabosc4~] does.
Thanks, this also worked well too.
Tabosc4~ help
Another option is to run [tabread~] through [lop~]. The lower the cutoff the smoother it will be. I don't think it will give you any overshoots like [tabosc4~] does.
Tabosc4~ help
@Maelstorm said:
Really? Four hours? Ugh...
Sorry dude, was having a pretty rubbish day.
@Maelstorm said:
The 4-point interpolation is what smoothes out the square wave. If you don't want that, use this:
[phasor~]
|
[*~ 8] <- however big your array is
|
[tabread]
This worked a treat but I now realise that I need some kind of smoothing. Still, though, using [tabosc4~] produces values of less than -1 and more than 1. Maybe that is just something I need to live with. Hmmm...
Tabosc4~ help
hey all. i'm using a monome/arduinome to write 8 values between 1 and -1 in an array and then using [tabosc4~] as a wavetable synth and then using [snapshot~] to take values and use them as control data.
it works okay but i seem to be getting "bumps" in my waveform. some values slightly less than -1 and slightly more than 1. it may be because i've misunderstood the wraparound/interpolation but would appreciate if someone could give some guidance as how to achieve "cleaner" waveforms.
i've removed the most of the monome parts for the patch. it should work fine with a bit of tinkering. cheers!

