How to Convert Multiple Waveforms in to one on a Kslider?
Down below I’ve posted an outline of the patch I have created (just to keep it simple because the real thing is really messy). I have explained what exactly is the problem with which I am struggling and I would be very greatful if someone can help me.
Edit*: I’m sorry i can not provide the actual patch because It doesn’t let me to copy and compress it (probably because im using external libraries for it’s creations). Instead i have made a picture of it , i hope that helps. In the patch I have used certain objects which are from the excellent book "Electronic & Sound Design" and all credit goes to the creator of it.
Sadly, I couldn’t find a fix to my problem in the tutorials of max or the book (most probably because there is so much information I just couldn’t find what I was looking for..but I’m sure it’s somewhere there.)
As you can see, I have a generator that is a "complex" waveform created by drawing sinewaves and it’s partials. After that I have created a number box to control the frequency of the wave which is connected to a phasor~ which it’s self is connected to a wave~ object which is basically the "complex" wave i have generated earlier and then that is sent to the dac~ object via gain. I have done this twice so I can then manipulate the two complex waveforms with a different envelope (maybe separate there frequencies as well and so on and so on.)
Everything is fine for this part but what i want to do is to take this a step further. After I put something (lets say the envelope) to control the amplitude of the first wave form and i put a sum object to the frequency of the second waveform …let’s say to double it up for designing a more complex sound. That way i get two sounds which are quite distinct from one and other but are playing as a whole (that is if i do not manipulate one of them in a way that actually starts playing one of them with a slight offset in time which i will not do for now), anyway… with the help of the envelope the sound will actually be ‘moving’ and adjustable and it won’t be just a static waveform sustaining on and on and on.
Ok that’s easy but the actual thing is after that I want to take that sum of the two waveforms which was manipulated and have the option to load it and play it by my midi keyboard via a kslider ( or just visually by interacting with the object).
What I’m asking for is a way to get the manipulated signal and somehow "sample" it live so it is then layered let’s say on a kslider object or some sort of sequencer. At the same time I am going to keep a sustained waveform via a simple gain object connected to the dac. That way i will have a long sustained note in the background (for a bass or a pad) and a manipulated waveform which I can sequence by playing on a kslider , drawing on a sequencer or something like that.
Take a look at the patch which i have provided, It’s really easier to understand there. I hope i didn’t bore you to death with my problem, i just started programming in Max and I feel like a real noob but..hey…that’s what I’m here for, Cheers.
EDIT2: There is second question I wanted to ask but i will not create a new topic for it so… Does someone know how to reverse a sound. I know that if i load a sample in sfplay and give it a negative playback value speed it will begin reversing but can i do the same thing to a sound generated by an oscilator for example? Thank you.
This is the actual patch, I have managed to export it :
-- Pasted Max Patch, click to expand. --Copy all of the following text. Then, in Max, select New From Clipboard.----------begin_max5_patcher---------- 1078.3oc4X1raiaCD.9rWf8cfPmZAbM3+hpWJ5s1mghEKjknsYiDoqj75jtn 6ydGREYq3XGaqXsIn0HPTghCmgeC4LZzW+3GlDM2cutNB8yn+.MYxWgdlD5y 2yjtNlDUldeVQZcXfQKSM1uEM8wGY2TZrE5lvyn850so4Yc21WyCq0spLp1r zlVDMEEYrMQnO0MPSdPUt4+4OQD6z05zlrUF6xOWoyZZmARBYFdJhQT9FJ1e kvgFzmBB8Oe7C9VnY5Eu.s5sfh2o0F88AkEsdUZsq55V5jttW3rM1zxvBO5W qL9U8YnxwwAYONpz0ZaSZiwY6gDNkNCyjblBPAIwSD7iW1Oidyo172AMRfw+ BHlpT6mOrzOUBdGsGALuM8K5ugZRmWn+r33vl88B1rKB1.JDhYTtfKXuZXG. Lky1MeJ0M.1YtxRv7eNsWTo+qMZa1CGmzjiSZ7EP59bjeVNxTyTXJkKgMYJ7 LEWRjjWILYX99IUFuaRk7wjn+laKJK0h9cXO7cZTyJMBVyaJZPKpbkv+apQT jeWdMJ0liVuoAYf+rnTnCz1UtBMBNbDFxBWUI5G.cM2X04+XXTn6pKL45JDf VXshbUPe0stQeuKP0tRMbopA8K6ruBXBxbarAiTNhN6jngruWDG7IIgM6DQv uqRFk.Ly2rXgt5LgXHmIU10DhYQgKswmjadpc4IhzH4CAaREqM7SHpQatvQJ rLrFxC1+0fqAEQ9zTRMDFwUsXIQ3aj3QjQeodFr4Z1Rskf61dA5hqF+zXuvV K7vnF77jjjXH1IMlzdpjdCXWIDIzzF.6Lakffn4F3hV1ZR3YwL+uPBAlflv8 2EqTTl.rt9II1IpnSTghyHAATzXtHjZA5gEyNPzSbd2+ZB57iae7NkvYIThz O0RRhDqBVZLVnTGnjm497QG549pWmlY7NzdpquKktOepN8tLWgqZmMjnvrjo G8tiyHVmnzDLX1AAHjXoHfW.QT4oDU0IJdOT4vBNnUge1HmRTZmnDt.mDPEE LRJ0eGSHUR1oDMtSTUr2qFDM3Km1a5dhnca5o6NxUCN3lGJzOAwG6b.jXhfg e.C3g8+LUHUEQRGkXH4oYWWIFWY5Y1fRO29ZtbUnbBV7sHF5lx4mMDvMH4qu vxWL0KcH.gDGHAOjSQLl4TdeT0YxvfjnWkih+OU4HEOXf4q9i7eop+nC6DF7 1r6KdSdaKdqTWWmtT+bfT23VO9G0N9dlAUA.AG2FYltORj+igMNvIspYqwl6 19VwHwPXTRKhZKwLldRD0pwPkxG9MQCyp+AG.tZ2lprNS9wrIndu3QtttwXC esidCx+Q75OpUl7bs8IGsJM4qcPtqGMjWxcdw1l+yYcAFm3sw3DWhwwdSrMe z72ufibQF2aC47u3v4MtC462Ki6xNr91XbuiONveGeR8h7nIuZay2Az7uXf8 ELB -----------end_max5_patcher-----------
Look at the [poly~] object if you want multiple instances of your patch running at the same time. What sort of oscillator are you trying to reverse? If you’re reading something from a [buffer~] then look at the "reverse" message to [mxj buf.Op].
in this instance im trying to reverse the one that I’m using in the above patch so i will take a look but i think i can not get it because im not so famillar with the program. As for the poly~ object I am looking at it at the moment but i think it will allow me only to ‘duplicate’ my patch without actually capturing the oscilation of all the oscilators so i can then layer the captured information as a sequence of notes via kslider or a sequencer.
Forums > MaxMSP