please help :) simple question concerning oscillators
After having tried for hours I give up.. I’m just trying to make a very simple tone in Max Msp. Is there someone who can make a max oscillator sound like this:
(= simple triangular-ish tone at 440hz)
I’m not even getting close, it sounds different from tri, more like rect, but different…please help :)
Hi, if you open your file with an editor, it looks like it’s a triangle wave with the points rounded off (it has been shaped or filtered somehow). Try using a tri~ object with a lores~ lowpass filter after it. try changing the frequency of the filter till it sounds the same.
2000 to 3000 hz ??? With this kind of thing it helps to look at an oscilloscope or scope~ ;-)
thank you for your reply, helps a lot. Seems like I have to use a combination of a sine and a triangular wave to make it perfect.
Do you think this tone will also be possible to get using this simple idea:
it’s a lot more difficult, although you wouldn’t think so at first…
>Seems like I have to use a combination of a sine and a triangular wave to make it perfect.
that will give you a roundedness that your original file doesn’t have in it.
that last one looks like an oldschool analogue square, rect~ actually is a lot like that – play with the duty cycle, you’re looking for less than 0.4, I think.
thanks, but still impossible to get the correct sound perfectly..
what about loading the sample into [wave~]?
Thanks, wave~ is very useful for my oscillators that don’t have to many upper harmonics. The sharper timbres are however more problematic : )
HI Nate71 , why problematic ? you can map as many cycles of frequency (sampled notes) as you want and try to morph between them while you change your playing frequency . you know what i mean ? a two dimensional wavetable . or "jump" between these phase locked cycles . or something else is stopping you ?
u will never get this un-perfect sound of an analogue oscillator with quite aliased digital implementations . but band limited oscillators are our friends . i saw some Gen examples but never analyzed them .
…is this really possible with a 2 dimensional wavetable? could I load 88 sampled notes?
an artificial one . if u can live with two playing objects for your oscillator implementation then you could load your cycles into polybuffer and reference it depending on played note , crossfade beetween last played with current note ( sin / cos ) if you dream about portamento or legato with more natural transition between quality of samples without resampling , also useful for FM . BUT you need to take care of your cycles , how you cut them etc .
another way would be more difficult , to use 2d.wave~ where you would be forced to resample all of your sampled cycles to the same amount of samples(size in samps) , lets say 512 samples per cycle ,and phase lock it into one wave to scrub through them using 2d.wave~ object .
or just play requested sample note wave from polybuffer .
i would go for the first solution i guess , so i can easily transite between octaves . im actually interested how would it work
as for PWM stuff you would be forced to provide altered/distorted phase that runs your cycles (some strange calcs are required unfortunately ) . it may be clumsy for this sort of things but ive been trying to do it in the past with funny results . length and distortion of your phase (to run your cycles) need to compensate to its orginal duration to keep frequency untouched . not easy but doable . cool exercise , at some point gives you power to alter sampled cycles as normal oscillators .
I will have to read this a couple of times : )
im chaotic , im sorry . i can try to implement this first solution but tomorrow if u dont mind and if u are interested of course
yes!!! I’m interested ! this would be awesome..
all good then
thanks again man, looking forward to your patch!
does anyone know how to fix the last step in this patch? If this works I will have made an oscillator out of chromatic samples..
----------begin_max5_patcher---------- 2211.3oc6atzaiiiDG+bxmBBu6.zMPhgn3CIM.C1dwbZurm1aSunAsDsMmQO 7JJmzYFL8m8kOjbrSYI53Iwalf8PdQwhh5+uhEKVV42t9pYKZ9pTOC88neBc 0U+10WckqIaCW0+2WMqR707Rg10sY4MUUx5tY23uVm7qct1Slipd.sosYQor 56Q4kp7eQij2IaenSUIQBTs7dzhsKWJaQe3GPZQ0lR4GQJMJeciVVOG8OzHU GZSiVqLCBpqAk2Z9ikhB4ea39Uppk4Maqc2TReiaDc4qU0q9RqLuy+vvIj4Q 2fXT2OhIb6OnIyiP+6diTEt4cyhe9VLeX3WrJuoro0OFXqMtuE0+a6LdYScW snR5Fh+dqRTNLBKaWsv1p0DeK0aqT0kxNm9g2a.zpe0M.3386ay1tgNGYa72 u9Z62t4D4yxxFyfLLa7CV2Caj9GI6kEF3glsPTuZ1tmminfIQT6SMINaNyHj NIHNZDAjMa2.0ZjkNY6Wj0BCEcOFAEsyWhhOCIZLWX9bT2ZI5yy9ND9yyPlG LiXftWUVhpD+hzcwlVitIQlIwBYq41f9v8qU4qQBiecdm10mMkhGVHLt+ajx BTyRWid+cswgu1rV3dwClVEcnUkJsVTWzXVSX98B6cvrDnsSXmhM1kGCKH93 QWCvlXMPVryqOZ+0.IzQPH88yZfw.LyCX2Z.zchxsRq91YPptTzYXkQvE0FB 0IWYhR45wbz+ZsoSdfaCUYhUoMDrPYijYtKCwz9g8ZxC64et9y0Dl2CZogqx u5Z2bGUqr2fdKMc4CloTgYBbupas2cwvWmui.8iebNhvQe.ipTEp5lNIZsZ0 ZY6G8i7SGM9gilne1bjw9G+KG2mJcbeJBIw4Gjk57oXNOLLdLmp32+NUz4lH FK6ZpLgL14J4CDrrU9e1Jqyev5XYgWuaj9npdbvXwXblW7cKns6vcLQO68ul Sli1psAj2sx7VarXaFCqcwmOP8etpcetCT1IH1ou+E634nhlslMft0kTmeKt lxG7wa9lU00Ruj2G2YHKOovry3PXGUKxe0cY9UaC1ZtKx1ZSuL6Ad+QIEcbR wntbSvI6QJ9H4nPd+SJ7bed2l.RsRQwxlxBYqMrjkPk1jYzMlTwyW21TI5T4 lbMLcXGRzO2jr8xOIyKc9TDGKG63+eJ1P8K18nSb6khiXSoejW6TrcoG9Rkh s4rdlIMvA0tMoAaiJcSpV8gkwwNcp+.I3QTqcq1+ibnCxHJB9kSQz4BSpYQH rQVxnTyJfyTbX9Sqw7gBwjIUG7yTc3+ORc9tozCkM9TXIIteC7joTj3rmohD +ZqHuXAYFxlweJvoW1DOQgPhlyowrnziDp905P+jW+HRZ0puMpHatXsY9Nk5 RhS84JF41JjMo5xdqET5k1ICyb0XHcZY.O6OQ9MURsVrRBbbdLAqyKfsO2IJ 0Eih2ettQNE8asXSioIZYGZsrbyimN3V1bdx4IPthJrK7MllLoDk8mIM5uhO OII0G7lmLjn3DBB4slfLR.XyYYVXNtAzuAoPepuzVZzDB1MmzBsXrOlDMcpP S3nWSU6EbaqUsMM2I+FT0vnOU1zrYBAqeSsadVau0GQmLYZkIOSwi7ZKdxes Pj+sYAe7X9rlooCe+XOc617trI2pZOt2yQ8H9ieLyR0cx4qDp5cOA2IZ2Iqv qNAosesay7RkduDmsELqVVdvloSnT8kZw+YIPFwQX2Gkfdcy8Cy3nI1ze3F2 zpj0chNUS8nBL9nB7thD0J0CCw9SeWjS+28o.evbWKtSV7EQmIdyhscxG+Mc Oe5AjEAkakMKGZdn88erL4TsZbLcPWM5Sa2I12AvFcjqUYzG60tMYWMQdx0E NOM9QuppV0YViB4ww5kWOuEGOHdGzoslNo6dvOJT+0ct8C+3kI729ke7og.Q eRVsPVDXKiv0lwmeVefOJep.e7Wy75GBn3dp9h+oD3VB2GvME9mBsprTzVba TLa98h6FbrfFDCLfOsADfAISa.EXP5zFv.FjMsA7mZfYA+jFj.L.OsAo.Chm 1fLfAjoMvjBxSsfFvB.qIAXMF.aR.1gAzlD.dX.tIAnGFvaZ.7gA.mFfeX.w oA.HFfbZHBBXNM.AiALmFZ0Jf4z.KWiALmFf4w.lSCPvX.yYAHXLf4r.DLFv bV.BFCXNK.AiALmEhf.lyBPPBf4rPAbALmEffD.yYAV0R.LmEf4D.y4AHHAv bd.BR.LmGffD.y4AHHAvbdHBBXNO.Ao.lyCsmIf47.DjBXNO.Ao.lmDXUKEv 7j.LmBXdR.BRALOI.Ao.lmDffT.ySBQP.ySBPPFf4IgR6Av7j.DjAXdZ.Bx. LOM.AY.lmFXUKCv7z.LmAXdZ.Bx.LOM.AY.lmFhf.lmFffb.ySCk4Jf4YAHH Gv7r.DjCXdV.BxALOK.A4.lmEXUKGv7r.LmCXdV.BxALOKDAALOK.ASdJywQ gN7AFXQ.BlDCrH.ASH.KBPvDJvh.DLgArH.AS3.KBrpMIAXgm48kV3f533ew cmnHNtiRuqN1mYkIbu1YGqxbGdki9wVeJEfnuha3D2m9JaxJuhm7iTCedUmv zjpZa0YWvhWuhpcfBOQA0FueC7f7xTNL7QKFlp9Nk6M29QWsiVLLmwtW5pm7 ehgyqv19g9g5lss4CtSCuaPnGcLJj5NU8tpn9SO9JwrWmVqJJj06WX1Bk19. WLd8pO44C4DlO1OF3Kz7w91cDb9fYWt4C9TlOWN8AeRymHSmvuc3E4BpOQmh 9b4VegOk0W1OR7KDuNo4SxESdnmvrgEPbpTEaZLaU2GQl3+Gcfw1+ezgK+L9 xneImvrgd4b1OgYC+xE5l8lxUOleJ6z9FamsmDd+UMSjSZ9bttO9D2Da1bmr U2Oltoh4nB+r+kmz8lyZSk1+mtLIm0JsIF56uuChVS5+clb+215Sc8qobyYa L2me+5+qxSPuO -----------end_max5_patcher-----------