Curriculum Vitae

James Ingram

born near Sidcup, south-east London
first composition lessons at school (David Rowland)
applied to study a combination of mathematics and philosophy at university, but failed to get a place.
rather average A-levels in pure maths, applied maths and physics.
Pianola Music  for automatic piano or tape
student at the Royal Academy of Music in London.
1967-1968 first study horn (James Brown)
1968-1971 first study composition (Harrison Birtwistle). James Iliff's seminars were also important to me at this time (see A short introduction to krystals).
Untitled '70  for wind quartet with automatic conductor.
Performed as "The Lantern of Diogenes" by a student ensemble at the Cockpit Theatre in London.
completed the scenario, Scene 1, Scene 2, and Act One, of Retrospective
Planned as a chamber opera, this autobiographical project is actually uncompletable. See 1971-74.
The music for the above scenes is finished (1971), but needs revising (2009).
Began work as a freelance copyist for Universal Edition (London).
Until I began working for Stockhausen, I set many scores for UE: mostly pieces by Birtwistle, Feldman and Earle Brown. I also remember copying viola parts for Boulez's Eclat-Multiples...
The Probability of Harmony  for alto flute, clarinet, tape and conductor
First performed at the Cockpit Theatre, this piece had several more performances, notably at the 1971 Dartington Summer School. Harrison Birtwistle, Peter Maxwell Davies and Morton Feldman were present.
Possible Developments  for four players and conductor
First performed at Dartington, revised in 1979 (see below).
For reasons connected with Act One of my Retrospective, I began work on a music-theoretical project which became more important to me than the composition of individual pieces. This project had two objectives which needed to be achieved separately and then integrated:
1. the development of an efficient and robust notation theory.
2. the development of a way of dealing with hierarchically ordered information,
    independent of symbols and their meanings. See Krystals
Correspondence with Stockhausen about the proposed printing of his D-Momente for Universal Edition.
Travelled to Germany in the summer of 1974 to help copy the orchestra parts of Inori.
See On Being Invisible
Vectors  for 18 players (See 1976 Photos in Kürten)
Performed at Donaueschingen 1978 by the Südwestfunk Sinfonie-Orchester conducted by Ernest Bour
Several abortive attempts to write Act Two of Retrospective as a piece of music.
Moved to Cologne in 1977, to Bonn in 2000, back to Cologne in 2007
beyond the symbolic  for 15 players
Commisioned by the Ensemble Intercontemporain (initiative Nicholas Snowman) and performed by them at the Theâtre du Rond Point in Paris in March 1982. The conductor was Sylvain Cambreling. Harrison Birtwistle, Pierre Boulez and Karlheinz Stockhausen were in the audience.
revision of Possible Developments 
This piece received a very good performance by the Lontano Ensemble conducted by George Mowat-Brown at the Wigmore Hall in London (1981)
Poem: that more is | but beyond words | is will be misunderstood (later included in the completed score of beyond the symbolic).
My first personal computer (Apple II).
I bought this in order to program the krystals for beyond the symbolic. I programmed it in Apple BASIC, later in Pascal.
Essay: The Notation of Time
First published in Contact magazine no. 29, spring 1985
The Innocent Bystander  for mixed choir
Performed by the BBC-Singers at St John's Smith Square in London 1987. The conductor was James Wood.
Met my partner, Heinz. (see On Being Invisible)
Upgraded to Amiga 2000.
An affordable machine with a good C-compiler.
Krystals 1.0
A package of UNIX-like utilities (unpublished software) - see A short introduction to krystals
Krystals 2.0
See Photo 1990
The score of Stockhausen's Luzifers Tanz wins a prize from the German Music Publishers' Association.
An Amiga application for displaying krystals as twisted lines.
Krystals 2.1
The Stockhausen-Verlag gets computerised (Apple Macintosh).
I learn Finale, FreeHand, FontStudio etc., and get my first Mac experience.
Upgraded my own computer to Macintosh (Centris 650).
Quick port of the Krystals software to the Mac. I continue to program in C.
ABM A freestanding Mac program for beautifying Finale's output...
See Photo 1994.
The score of Stockhausen's Jahreslauf wins a prize from the German Music Publishers' Association.
Music Tools
A set of Xtra buttons for FreeHand. Programmed in C, these were later replaced by the C++ (MOA) versions in my “music toolbox”.
I begin to learn and use C++.
Music Toolbox A set of MOA Xtras for printing music in FreeHand.
The score of Stockhausen's Welt-Parlament wins a prize from the German Music Publisher's Association.
I'm beginning to scratch the surface of Photoshop...
It became necessary to use bigger and better hard- and software to cope with large facsimile scores.
Upgraded my own computer to a PowerMac (G3 DT/300).
Publication of the first edition of this website. New material included:
An open letter to musicologists and
A short introduction to krystals

Work continues on the Music Toolbox.
Joined the internet forum of the Society for Music Theory.
Feedback is very important for developing ideas, but I was in the end disappointed by their lack of interest in new music. I left quietly in 2001. Photo
The score of Stockhausen's Evas Erstgeburt wins a prize from the German Music Publisher's Association.
Paper: Perspective, Space and Time in Music Notation
Written for, and read at INTERSYMP 2000, the 12th International Conference on Systems Research, Informatics and Cybernetics.
Stockhausen terminates our long standing working agreement. See On Being Invisible
The score of his Helikopter-Streichquartett wins a prize from the German Music Publisher's Association.
As a freelance copyist, I begin to learn and use Sibelius.
Paper: Music Notation and Agents as Performers
Presentation: Developing Music with Software Tools
Written for, and presented at the workshop "Contemporary Music Digital Publishing" organised by Nicola Bernadini at the Centro Tempo Reale, Florence, Italy on 26th November 2001.
Lecture: Music Notation: Inherited problems and a proposed solution
Written for, and delivered at CREATE, Department of Music, University of California, Santa Barbara, USA on 28th February 2002, at the invitation of Curtis Roads.
Paper: The Writing of Style Libraries for Music Notation and Performance
Written for The Second International Conference on Music and Artificial Intelligence, ICMAI'02, Edinburgh, Scotland, 12th-14th September 2002
Paper: Developing Traditions of Music Notation and Performance on the Web
Written for the WedelMusic 2002 conference which took place at the Fraunhofer Institute for Computer Graphics Darmstadt, Germany from 9th - 11th December 2002. Includes the theoretical background to my transcription of Curtis Roads' Sonal Atoms (electronic music).
The score of Stockhausen's Michaelion wins a prize from the German Music Publisher's Association. I continue to earn my living mainly as a freelance copyist. Not easy in this sadly battered industry.
Active participation in two interesting virtual (unpaid) projects:
The Digital Media Manifesto and the MPEG Ad Hoc Group on Music Notation Requirements.
A Survey of the World's Music Notations
Commissioned by the MusicNetwork in connection with the MPEG Ad Hoc Group on SMR.
Continued participation in the MPEG Ad Hoc Group on SMR.
Attendance at the Munich, Mallorca and Barcelona meetings. Met Hartmut Ring there.
February: Consultancy agreement with Hartmut Ring, the author of the capella music notation editor and its public CapXML file format.
First windows computer (an Acer Laptop).
This was bought for me by Hartmut Ring and Hans-Ulrich Werner of capella software.
Beginning to program again. Port to Windows of my existing Krystals software in C. Learning Python (which is used to write capella's plugins).
September: learning C# and the .NET framework.
Ceased active participation in all virtual projects in order to concentrate on the capella consultancy and Moritz.
Shut down the first edition of this website. I want to tie all the above threads quietly together.
Study 1 (a score written in CapXML using Python).
Work continues on Moritz.
February: Capella Consultancy agreement comes to an end.
April: Moved to my current address in Cologne.
Work continues on Moritz.
December: Karlheinz Stockhausen died.
On Being Invisible Written for MusikTexte vol. 117 about my work for Stockhausen.
Work continues on Moritz.
Act One of Retrospective completed by On Being Invisible and the programming of Moritz v.1
The above threads have now been tied together, providing me with a framework for composition.
April: Act Two becomes the new edition of this website.
May: First 64bit computer (MUSIC STORE Audio PC4 Core i7-940 Silentmaxx)
Work continues on Moritz.
July: Study 2a (a score using an early version of Moritz’ new algorithmic composition module — written in C#).
An algorithmic composition module is being developed for Moritz (work continues).
October: Study 2b.
November: Moritz begins to learn non-standard music notation.
February: Scores Study 2b2 and Study 2b3 completed.
Spring: Moritz v1 archived. Moritz v2 begins — without the patch editor and without standard music notation.
I begin to learn Javascript. Moving towards making Moritz open-source.
July: Uploaded the Study 2c scores and Study 3 Sketch
October: Uploaded the first web version of the Assistant Performer. This does not yet take MIDI input, but has advanced control functions which can be used when playing SVG-MIDI files. The source code for this project (HTML5 and Javascript) has been made public (open-source) at GitHub.
December: Updated the Web AssistantPerformer. It can now use MIDI Input and be used as a proper assistant.
March/April/June: Uploaded major updates of the web version of the Assistant Performer.
May/June: Beginning of an intense correspondence and cooperation with the pianist Heloise Ph. Palmer (YouTube).
Very impressed by Muiesis, which is a special kind of performance practice she is developing for her recitals, and which is described on her Muiesis website. Published a text about it there. Serious work on Song Six begins.
January: completed the first setting of Song Six. This is the last scene of my Retrospective to be composed and the first to be publicly performed. (Heloise Ph. Palmer played the piece several times between February and May 2014.)
Autumn: Moritz v1 and Moritz v2 archived. Moritz v3 contains a major revision of the Assistant Composer that writes "advanced prepared piano" scores.
The Assistant Performer has become a separate project, and now runs as a browser application on the web. It does not yet implement the "advanced prepared piano" paradigm, but that will change in 2015.
Moritz v3 and the Assistant Performer are now open source projects on GitHub at GitHub/Moritz and GitHub/Assistant Performer.
Spring: Implemented the "advanced prepared piano" algorithm in the Assistant Performer. Made some important changes to the file format for SVG-MIDI scores.
Actively developing both the Assistant Composer and Assistant Performer.
Autumn: Created the following new open-source GitHub repositories: WebMIDISynthHost, SimpleMIDISynthHost, SimpleMIDISynthHost2, and SimpleSoundFontSynthHost.
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 Sf2 Synth to the output devices available to the Assistant Performer.
December: completed the transcription of my Pianola Music (1967) for the Assistant Performer. This was done as a test for the Resident Sf2 Synth.
January 10th: Pierre Boulez died.
January 12th: 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.
Discovered Donald Hoffman's desktop analogy for "reality". (see the above documentation)
March: transcribed my Study 1 (2005) for the Assistant Performer. It can be played on the Resident Sf2 Synth
April 8th: Attendance at a meeting of the W3C Music Notation Community Group in Frankfurt.
Work continues on Moritz and the Assistant Performer.
I continue to take a very active part in the W3C Music Notation Community Group.
Work continues on Moritz and the Assistant Performer (emphasis on repeats and conducting options — not yet published).
Discussions continue at the W3C Music Notation Community Group. (They decided, at the April face-to-face meeting, temporarily to concentrate on MusicXML revisions for desktop applications.)
January 29th: On Marcel Duchamp’s Erratum Musical
February 18th: Completed the Erratum Musical project by uploading two new scores to the current Assistant Performer: Erratum Musical I-VIII and Three Crashes.
I continue to keep a beady eye on the W3C Music Notation Community Group. (Waiting for them to start discussing the web and the world's other music notations.)
March 18th: Completed the first version of the ResidentWAFSynth, and added it to my WebMIDISynthHost application (GitHub repository).
April: MNXtoSVG (A C# desktop application that converts MNX files to SVG and embedded MIDI data).
November 6th: Completed my Slur Template Converter web application (GitHub repository)
January: Created a fork of the MNX Repository to work on independently.
April 14th: Tick-based Timing (Essay describing an approach to tick-based timing in all music notations that use event symbols. )
February: Stopped active work on MNX, but am still keeping an eye on the way it is developing. Its a long story.
Currently working on updates and documentation for both the Assistant Performer and ResidentSynth. The ResidentSynth supercedes both the ResidentSf2Synth and ResidentWAFSynth, and includes support for both mixtures and microtones.
April: Harrison Birtwistle died. I last spoke to him, for about an hour, in October 2017.
October: Published a new, stable version of the ResidentSynth. Work continues on it at GitHub.
November: Discovered Bernardo Kastrup's work on Analytic Idealism. This resonates so strongly with my own position, that I've temporarily suspended other work to investigate further.
May 14th: Published The Origin of Time
August: Completed and published a greatly expanded version of the ResidentSynthHost and ResidentSynth. The host can now record and play back MIDI input sequences. The synth provides configurable mixtures, tunings, ornaments, settings presets and other functions.