Shockwave Flash no longer used

When many of the pages on this website were published, the standard way to play mp3 audio files was to use Shockwave Flash objects. Flash is no longer supported by the major browsers, and has stopped working. I have therefore removed all references to it, and am now using the HTML5 <audio> element instead.

The standard <audio> element has, however, a size (and visual appearance) that does not fit into the existing layouts. I have therefore made and used a custom version of Anthony Kolber's audiojs javascript library (which is a wrapper for the standard <audio> element), and used it with a custom style.

Many thanks to Anthony Kolber !

About Marcel Duchamp's Erratum Musical


On Cursors

May 2018: Uploaded two web applications and a short preface.
These applications were written while discussing the synchronization of scores (graphical information) with performances (temporal information) with the
W3C Music Notation Community Group.
They demonstrate the programming of different cursor types.

Interface theory of perception

Discovered Donald Hoffman's Interface theory of perception during the past week.
This theory agrees with the way I think of time as being a brain strategy for reducing complexity, so I have added the following links:
Donald Hoffman: The Interface Theory of Perception and
Donald Hoffman: lecture 1 (YouTube)
Donald Hoffman: lecture 2 (YouTube)
to my Pianola Music documentation.
The Pianola Music documentation (January 2016) discusses the history of music notation in the 20th century, and contains a description of my current views on the nature of (perceived) time.

Study 1 (2005)

I've now transcribed and uploaded my Study 1 (2005) for the Assistant Performer.
It can be played there on the Resident Sf2 Synth.

Web MIDI Synths, Pianola Music transcription

This blog was silent in 2015 because I have been working on aspects of the Assistant Composer and Assistant Performer that don’t directly affect this website. These are:
  • Spring 2015: As planned I implemented the “advanced prepared piano” algorithm in the Assistant Performer. This involved making further changes to the file format for SVG-MIDI scores that also affected the Assistant Composer.
  • Autumn 2015: created the following new open-source GitHub repositories:
    SimpleMIDISynthHost2, and
    I am developing Web MIDI Synths that can be used as MIDI output devices by visitors to web sites, without them having to install any plug-ins.
    Added the Resident Soundfont Synth to the output devices available to the Assistant Performer.
  • December 2015: completed the transcription of my Pianola Music (1967) for the Assistant Performer. This was done as a test for the Resident Soundfont Synth.
A change that does affect the site came in January 2016 when I completed the documentation for the Pianola Music transcription. This includes a short summary of my time theory as it affects both the technical and social aspects of music.

Moritz v3 (major update)

Completed a major Moritz revision during the autumn of 2014, and have just finished the corresponding documentation at this web site.

The main entry point for reading about Moritz v3 is at:
This page includes not only information about Moritz itself, but also some background, its raison d'etre etc.

The code for Moritz' Assistant Composer has been thoroughly overhauled, and is now open source on Github. Many optimisations are still possible, but at least the worst of the spaghetti has disappeared. (My coding style is a bit pedestrian by present day C# standards, but maybe that's not such a bad thing.)
The biggest change, apart from cleaning up the code, is that the generated scores can now contain both input and output chords. This enables much greater control over what happens when midi input information arrives during a live performance: Parallel processing can be used to enable a non-blocking, "advanced prepared piano" scenario. Single key presses can trigger either simple events or complex sequences of events, depending on how the links inside the score are organized. An example score can be viewed (but not yet played) here.

The Assistant Performer now has two Github repositiories:
Repository 1:
This contains a possibly rather old version, which is however working and stable. This version can be tried out on the web here.
Repository 2:
This is where the Assistant Performer is being developed. This version can be tried out on the web here. Warning: Note that this version is highly volatile. It may often contain bugs or not work at all!

The Assistant Performer does not yet implement the "advanced prepared piano" scenario. That is the next project on my agenda.