Monday, 18 July 2011

OpenMusic 6.5

A new version of OpenMusic has been released today. This algorithmic composition software is developed by IRCAM and the latest version 6.5 has been released for free before it's been released to paying IRCAM forum members. You can download OpenMusic for Mac and PC here.

OpenMusic 6.5 includes the following new features and bug fixes:

OMSheet (beta):
The sheet is a new score container allowing to bring together voices, chord-seqs, sounds, BPFs and other objects is a common view with accurate time alignment, and to program functional relations between these objects.
MathTools:
  • Screamer toolbox updated
  • Groups functions available
General:
  • Keep Listener window on top (Option – see Preferences / General)
  • Libraries "auto-documentation" system
MIDI:
The MIDI pages in the OM User Manual have been updated
  • MIDI Reset command (in Preferences / MIDI)
Audio:
  • SOUND-REC function (record incoming audio)
  • Record command in Sound editor.
  • Function ADSR (generate ADSR envelopes)
Score:
  • Function "true-durations": handles polyphony / overlapping notes
Maquette:
  • Attributes of internal abstractions preserved (pictures, eval-func, etc.)
  • Internal maquette box display
Bug fixes (non-exhaustive list):
  • Undo command in Chord-seq editors
  • Tempo-Map object miniview
  • TextFile evaluation in internal patches
  • Saving/Reload for SINGLE-ITEM-LIST and MULTI-ITEM-LIST
  • Eval-Once mode on Factory boxes
  • Name conflicts in MusicXML import
  • Class-array: indices updating at remove-comp / add-comp etc + set data with NIL slot inputs
  • Floating palettes bugs
  • Item sorting (workspace/folder windows)
  • SDIF→BPF matrix type
If you've never used OpenMusic there are lots of OpenMusic tutorials available here and there will be a new OpenMusic algorithmic composition tutorial covering some of these new OpenMusic 6.5 features soon.

Monday, 27 June 2011

Tom Johnson's Self Similar Melodies

The American Composer Tom Johnson often uses simple mathematical principles in his compositions. Today's algorithmic composition tutorial looks at a few of Johnson's algorithmic concepts and applies them using Max and PureData. As Max and PureData use slightly different objects to read and write data from tables we'll include screenshots of the algorithmic composition patches from both applications.

Self Similar Melodies
This first example taken from Johnson’s now out of print book ‘Self Similar Melodies’ makes use of the following expression:

                        n             n+1            n-1             n

Inputting a zero into our algorithm gives us the following four numbers:

                        0            1            -1            0

It’s easy to apply this in PureData:

and in Max:


Second Order Markov Chains in PureData

It's been too long since the last algorithmic composition post, but a series of new posts are on the way!

To kick things off we'll revisit one of our previous Markov chain algorithmic compositions. Previously we looked at first order Markov chains in PureData. We also extended this into a second order Markov chain in Max.

Let's have a quick recap first.

First Order Markov Chains
In a previous Algorithmic Composition post we built a first order Markov Chain analysis and generation patch. In 1st order Markov chains the next note is based on the current note and a list of probabilities for following notes. This is stored in a State Transition Matrix (STM), here's an STM that lists the notes of Happy Birthday and the probabilities of each subsequent note.


Second Order Markov Chains
Second order Markov Chains choose the next note based on the two previous notes and the probability of subsequent notes following those two notes:

Sunday, 23 May 2010

Algorithmic Composition with timbres: Klangfarbenmelodie

Algorithmic composition often tends to focus on pitch and rhythm. Today's algorithmic composition tutorial concentrates on timbre, creating algorithmic music by outputting MIDI from MaxMSP [Max] and PureData [PD].

Klangfarbenmelodie (German for tone color melody) and the synonymous French term mélodie de timbres distributes a melody over several instruments rather than assigning it to just one, the listener's focus becomes timbre rather than pitch.

In a similar way, the algorithmic composition patch we'll build today outputs series of overlapping randomly chosen timbres to create an interesting musical texture.

Jump to the end of the post to hear some sample algorithmic music output from this patch.

Algorithmic Composition with MIDI Timbres
Firstly we'll get a simple MIDI note to play in Max and PureData: add a toggle, a metronome object, a message and makenote and noteout objects. If you're not sure how to do this, work through some of the earlier algorithmic composition tutorials here:
Your Max or PureData patch should now look like this, you should also hear a MIDI note when you turn the toggle on. If not, check you have a MIDI output device selected.
algorithmic composition with timbre Max 1algorithmic composition with timbre PureData 1

Thursday, 20 May 2010

Algorithmic Composition with OpenMusic | Markov Chains and Rhythm

Previous Algorithmic Composition tutorials have looked at using Markov Chains in OpenMusic, using some of the functions available in the OMalea library to analyse the pitches of a MIDI file and create new algorithmic compositions based on these.

Today we're looking using Markov Chains in OpenMusic to generate rhythmic patterns for algorithmic compositions.

 Algorithmic Composition Markov Chain OpenMusic
Our previous OpenMusic tutorial used these functions from OpenMusic's OMalea library:
  • ana-mark to analyse a MIDI file to create a transition table of pitches and
  • markov1 to generate a new algorithmic composition based on the transition table.
Although we were previously using our Markov chain to analyse and generate pitches, you can also use ana-mark and markov1 from the OpenMusic OMalea library to generate rhythms.