Curriculum Vitae


James Ingram
address

1948
born near Sidcup, south-east London
1965-66
first composition lessons at school (David Rowland)
1966
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.
1967
Pianola Music  for automatic piano or tape
1967-71
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).
1970
Untitled '70  for wind quartet with automatic conductor.
Performed as "The Lantern of Diogenes" by a student ensemble at the Cockpit Theatre in London.
1970-71
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).
1971
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).
1971-74
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
1973-4
Correspondence with Stockhausen about the proposed printing of his D-Momente for Universal Edition.
1974
labrys
Travelled to Germany in the summer of 1974 to help copy the orchestra parts of Inori.
See On Being Invisible
1974-76
Vectors  for 18 players (See 1976 Photos in Kürten)
Performed at Donaueschingen 1978 by the Südwestfunk Sinfonie-Orchester conducted by Ernest Bour
1976-
Several abortive attempts to write Act Two of Retrospective as a piece of music.
1977
Moved to Cologne in 1977, to Bonn in 2000, back to Cologne in 2007
1978-82
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.
1979
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)
1980
Poem: that more is | but beyond words | is will be misunderstood (later included in the completed score of beyond the symbolic).
1981
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.
1983-84
labrys
Essay: The Notation of Time
First published in Contact magazine no. 29, spring 1985
1986-87
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.
1986
Met my partner, Heinz. (see On Being Invisible)
1987
Upgraded to Amiga 2000.
An affordable machine with a good C-compiler.
1988
Krystals 1.0
A package of UNIX-like utilities (unpublished software) - see A short introduction to krystals
1989
Krystals 2.0
See Photo 1990
1992
The score of Stockhausen's Luzifers Tanz wins a prize from the German Music Publishers' Association.
KLines
An Amiga application for displaying krystals as twisted lines.
1992-93
Krystals 2.1
1993
labrys
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.
1993-94
ABM A freestanding Mac program for beautifying Finale's output...
See Photo 1994.
1995
The score of Stockhausen's Jahreslauf wins a prize from the German Music Publishers' Association.
1995-96
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”.
1996-
I begin to learn and use C++.
Music Toolbox A set of MOA Xtras for printing music in FreeHand.
1997
The score of Stockhausen's Welt-Parlament wins a prize from the German Music Publisher's Association.
1998
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).
1999
labrys
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
2000
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.
2001
labrys
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.
2002
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).
2003
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.
2004
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.
2005
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).
2006
Work continues on Moritz.
2007
February: Capella Consultancy agreement comes to an end.
April: Moved to my current address in Cologne.
Work continues on Moritz.
December: Karlheinz Stockhausen died.
2008
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.
2009
 
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.
2010
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.
2011
February: Scores Study 2b2 and Study 2b3 completed.
2012
labrys
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.
2013
labrys
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.
2014
labrys
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.
2015
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.
2016
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.
2018
Work continues on Moritz and the Assistant Performer.
I continue to take a very active part in the W3C Music Notation Community Group.
2019
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.
2020
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)
2021
labrys
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. )
2022
labrys
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.
2023
labrys
May 14th: Published The Origin of Time
August: Completed and published a greatly expanded version of the ResidentSynthHost web application. This can now record and play back MIDI input sequences. The synth provides configurable mixtures, tunings, ornaments, settings presets and other functions.
2024
April 19th: Completed and published detailed documentation for the (further improved) ResidentSynth and ResidentSynthHost web application.