How accurate are the oscillators that comes with MAX/MSP?
I want to know if oscillators in max have any known problems. How accurate is the cosine produced by cycle~ for example? How about triangles, pulses?
Syntheads, do you use the built-in oscillators in msp or use another approach for basic waveform generation?
Oh was it a silly question? I searched through but could not find something relevant.
Let me put it this way:
Say, I want to use a sine LFO. I would use cycle~ but that uses 512 points to define a sine wave, so my 1hz sine would not be that good.
What is the best way to go for this kind of accuracy?
use a wave object instead, write your waveform to a buffer… don’t worry to much about the number of samples in the buffer,- the wave object will interpolate between the samples, making a smooth curve…. ofcorse u will get a bit more precise curve by making the waveform from eg. 2048 samples, compared to 512 ,- not something audible in most cases…
Thanks for your help. I was considering such a solution but was not sure if that was the best way to go.
Then I think, using a sawtooth wavetable with say 2048 points and generating other waveforms with objects like cos~ and such would be more accurate I guess.
If you are making sounds to be heard by humans, as opposed to doing
technical research, the wavetable approximation will be good enough,
especially in your LFO example. If you are making sounds to be
heard by humans, you can listen, trust your own ears about what is
good, and not worry about quantitative measurements.
You can send the cycle~ to spectrogram and see how loud the
distortion harmonics are. Other sources of distortion in your
listening environment will likely be much louder.
If you want a really pure sine to compare with, you might think that
phasor~ ->cos~ would give you one, but it’s actually much worse than
cycle~ at higher frequencies. (The reason is left as an exercise for
the reader.) lores~ on the other hand does a good job. Try [sig~
1.] -> [lores~ (freq) 1.] -> [biquad 1. -1. 0. -0.999 0.].
On Oct 14, 2006, at 2:02 PM, Batuhan wrote:
> Oh was it a silly question? I searched through but could not find
> something relevant.
> Let me put it this way:
> Say, I want to use a sine LFO. I would use cycle~ but that uses 512
> points to define a sine wave, so my 1hz sine would not be that good.
> What is the best way to go for this kind of accuracy?
Randall Jones, thank you very much for your help.
You are right, it is the ear that matters and that is just the reason i’m digging this subject. Because I feel that max/msp really has a characteristic sound to it, even in the simplest fm synthesis(without filters) application. So I thought that that would be because the low resolution signal generators I’m using.
I tried sending waveforms to spectrogram, a spectrum analyser, and recorded the sound in digital domain and checked them out in a wave editor.
Well, they "look" fine. But they don’t sound as well. To my ears. I’m starting to think that this is some psychologic issue of mine. That can be the result of my errors on implementing things, but unfiltered, modulated and LFO’ed chains sound different in -say- NI Reaktor and Max/MSP. And I’m trying to chase the problem. Oscillators were the first thing I suspected.
I can’t figure out why MSP sounds weird in simple applications.
But as I said, it’s just me, perhaps.
> Last thing, Batuhan, when you say Max doesn’t sound as good as other
> softwares, do you compare pure sinus? Or could that be the same
> kind of
> difference as between a pure triangle wave and tri~? Most software
> use internally "better" algorithms, like tri~, and not
> "mathematically pure"
And if I can add to this, MSP is the only software that passes the
test of the mastering engineer I work with… he is running at 24bit/
96kHz additive synthesis patches, and they outblown anything else.
In a conference he gave, he compared it with (if my memory is good) a
Roland (crap) and Absynth (harmonic distortion), and he talked about
presets and how they sould sound good out of the box, therefor there
is often harmonic exciters and all that stuff in it.
It is an ongoing debate. If you are interested, you should go on CEC-
conference list archive and look for mastering in electroacoustic.
You have purists and pragmatists discussion the pros and cons of
mastering and its importance on sound quality. Some of the best ears
around give their opinion…
Thank you very much for the replies!
I did some more in depth – yet simple tests, compared this and that and actually found out that, it was really me lacking on implementing simplest things, as I’m used to doing them on higher levels with other software.
There are more things to control to achieve better sounding structures, it’s harder but yet gives more control and that was my initial motivation for switching to max/msp platform.
The curve is not that steep but it still exists. So another simple question:
How can I avoid the folding back effects of harmonics exceeding the nyquist rate? Say you have a tri~, as the frequency rises, when the harmonics exceed 22.050hz, they are folded back. The same happens in fast sample playback.
My lame attempt of using a lowpass filter before dac~ did not help. I think it has a practical solution as the oscillators are not band-limited.
> How can I avoid the folding back effects of harmonics exceeding the nyquist rate? Say you have a tri~, as the frequency rises, when the harmonics exceed 22.050hz, they are folded back. The same happens in fast sample playback.
Are you sure about this with tri~? It does claim to be an "antialiased triangle oscillator" in the help patch. I hear the foldover (aka aliasing) in the "ideal triangle" in the help patch, but not in tri~.