Notation & engraving

Basics

  • Generating Notation — Plays a simple C Major arpeggio, and generates notation for it.

  • Time Signatures — Plays a simple C Major arpeggio, and generates notation for it in three different ways: - with a 3/8 time signature - with a 3/8 time signature for the first measure followed by 2/4 - with alternating 3/8 and 2/4 time signatures - with a list of bar lengths determining time signatures

  • Export to MIDI File — Records glissandi with microtonal pitches and playback params (fast-forwarded), then exports the performance as a MIDI file.

Quantization

  • Quantization of Random Floating-Point Durations — Similar to the “Random Durations and Rests” example, except that now we generate notation.

  • Simplified Quantization — Same as last example except that we see two different levers for simplifying the notation: max_divisor (which defaults to 8) sets a hard cap on how finely we can divide the beat.

  • Quantization Comparison — Records a loose piano improvisation against a metronome, then plays back the quantized version.

  • Piano Phase — Steve Reich’s Piano Phase: the same figure forked at 100 vs.

Special notations

  • Note Properties — Shows how the fourth (optional) properties argument to “play_note” can be used to affect other aspects of playback and notation, such as articulation and noteheads.

  • Staff Text — Demonstrates various ways of adding text annotations to notes that are played.

  • Special Notations — Ornaments, tremolo and other single-note notations.

  • Spanners — Demonstration of starting and stopping various spanners, such as slurs, hairpins, trills, brackets, and pedal lines.

  • Multiple Voices — Demonstration of how to place notes in specific voices within a staff/part.

  • Multiple Voices with Octave Lines — Same as the voices example, but with ottava applied to certain voices.

  • Microtonal Playback and Notation — Plays a few microtonal chords and notates them, turning on exact microtonal annotations.

  • Performance Post-Processing — Post-processes a recorded Performance of a random walk of thirds and fifths, so that every time three consecutive notes are a triad, they are slurred together and spelled consistently.

Abjad & pymusicxml tweaks

  • Key Signature via pymusicxml — Adds a key signature by exporting through pymusicxml and setting it on the first measure.

  • Double Score — Records two performances, turns them into scores, renders to abjad, and sticks them together!

From live input

  • Notating Computer Keyboard Input — Same as Computer Keyboard Input, except that a metronome is playing back while the user plays notes with the keyboard, and the result is rendered as music notation.

  • Run as Server and Render Scores — Runs the session as a server, repeatedly recording short fragments and popping up a score for each.

Other

  • Note Graph — Renders a saved Performance two ways: as graphic notation via PartNoteGraph (note height = pitch, width = volume, color = vibrato frequency), and as a traditional quantized score. (needs scamp_extensions)