Oscillating straight from a wave equation?
A friend of mine is going to make a prank CD for his friend full of generative music. (I realize generative music and pranks don't often go together, but I won't disclose the concept until after since the guy might conceivably read this forum.) Both in the service of the concept of the disk, and because he's more familiar with math than music software, he wants to be able to plug in an actual equation, e.g. sin(whatever), and command some software to oscillate based on that graph.
I'm a complete newcomer to Max but it seems like a Max, Csound type task. If there any softsynths or anything that take equations, I'd be happy to hear of those too, since amazing as Max is I'm not prepared to force him to learn it ;)
Thanks a lot for any thoughts anyone has.
On May 23, 2007, at 6:51 PM, Metaxy wrote:
> because he's more familiar with math than music software, he wants
> to be able to plug in an actual equation, e.g. sin(whatever), and
> command some software to oscillate based on that graph.
He can do it in Max, but will definitely have to learn some basic
aspects of the environment. If he's math oriented, Mathematica has
some nice sonification facilities: http://www.wolfram.com/products/
mathematica/newin6/content/SymbolicSoundSupport/
Vlad
Vlad Spears
Urbi et orbi
Quote: spears@2secondfuse.com wrote on Wed, 23 May 2007 21:16
----------------------------------------------------
>
> On May 23, 2007, at 6:51 PM, Metaxy wrote:
>
> > because he's more familiar with math than music software, he wants
> > to be able to plug in an actual equation, e.g. sin(whatever), and
> > command some software to oscillate based on that graph.
>
> He can do it in Max, but will definitely have to learn some basic
> aspects of the environment. If he's math oriented, Mathematica has
> some nice sonification facilities: http://www.wolfram.com/products/
> mathematica/newin6/content/SymbolicSoundSupport/
>
> Vlad
>
>
> Vlad Spears
> Urbi et orbi
>
> http://www.daevlmakr.com
> http://www.2secondfuse.com
>
>
>
>
>
----------------------------------------------------
haha they must be careful that they do not
get sued for the "symbolic sound" ...
max would offer you things like expr, peek~, and wave~, those
let you do what you described.
if just some random math function will resultin musically
useful sounds is another question.
when you look from the other side at it you will find that
common sound synthesis is using something like mathematical
functions anyway. what else could it be?
there is no max object (that i'm aware of) that will let you type in arbitrary formulas and use the graph to oscillate from them. however, that doesn't mean that it can't be done. there are plenty of basic objects in max that can be put together to cause pretty much any type of oscillation you want. as you can derive the equation from a few basic functions (i.e. addition, subtraction, multiplication, division, logarithms, exponents, sines, tangents, etc.), then you can make the oscillation happen.
now that i think about it though, there would be a way to make a patch that would do exactly what you want. here's how you would have to do it:
first of all, look at the help file on the [expr] and/or [vexpr] objects. you can type in an arbitrary formula in the [expr] object. let's say you define a formula and say you want to oscillate between x=0 and x=1.
if you input x=0 into the [expr] object, and then x=0.01, x=0.02, 0.03, 0.04, .... 0.99, 1, and write the result of all of those calculations to successive samples in a buffer~ object, then you would have your wave which you could oscillate using any number of objects (cycle~, play~, groove~ all come to mind).
that's a moderately complicated patch that would probably be a bit too hard for someone who is just starting out in max. it would be much easier to define the equation you want to use and then derive it from a bunch of MSP objects. however, using that technique it is much more difficult to change the formula quickly.
good luck
-scott
Thanks for everyone's input so far.
FL Studio appears to have a plugin that looks almost exactly like what I want in the form of the Fruity Formula Controller: http://digitalmedia.oreilly.com/2005/04/13/fl_studio2.html .
That's almost exactly what I had in mind, with two flaws that make it inappropriate: it doesn't seem to graph the equations in the usual way, that review for example seems to say that a static value like "sqrt(a/(b+2*c)" still creates a curve. I want something that graphs like an ordinary graphing calculator would. Secondly, that thing is meant to control an LFO or the like. I want an "ordinary" oscillator to follow that wave. I'm really surprised if there's nothing to do exactly this. Seems like it'd be pretty useful.
look at the included examples. "buffer writer"
I've always wondered why there is no expr~ ,there use to be a third party
object that did this and it had been very handy at times in Pure Data but
could not find it this morning.
good luck, P
On 24/05/07, Metaxy wrote:
>
>
> A friend of mine is going to make a prank CD for his friend full of
> generative music. (I realize generative music and pranks don't often go
> together, but I won't disclose the concept until after since the guy might
> conceivably read this forum.) Both in the service of the concept of the
> disk, and because he's more familiar with math than music software, he wants
> to be able to plug in an actual equation, e.g. sin(whatever), and command
> some software to oscillate based on that graph.
>
> I'm a complete newcomer to Max but it seems like a Max, Csound type
> task. If there any softsynths or anything that take equations, I'd be happy
> to hear of those too, since amazing as Max is I'm not prepared to force him
> to learn it ;)
>
> Thanks a lot for any thoughts anyone has.
>
--
www.centuryofnoise.com
www.perevillez.com
Roman Thilenius schrieb:
> http://www.wolfram.com/products/mathematica/newin6/content/SymbolicSoundSupport/
>
>
> haha they must be careful that they do not
> get sued for the "symbolic sound" ...
Oh Brad could you give us a Mathematica external?... ;-)
Stefan
--
Stefan Tiedje------------x-------
--_____-----------|--------------
--(_|_ ----|-----|-----()-------
-- _|_)----|-----()--------------
----------()--------www.ccmix.com
Scott schrieb:
> there is no max object (that i'm aware of) that will let you type in
> arbitrary formulas and use the graph to oscillate from them.
????
does this proove it wrong?
--
Stefan Tiedje------------x-------
--_____-----------|--------------
--(_|_ ----|-----|-----()-------
-- _|_)----|-----()--------------
----------()--------www.ccmix.com
Here's another possibility. You can draw on the multislider with the mouse too which is kind of fun. This is just a rough sketch, it needs some tweaking to improve the sound quality.
Adam
Pere Josep Villez schrieb:
> I've always wondered why there is no expr~ ,there use to be a third
> party object that did this and it had been very handy at times in Pure
> Data but could not find it this morning.
Graham Wakefield made one, look at Maxobjects....
Stefan
--
Stefan Tiedje------------x-------
--_____-----------|--------------
--(_|_ ----|-----|-----()-------
-- _|_)----|-----()--------------
----------()--------www.ccmix.com
Here's an expr~:
http://www.mat.ucsb.edu/~wakefield/soft/
Evaluate a C-like expression on audio signals. Evaluates an
expression (of up to 10 terms) with a C-like syntax on audio signals,
similar to the expr and vexpr objects for messages and lists
respectively. Because Max/MSP signals are floating point, only float
variables are valid (i.e. $f1 - $f9), but both float and integer
constants are valid.
Note - it's not going to be as fast as using max objects, but for
sketching out formula it's pretty useful. Once you know what you
want, then you can figure out how to 'freeze' it with max objects if
you need the performance gain.
Hope that helps.
[and, by the way, I'm hoping to release another MSP external soon
that will be able to do this more efficiently, and quite a bit more
too... just need to get some academic stuff finished first...]
On May 25, 2007, at 12:34 AM, Pere Josep Villez wrote:
> look at the included examples. "buffer writer"
>
> I've always wondered why there is no expr~ ,there use to be a third
> party object that did this and it had been very handy at times in
> Pure Data but could not find it this morning.
>
> good luck, P
>
> On 24/05/07, Metaxy wrote:
> A friend of mine is going to make a prank CD for his friend full of
> generative music. (I realize generative music and pranks don't
> often go together, but I won't disclose the concept until after
> since the guy might conceivably read this forum.) Both in the
> service of the concept of the disk, and because he's more familiar
> with math than music software, he wants to be able to plug in an
> actual equation, e.g. sin(whatever), and command some software to
> oscillate based on that graph.
>
> I'm a complete newcomer to Max but it seems like a Max, Csound type
> task. If there any softsynths or anything that take equations, I'd
> be happy to hear of those too, since amazing as Max is I'm not
> prepared to force him to learn it ;)
>
> Thanks a lot for any thoughts anyone has.
>
>
>
> --
> www.centuryofnoise.com
> www.perevillez.com
grrr waaa
www.grahamwakefield.net
Coming back to an old question here.
I tried your patch Adam Murray, and I like it .Could you advise me how to improve the sound quality?
Josef