Jump to content
Wim Dijkgraaf

Out-of-the-box algorithms

Recommended Posts

I'm interested in having a complete list of the more high-level algorithms that Opusmodus supports out-of-the-box. This is what I found going through the integrated help documentation:

  • Lindmayer systems
  • Cellular automata
  • Working with pitch class sets
  • Euclidean Algorithm
  • Tonality mapping
  • Mandelbrot sets
  • Rubin (Rubin functions)
  • Twelve-tone row (including All-interval twelve-tone row and Twelve Tone Forms)
  • Klangreihen technique

  • Trobes (composer Joseph Hauer )

  • The Time Point System (Babbit)

  • Infinity Series (Nørgård)

  • Messiaen Permutation

  • Stravinsky Rotation

  • Brownian motion

  • Noise generation

    • Gaussian noise

    • Pink noise

    • White noise

  • Markov chain

  • Random generators (including random walk)

  • Schillinger Interference (Schillinger System of Music Composition)

  • Spectral Data

  • Wave forms (sine, sawtooth, square, triangle)

 

Any help to get this list complete is very much appreciated :-)

 

Big hug,

 

Wim Dijkgraaf

Share this post


Link to post
Share on other sites

Fantastic suggestion. I'd love to see some focus on those same matters, too. I had asked in the past here on the forum about the Infinity Series and Spectral Techniques. Thanks for bringing this up.

 

 

Share this post


Link to post
Share on other sites

more high-level algorithms

 

I cannot answer your question concerning built-in algorithms, but if you are looking for further ideas what could be added, here is some related literature. 

 

A good general overview of algorithmic composition techniques, from a technical point of view. 

  • Nierhaus, G. (2009) Algorithmic Composition: Paradigms of Automated Music Generation. Wien, New York: Springer.
 
Discussions of compositional applications in OpenMusic (likewise implemented in Common Lisp, though the main interface is a visual language) by various composers.
  • Agon, C. et al. (eds.) (2006) The OM Composer’s Book. 1. Delatour France.
  • Bresson, J. et al. (eds.) (2008) The OM Composer’s Book. 2. Editions Delatour France / Ircam.
  • Hirs, R. & Gilmore, B. (eds.) (2009) Contemporary Compositional Techniques and OpenMusic. Collection Musique/Sciences. IRCAM/Delatour.
  • Bresson, J. et al. (eds.) (2016) The OM Composer’s Book . 3. Paris; Sampzon: Editions Delatour France.

 

Most of you likely already know the book by Nigel Morgan, containing discussions of compositional applications in Opusmodus itself. 

  • Morgan, N. & Legard, P. (2015) Parametric Composition: Computer-Assisted Strategies for Human Performance. West Yorkshire, UK: Tonality Systems Press.

 

The perhaps most important algorithmic composition technique of Common Music (also implemented in common Lisp) and SuperCollider are patterns / item streams, which can be nested. 

 
The libraries of the venerable PatchWork and its successors PWGL and OpenMusic (all Common Lisp) provide ideas for various approaches, some already mentioned above. Below are links to relevant link collections. 
 
Another successful technique, implemented in multiple PWGL and OpenMusic libraries and beyond is constraint programming. I did a lot of research in this area and therefore quote some own publication here.
 
Of course, there is much more literature on algorithmic composition (computer-aided composition) out there, but the above literature gives a good starting point to study more general composition techniques and their applications. 
 
Best,
Torsten
 

Share this post


Link to post
Share on other sites
On 7/17/2017 at 11:53 AM, AM said:

could you tell me your exact definition/specification of OM-"out-of-the-box"-algorithms?

 

Hi AM,

 

What I mean with "high level out-of-the-box algorithms" in this context is something along the line of:

 

- high level: functions to apply specific compositional techniques (so not included are functions for basic type conversion, looping through lists etc.)

- out-of-the-box: without the need for the composer (Opusmodus user) to do additional low level programming in order for the compositional technique to be utilized

 

Hope this helps,

 

Wim

added 3 minutes later

Thanks a lot Torsten!!!!

 

Kind regards,

 

Wim Dijkgraaf

 

Share this post


Link to post
Share on other sites
AM    97

okay, i understand your wish... you would like to have some code which produces/composes a "nearly complete piece" for you - like a bot (for my own use i call this programs BOTS and code it by myself).

 

such bots: a nightmare or a dream for a composer :-)

 

some important books/links TORSTEN already listed. maybe we should not forget DAVID COPE - with his EMMY-things ...

 

https://www.youtube.com/channel/UC2Ma0T4VZtmtB6kMmNw7QIA
https://en.wikipedia.org/wiki/David_Cope

 

p.s. i am not convinced of such "style exercises" (using TOOLS to imitate musical styles), it is perhaps just as if you translate with the google-translater: you understand what is meant, but it often sounds quite strange (as also this text :-))... 

it is usually more interesting in a scientific/technological or "produce efficient", than in an aesthetic/artistic context; but it does not make it in my opinion generally unimportant, but only the goal or the idea behind it is another. (Google Translate)

 

best wishes

andré

Edited by AM

Share this post


Link to post
Share on other sites

you would like to have some code which produces/composes a "nearly complete piece" for you

 

Actually, this is not what most of the techniques listed by Wim or me are. Instead, computer-aided composition techniques offer the composer to control the result on a higher level, but by offering various dimensions of control and by often generating intermediate results that are then further processed either by hand or with other algorithms, and not just a single bottom to start the computation of a new piece.  

 

The opposite can be called automatic composition, and much of David Cope's work is indeed a good example of that. Details on his publications etc. can be found at his website, http://artsites.ucsc.edu/faculty/cope/

 

Best,

Torsten

Share this post


Link to post
Share on other sites
22 hours ago, AM said:

that is clear to me ... I tried only to find out what the motivation / idea behind the question of WIM is.

 

Hi AM,

 

A couple of months ago I followed some online courses on http://www.kadenze.com . Especially the generative art courses as well as The Nature Of Code course. So I started wondering which of the techniques form those courses are supported by standard Opusmodus functions. 

 

That brought me to the idea to make a list of those topics and eventually also have a couple of links to online and free material with inspiring explanations and background info.

 

Kind regards,

 

Wim

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×