This module provides object representations of expressions, that is notational symbols such as Fermatas, Mordents, Trills, Turns, etc. which are stored under a Music21Object’s .expressions attribute
It also includes representations of things such as TextExpressions which are better attached to the Stream itself.
TODO: replace .size with a string representing interval and then create interval.Interval objects only when necessary.
given a Music21Object with Ornament expressions, convert them into a list of objects that represents the performed version of the object:
>>> n1 = note.Note("D5")
>>> n1.quarterLength = 1
>>> n1.expressions.append(expressions.WholeStepMordent())
>>> expList = expressions.realizeOrnaments(n1)
>>> st1 = stream.Stream()
>>> st1.append(expList)
>>> st1.show()
A TextExpression is a word, phrase, or similar bit of text that is positioned in a Stream or Measure. Conventional expressive indications are text like “agitato” or “con fuoco.”
>>> te = expressions.TextExpression('testing')
>>> te.size = 24
>>> te.size
24.0
>>> te.style = 'bolditalic'
>>> te.letterSpacing = 0.5
TextExpression bases
TextExpression read-only properties
Read-only properties inherited from Music21Object:
TextExpression read/write properties
Get or set the content.
>>> te = expressions.TextExpression('testing')
>>> te.content
'testing'
Get or set the enclosure.
>>> te = expressions.TextExpression()
>>> te.justify = 'center'
>>> te.enclosure = None
>>> te.enclosure = 'rectangle'
Get or set the vertical position, where 0 is the top line of the staff and units are in 10ths of a staff space.
Other legal positions are ‘above’ and ‘below’ which are synonyms for 10 and -70 respectively (for 5-line staves; other staves are not yet implemented)
>>> te = expressions.TextExpression()
>>> te.positionVertical = 10
>>> te.positionVertical
10.0
>>> te.positionVertical = 'below'
>>> te.positionVertical
-70.0
Read/write properties inherited from Music21Object:
Read/write properties inherited from TextFormat:
TextExpression methods
If this TextExpression can be a RepeatExpression, return a new RepeatExpression. object, otherwise, return None.
Methods inherited from Music21Object:
TextExpression instance variables
Instance variables inherited from Expression:
|
|
|
Instance variables inherited from Music21Object:
Appoggiatura bases
Appoggiatura read-only properties
Read-only properties inherited from Music21Object:
Appoggiatura read/write properties
Read/write properties inherited from Music21Object:
Appoggiatura methods
Methods inherited from GeneralAppoggiatura:
Methods inherited from Music21Object:
Appoggiatura instance variables
Instance variables inherited from GeneralAppoggiatura:
|
|
|
Instance variables inherited from Ornament:
|
|
|
Instance variables inherited from Expression:
|
|
|
Instance variables inherited from Music21Object:
This base class is inherited by many diverse expressions.
Expression bases
Expression read-only properties
Read-only properties inherited from Music21Object:
Expression read/write properties
Read/write properties inherited from Music21Object:
Expression methods
Methods inherited from Music21Object:
Expression instance variables
Instance variables inherited from Music21Object:
Fermatas by default get appended to the last note if a note is split because of measures. To override this (for Fermatas or for any expression) set .tieAttach to ‘all’ or ‘first’ instead of ‘last’.
>>> p1 = stream.Part()
>>> p1.append(meter.TimeSignature('6/8'))
>>> n1 = note.Note("D-2")
>>> n1.quarterLength = 6
>>> n1.expressions.append(expressions.Fermata())
>>> p1.append(n1)
>>> p1.show()
.. image:: images/expressionsFermata.*
:width: 193
Fermata bases
Fermata read-only properties
Read-only properties inherited from Music21Object:
Fermata read/write properties
Read/write properties inherited from Music21Object:
Fermata methods
Methods inherited from Music21Object:
Fermata instance variables
Instance variables inherited from Expression:
|
|
|
Instance variables inherited from Music21Object:
GeneralAppoggiatura bases
GeneralAppoggiatura read-only properties
Read-only properties inherited from Music21Object:
GeneralAppoggiatura read/write properties
Read/write properties inherited from Music21Object:
GeneralAppoggiatura methods
realize an appoggiatura
returns a three-element tuple. The first is the notes that the grace note was converted to. The second is the rest of the note The third is an empty list (since there are no notes at the end of an appoggiatura)
>>> n1 = note.Note("C4")
>>> n1.quarterLength = 0.5
>>> a1 = expressions.Appoggiatura()
>>> a1.realize(n1)
(<music21.note.Note D>, <music21.note.Note C>, [])
>>> n2 = note.Note("C4")
>>> n2.quarterLength = 1
>>> a2 = expressions.HalfStepInvertedAppoggiatura()
>>> a2.realize(n2)
(<music21.note.Note B>, <music21.note.Note C>, [])
Methods inherited from Music21Object:
GeneralAppoggiatura instance variables
Instance variables inherited from Ornament:
|
|
|
Instance variables inherited from Expression:
|
|
|
Instance variables inherited from Music21Object:
Base class for all Mordent types.
GeneralMordent bases
GeneralMordent read-only properties
Read-only properties inherited from Music21Object:
GeneralMordent read/write properties
Read/write properties inherited from Music21Object:
GeneralMordent methods
Realize a mordent.
returns a three-element tuple. The first is a list of the two notes that the beginning of the note were converted to. The second is the rest of the note The third is an empty list (since there are no notes at the end of a mordent)
>>> n1 = note.Note("C4")
>>> n1.quarterLength = 0.5
>>> m1 = expressions.Mordent()
>>> m1.realize(n1)
([<music21.note.Note C>, <music21.note.Note B>], <music21.note.Note C>, [])
>>> n2 = note.Note("C4")
>>> n2.quarterLength = 0.125
>>> m2 = expressions.GeneralMordent()
>>> m2.realize(n2)
Traceback (most recent call last):
...
ExpressionException: Cannot realize a mordent if I do not know its direction
Methods inherited from Music21Object:
GeneralMordent instance variables
Instance variables inherited from Ornament:
|
|
|
Instance variables inherited from Expression:
|
|
|
Instance variables inherited from Music21Object:
HalfStepAppoggiatura bases
HalfStepAppoggiatura read-only properties
Read-only properties inherited from Music21Object:
HalfStepAppoggiatura read/write properties
Read/write properties inherited from Music21Object:
HalfStepAppoggiatura methods
Methods inherited from GeneralAppoggiatura:
Methods inherited from Music21Object:
HalfStepAppoggiatura instance variables
Instance variables inherited from Appoggiatura:
|
|
|
Instance variables inherited from GeneralAppoggiatura:
|
|
|
Instance variables inherited from Ornament:
|
|
|
Instance variables inherited from Expression:
|
|
|
Instance variables inherited from Music21Object:
HalfStepInvertedAppoggiatura bases
HalfStepInvertedAppoggiatura read-only properties
Read-only properties inherited from Music21Object:
HalfStepInvertedAppoggiatura read/write properties
Read/write properties inherited from Music21Object:
HalfStepInvertedAppoggiatura methods
Methods inherited from GeneralAppoggiatura:
Methods inherited from Music21Object:
HalfStepInvertedAppoggiatura instance variables
Instance variables inherited from InvertedAppoggiatura:
|
|
|
Instance variables inherited from GeneralAppoggiatura:
|
|
|
Instance variables inherited from Ornament:
|
|
|
Instance variables inherited from Expression:
|
|
|
Instance variables inherited from Music21Object:
A half-step inverted Mordent.
>>> m = expressions.HalfStepInvertedMordent()
>>> m.direction
'up'
>>> m.size
<music21.interval.Interval m2>
HalfStepInvertedMordent bases
HalfStepInvertedMordent read-only properties
Read-only properties inherited from Music21Object:
HalfStepInvertedMordent read/write properties
Read/write properties inherited from Music21Object:
HalfStepInvertedMordent methods
Methods inherited from GeneralMordent:
Methods inherited from Music21Object:
HalfStepInvertedMordent instance variables
Instance variables inherited from InvertedMordent:
|
|
|
Instance variables inherited from GeneralMordent:
|
|
|
Instance variables inherited from Ornament:
|
|
|
Instance variables inherited from Expression:
|
|
|
Instance variables inherited from Music21Object:
A half step normal Mordent.
>>> m = expressions.HalfStepMordent()
>>> m.direction
'down'
>>> m.size
<music21.interval.Interval m2>
HalfStepMordent bases
HalfStepMordent read-only properties
Read-only properties inherited from Music21Object:
HalfStepMordent read/write properties
Read/write properties inherited from Music21Object:
HalfStepMordent methods
Methods inherited from GeneralMordent:
Methods inherited from Music21Object:
HalfStepMordent instance variables
Instance variables inherited from Mordent:
|
|
|
Instance variables inherited from GeneralMordent:
|
|
|
Instance variables inherited from Ornament:
|
|
|
Instance variables inherited from Expression:
|
|
|
Instance variables inherited from Music21Object:
A basic trill marker.
>>> m = expressions.HalfStepTrill()
>>> m.placement
'above'
>>> m.size
<music21.interval.Interval m2>
HalfStepTrill bases
HalfStepTrill read-only properties
Read-only properties inherited from Music21Object:
HalfStepTrill read/write properties
Read/write properties inherited from Music21Object:
HalfStepTrill methods
Methods inherited from Trill:
Methods inherited from Music21Object:
HalfStepTrill instance variables
Instance variables inherited from Trill:
|
|
|
Instance variables inherited from Ornament:
|
|
|
Instance variables inherited from Expression:
|
|
|
Instance variables inherited from Music21Object:
InvertedAppoggiatura bases
InvertedAppoggiatura read-only properties
Read-only properties inherited from Music21Object:
InvertedAppoggiatura read/write properties
Read/write properties inherited from Music21Object:
InvertedAppoggiatura methods
Methods inherited from GeneralAppoggiatura:
Methods inherited from Music21Object:
InvertedAppoggiatura instance variables
Instance variables inherited from GeneralAppoggiatura:
|
|
|
Instance variables inherited from Ornament:
|
|
|
Instance variables inherited from Expression:
|
|
|
Instance variables inherited from Music21Object:
An inverted Mordent.
>>> m = expressions.InvertedMordent()
>>> m.direction
'up'
>>> m.size
<music21.interval.Interval M2>
InvertedMordent bases
InvertedMordent read-only properties
Read-only properties inherited from Music21Object:
InvertedMordent read/write properties
Read/write properties inherited from Music21Object:
InvertedMordent methods
Methods inherited from GeneralMordent:
Methods inherited from Music21Object:
InvertedMordent instance variables
Instance variables inherited from GeneralMordent:
|
|
|
Instance variables inherited from Ornament:
|
|
|
Instance variables inherited from Expression:
|
|
|
Instance variables inherited from Music21Object:
InvertedTurn bases
InvertedTurn read-only properties
Read-only properties inherited from Music21Object:
InvertedTurn read/write properties
Read/write properties inherited from Music21Object:
InvertedTurn methods
Methods inherited from Turn:
Methods inherited from Music21Object:
InvertedTurn instance variables
Instance variables inherited from Turn:
|
|
|
Instance variables inherited from Ornament:
|
|
|
Instance variables inherited from Expression:
|
|
|
Instance variables inherited from Music21Object:
A normal Mordent.
>>> m = expressions.Mordent()
>>> m.direction
'down'
>>> m.size
<music21.interval.Interval M2>
Mordent bases
Mordent read-only properties
Read-only properties inherited from Music21Object:
Mordent read/write properties
Read/write properties inherited from Music21Object:
Mordent methods
Methods inherited from GeneralMordent:
Methods inherited from Music21Object:
Mordent instance variables
Instance variables inherited from GeneralMordent:
|
|
|
Instance variables inherited from Ornament:
|
|
|
Instance variables inherited from Expression:
|
|
|
Instance variables inherited from Music21Object:
Ornament bases
Ornament read-only properties
Read-only properties inherited from Music21Object:
Ornament read/write properties
Read/write properties inherited from Music21Object:
Ornament methods
subclassible method call that takes a sourceObject and returns a three-element tuple of a list of notes before the “main note”, the “main note” itself, and a list of notes after the “main note”.
Methods inherited from Music21Object:
Ornament instance variables
Instance variables inherited from Expression:
|
|
|
Instance variables inherited from Music21Object:
Schleifer bases
Schleifer read-only properties
Read-only properties inherited from Music21Object:
Schleifer read/write properties
Read/write properties inherited from Music21Object:
Schleifer methods
Methods inherited from Ornament:
Methods inherited from Music21Object:
Schleifer instance variables
Instance variables inherited from Ornament:
|
|
|
Instance variables inherited from Expression:
|
|
|
Instance variables inherited from Music21Object:
Shake bases
Shake read-only properties
Read-only properties inherited from Music21Object:
Shake read/write properties
Read/write properties inherited from Music21Object:
Shake methods
Methods inherited from Trill:
Methods inherited from Music21Object:
Shake instance variables
Instance variables inherited from Trill:
|
|
|
Instance variables inherited from Ornament:
|
|
|
Instance variables inherited from Expression:
|
|
|
Instance variables inherited from Music21Object:
A tremolo, which may be a single or multi-note spanner
Tremolo bases
Tremolo read-only properties
Read-only properties inherited from Music21Object:
Tremolo read/write properties
Read/write properties inherited from Music21Object:
Tremolo methods
Methods inherited from Spanner:
Methods inherited from Music21Object:
Tremolo instance variables
Instance variables inherited from Spanner:
|
|
|
Instance variables inherited from Music21Object:
A basic trill marker.
>>> m = expressions.Trill()
>>> m.placement
'above'
>>> m.size
<music21.interval.Interval M2>
Trill bases
Trill read-only properties
Read-only properties inherited from Music21Object:
Trill read/write properties
Read/write properties inherited from Music21Object:
Trill methods
realize a trill.
returns a three-element tuple. The first is a list of the notes that the note was converted to. The second is None because the trill “eats up” the whole note. The third is a list of the notes at the end if nachschlag is True, and empty list if False.
>>> n1 = note.Note("C4")
>>> n1.quarterLength = 0.5
>>> t1 = expressions.Trill()
>>> t1.realize(n1)
([<music21.note.Note C>, <music21.note.Note D>, <music21.note.Note C>, <music21.note.Note D>], None, [])
>>> n2 = note.Note("D4")
>>> n2.quarterLength = 0.125
>>> t2 = expressions.Trill()
>>> t2.realize(n2)
Traceback (most recent call last):
...
ExpressionException: The note is not long enough to realize a trill
Methods inherited from Music21Object:
Trill instance variables
Instance variables inherited from Ornament:
|
|
|
Instance variables inherited from Expression:
|
|
|
Instance variables inherited from Music21Object:
A wavy line trill extension, placed between two notes. Note that some MusicXML readers include a trill symbol with the wavy line.
>>> s = stream.Stream()
>>> s.repeatAppend(note.Note(), 8)
>>> # create between notes 2 and 3
>>> te = expressions.TrillExtension(s.notes[1], s.notes[2])
>>> s.append(te) # can go anywhere in the Stream
>>> te.getDurationBySite(s).quarterLength
2.0
>>> print(te)
<music21.expressions.TrillExtension <music21.note.Note C><music21.note.Note C>>
TrillExtension bases
TrillExtension read-only properties
Read-only properties inherited from Music21Object:
TrillExtension read/write properties
Get or set the placement as either above or below.
>>> s = stream.Stream()
>>> s.repeatAppend(note.Note(), 8)
>>> te = expressions.TrillExtension(s.notes[1], s.notes[2])
>>> te.placement = 'above'
>>> te.placement
'above'
Read/write properties inherited from Music21Object:
TrillExtension methods
Methods inherited from Spanner:
Methods inherited from Music21Object:
TrillExtension instance variables
Instance variables inherited from Spanner:
|
|
|
Instance variables inherited from Music21Object:
Turn bases
Turn read-only properties
Read-only properties inherited from Music21Object:
Turn read/write properties
Read/write properties inherited from Music21Object:
Turn methods
realize a turn.
returns a three-element tuple. The first is a list of the four notes that the beginning of the note was converted to. The second is a note of duration 0 because the turn “eats up” the whole note. The third is a list of the notes at the end if nachschlag is True, and empty list if False.
>>> from music21 import *
>>> m1 = stream.Measure()
>>> m1.append(key.Key('F', 'major'))
>>> n1 = note.Note("C5")
>>> m1.append(n1)
>>> t1 = expressions.Turn()
>>> t1.realize(n1)
([], <music21.note.Note C>, [<music21.note.Note D>, <music21.note.Note C>, <music21.note.Note B->, <music21.note.Note C>])
>>> m2 = stream.Measure()
>>> m2.append(key.KeySignature(5))
>>> n2 = note.Note("B4")
>>> m2.append(n2)
>>> t2 = expressions.InvertedTurn()
>>> t2.realize(n2)
([], <music21.note.Note B>, [<music21.note.Note A#>, <music21.note.Note B>, <music21.note.Note C#>, <music21.note.Note B>])
>>> n2 = note.Note("C4")
>>> n2.quarterLength = 0.125
>>> t2 = expressions.Turn()
>>> t2.realize(n2)
Traceback (most recent call last):
...
ExpressionException: The note is not long enough to realize a turn
Methods inherited from Music21Object:
Turn instance variables
Instance variables inherited from Ornament:
|
|
|
Instance variables inherited from Expression:
|
|
|
Instance variables inherited from Music21Object:
WholeStepAppoggiatura bases
WholeStepAppoggiatura read-only properties
Read-only properties inherited from Music21Object:
WholeStepAppoggiatura read/write properties
Read/write properties inherited from Music21Object:
WholeStepAppoggiatura methods
Methods inherited from GeneralAppoggiatura:
Methods inherited from Music21Object:
WholeStepAppoggiatura instance variables
Instance variables inherited from Appoggiatura:
|
|
|
Instance variables inherited from GeneralAppoggiatura:
|
|
|
Instance variables inherited from Ornament:
|
|
|
Instance variables inherited from Expression:
|
|
|
Instance variables inherited from Music21Object:
WholeStepInvertedAppoggiatura bases
WholeStepInvertedAppoggiatura read-only properties
Read-only properties inherited from Music21Object:
WholeStepInvertedAppoggiatura read/write properties
Read/write properties inherited from Music21Object:
WholeStepInvertedAppoggiatura methods
Methods inherited from GeneralAppoggiatura:
Methods inherited from Music21Object:
WholeStepInvertedAppoggiatura instance variables
Instance variables inherited from InvertedAppoggiatura:
|
|
|
Instance variables inherited from GeneralAppoggiatura:
|
|
|
Instance variables inherited from Ornament:
|
|
|
Instance variables inherited from Expression:
|
|
|
Instance variables inherited from Music21Object:
A whole-step inverted Mordent.
>>> m = expressions.WholeStepInvertedMordent()
>>> m.direction
'up'
>>> m.size
<music21.interval.Interval M2>
WholeStepInvertedMordent bases
WholeStepInvertedMordent read-only properties
Read-only properties inherited from Music21Object:
WholeStepInvertedMordent read/write properties
Read/write properties inherited from Music21Object:
WholeStepInvertedMordent methods
Methods inherited from GeneralMordent:
Methods inherited from Music21Object:
WholeStepInvertedMordent instance variables
Instance variables inherited from InvertedMordent:
|
|
|
Instance variables inherited from GeneralMordent:
|
|
|
Instance variables inherited from Ornament:
|
|
|
Instance variables inherited from Expression:
|
|
|
Instance variables inherited from Music21Object:
A whole step normal Mordent.
>>> m = expressions.WholeStepMordent()
>>> m.direction
'down'
>>> m.size
<music21.interval.Interval M2>
WholeStepMordent bases
WholeStepMordent read-only properties
Read-only properties inherited from Music21Object:
WholeStepMordent read/write properties
Read/write properties inherited from Music21Object:
WholeStepMordent methods
Methods inherited from GeneralMordent:
Methods inherited from Music21Object:
WholeStepMordent instance variables
Instance variables inherited from Mordent:
|
|
|
Instance variables inherited from GeneralMordent:
|
|
|
Instance variables inherited from Ornament:
|
|
|
Instance variables inherited from Expression:
|
|
|
Instance variables inherited from Music21Object:
A basic trill marker.
>>> m = expressions.WholeStepTrill()
>>> m.placement
'above'
>>> m.size
<music21.interval.Interval M2>
WholeStepTrill bases
WholeStepTrill read-only properties
Read-only properties inherited from Music21Object:
WholeStepTrill read/write properties
Read/write properties inherited from Music21Object:
WholeStepTrill methods
Methods inherited from Trill:
Methods inherited from Music21Object:
WholeStepTrill instance variables
Instance variables inherited from Trill:
|
|
|
Instance variables inherited from Ornament:
|
|
|
Instance variables inherited from Expression:
|
|
|
Instance variables inherited from Music21Object: