See also the excellent http://algocomp.blogspot.com/
In fact there are loads of resources out there, particularly in the world of MIDI, because let's not forget that for several years Max had no MSP and it was all about MIDI.
There's also Tod Winkler's book, and Robert Rowe's 'Machine Musicianship', both of which have many examples of this kind of thing,
Thank you very much.
Personally I am not itnerested in the sound synthesis, rather in the algorithmic composing that generates some kind of output readable in Finale/Sibelius or so.
I have obtained the highest education in music composition (acoustic) and I am quite weak in programming.
I know what Max can't do but not sure what it CAN do.... So appreciate any help.
Well, regarding the algorithmic it should generate everything from the simple melodic structures to more complex chords progressions or custom scales, polyphonic, etc...
Is there any example of this kind?
it can do everything, and it is you who chooses where the limits are. you can for example
generate only notes which are greater than C#3 but not smaller than C3. if you like minimalism.
if you dont like minimalism, a computer will also let you create a note at 300,000 Hz. and
play 500 of those at the same time. you wont hear them, but it is possible.
what i am trying to say is that the main difference between using the brain and using computers
is that improvisation and notation is more an additive process where computer based composing
is more a substractive process: endless possibilities, and you need to select.
i once started maxmsp for the audio part, but then i came back to composing:
with programming languages (or with computers in general) you will discover tons of new
possibilities which an upright piano does not have. if you only think about probability
or random - impossible when writing a partiture, as you can not note down something
which isnt sure yet but only works in realtime.
because all these things are nothing more but math, you could do that theoretically
in every programming language which has math available. max is probably the best of them.
Actually, there is something that is better than Max...
If you are really interested in exploring applications of
algorithms and music composition. Learn python and check out
Music21 is an amazing library of composition tools for exploring
and analyzing music. As programming languages go, python is pretty
easy to learn. Once you have that down, you can explore Scipy
http://www.scipy.org/ which is an algorithmic gold mine.
If you want to get interactive, you can also load python scripts
in Max and then hook them up to a user interface or controller.
Thank you, for the links.
All this is promising. But it is also a bit confusing.
If you ask one who works in OpenMusic - if it is great algorithmic tool for composing, the answer is YES.
It is also with CommonMusic or PWGL or SuperCollider. All say the same. That is clear - all are programming languages.
I have got Max 6 as a new-year present, it looks nice and intuitive.
I just wonder HOW to use it in the algorithmic composing.
Let us make an experiment. For instance, easy randomly generated song for children in C major, 8 measures, that starts and finishes on C (tonic).
to export midi you need to record it first- use [seq ] for that. to apply a seive you could look at coll as an intermediary ie random 8-> coll with 8 indices as addresses for degrees of a scale; ie 0, 60; 1, 62; etc
I guess if you would like to do algorithmic composition, you'll need to learn programming at least on some basic level. Otherwise you won't be able to tell a machine the algorithms you invented...
With that said, Max is a good environment to start with. Even if you had zero knowledge on programming, learning the basics is quite easy and straightforward (compared to, for instance, plain C or Java, or more 'code-oriented' environments, like CSound) if you just follow the tutorials, and it will take you some time to reach the limits of the system.
I've never programmed personally in OpenMusic, so I can't tell you what that could do for you. However, I have plenty of colleagues that work with OM, and most of them told me that that system is more suitable for algorithmic composition than Max. So, you might want to have a look on that environment too (if you have access to IRCAM software).
There are over one hundred documented computer programs/environments/languages intended for composers. Christopher Ariza maintains the most comprehensive, consistently documented catalog of them on the internet:
Oh.... Finally it is the same. I know all these sites and I read a lot. Just I am so curious if the Max has enough power for algorithmic composing in the matter I need. It gets again a confusion.... :(
The last Manzo site haven't seen yet.
While Max is a powerful, it is not a functional programming language.
It is a graphical programming language. Trying to develop algorithms
in native Max is pretty clumsy and tends to take twice as much work.
If you to want to explore developing algorithms, you are better off
learning a functional programming language that integrates with Max:
written in C/C++ using the Max SDK.
>Just I am so curious if the Max has enough power for algorithmic composing in the matter I need. It gets again a confusion.... :(
It *IS* powerful enough!!!
Do the tutorials and learn how to do it. There's a TON of information out there - learn how to acquire it yourself.
You can do quality algorithmic music with an iphone these days, it really isn't a question of "can it be done?", but more of "how do *I* want to achieve my goals with software X?"
Do the tutorials, do the midi tutorials more than once, and you should be plenty capable of building your own in like a week from now.
Please don't ask us to build elements that satisfy some made up criteria - it'll be a circlejerk and won't help a damned thing.
Thank you all.
@Roman, that is exactly what David Cope wrote to me. He organizes some workshops on that subject.
@Wetterber, it is exactly what you say:
"You can do quality algorithmic music with an iphone these days, it really isn't a question of "can it be done?", but more of "how do *I* want to achieve my goals with software X?"
...and so my question was regarding HOW not if it can or not.
"Please don't ask us to build elements that satisfy some made up criteria - it'll be a circlejerk and won't help a damned thing."
...and that is the How it can be acheved. Simply said, I just want to see and compare different algorithmic tools.