JMSL Tutorial: JScore's Transcriber, part 6
TranscriberListener, The Big Picture, and a Live Performance Example

JMSL's Transcriber provides the user with a call-back mechanism during the transcription process. Every time a Note is added to the Score, your TranscriberListener is notified. This allows you to inspect and modify the Note as it goes into the Score. Possible applications include adding dynamic indications, accents and other marks to a Note, or adding algorithmically generated lyrics. See jmsltestsuite.TestTranscribe8 for an example that adds solfeggio syllables to Notes.

The key idea is to implement TranscriberListener and define:
public void noteAdded(Score score, Note note);
public void notifyCarriedOverMusicShape(Score score, int currentMeasureNumber, MusicShape musicShape);
Add your TranscriberListener to the transcriber with transcriber.addTranscriberListener(myListener)
For example, the following implementation adds an accent to a Note approximately 1 out of 3 times.
 public void noteAdded(Score score, Note note) {
        if (note.isRest()) return;
        if (JMSLRandom.choose() < 0.3) {

The Applet below is a subclass of the applet from the previous tutorial. It implements TranscriberListener and adds computed text, dynamics, and accents to the Notes as it is notified by the Transcriber

You need to enable Java in this browser

The Big Picture
The macro-point here is this: by having a transcriber knit tightly into the fabric of an algorithmic music API, the composer is given the power to preserve the semantics of the compositional methodology. As opposed to seeing music stripped of its meaning as it is exported to a MIDI file, then imported into a third party notation program, JMSL's transcriber stays close to the heart of the generative process. The composer can stay in close touch with the music from its genesis to its notation.

Live Performance Example:
Zero Waste by Nick Didkovsky, is a piece for sight reading pianist and JMSL's transcriber. This piece was premiered by Kathleen Supove at NYU's Loewe Theare.

Previous Tutorial Index Tutorial Contents Next

  (C) 2000 Nick Didkovsky and Phil Burk, All Rights Reserved
  JMSL is based upon HMSL (C) Phil Burk, Larry Polansky and David Rosenboom.