Classes for representing and processing articulations. Specific articulations are modeled as Articulation subclasses.
A Note object has a articulations attribute. This list can be used to store one or more music21.articulation.Articulation subclasses.
As much as possible, MusicXML names are used for Articulation classes, with xxx-yyy changed to XxxYyy. For instance, “strong-accent” in MusicXML is “StrongAccent” here.
Fingering and other playing marks are found here. Fermatas, trills, etc. are found in music21.expressions.
>>> from music21 import *
>>> n1 = note.Note("D#4")
>>> n1.articulations.append(articulations.Tenuto())
>>> n1.show()
>>> c1 = chord.Chord(["C3","G4","E-5"])
>>> c1.articulations = [articulations.OrganHeel(), articulations.Accent() ]
>>> c1.show()
A longer test showing the utility of the module:
>>> from music21 import *
>>> s = stream.Stream()
>>> n1 = note.Note('c#5')
>>> n1.articulations = [articulations.Accent()]
>>> n1.quarterLength = 1.25
>>> s.append(n1)
>>> n2 = note.Note('d5')
>>> n2.articulations = [articulations.StrongAccent()]
>>> n2.quarterLength = 0.75
>>> s.append(n2)
>>> n3 = note.Note('b4')
>>> n3.articulations = [articulations.Staccato()]
>>> n3.quarterLength = 1.25
>>> n3.tie = tie.Tie('start')
>>> s.append(n3)
>>> n4 = note.Note('b4')
>>> n4.articulations = [articulations.Staccatissimo()]
>>> n4.quarterLength = 0.75
>>> s.append(n4)
>>> n5 = note.Note('a4')
>>> n5.articulations = [articulations.Tenuto()]
>>> n5.quarterLength = 1.3333333333333
>>> s.append(n5)
>>> n6 = note.Note('b-4')
>>> n6.articulations = [articulations.Staccatissimo(), articulations.Tenuto()]
>>> n6.quarterLength = 0.6666666666667
>>> s.append(n6)
>>> s.metadata = metadata.Metadata()
>>> s.metadata.title = 'Prova articolazioni' # ital: "Articulation Test"
>>> s.metadata.composer = 'Giuliano Lancioni'
>>> s.show()
Inherits from: Music21Object, JSONSerializer
Base class for all Articulation sub-classes.
>>> from music21 import *
>>> x = articulations.Articulation()
>>> x.placement = 'below'
Articulation attributes
Attributes without Documentation: placement
Attributes inherited from Music21Object: classSortOrder, isSpanner, isStream, isVariant, hideObjectOnPrint, groups, id
Articulation properties
- mx¶
Advanced method for musicxml output. Not needed by most users.
As a getter: Returns a class (mxArticulationMark) that represents the MusicXML structure of an articulation mark.
>>> from music21 import * >>> a = articulations.Accent() >>> mxArticulationMark = a.mx >>> mxArticulationMark <accent placement=above>As a setter: Provided an musicxml.ArticulationMark object (not an mxArticulations object) configure the music21 object.
Create both a musicxml.ArticulationMark object and a conflicting music21 object:
>>> from music21 import * >>> mxArticulationMark = musicxml.ArticulationMark('accent') >>> mxArticulationMark.set('placement', 'below') >>> a = articulations.Tenuto() >>> a.placement = 'above'Now override the music21 object with the mxArticulationMark object’s characteristics
>>> a.mx = mxArticulationMark >>> a._mxName 'accent' >>> 'Tenuto' in a.classes False >>> 'Accent' in a.classes True >>> a.placement 'below'
- volumeShift¶
Get or set the volumeShift of this Articulation. This value, between -1 and 1, that is used to shift the final Volume of the object it is attached to.
>>> from music21 import * >>> at1 = articulations.StrongAccent() >>> at1.volumeShift > .1 TrueProperties inherited from Music21Object: activeSite, beat, beatDuration, beatStr, beatStrength, classes, derivationHierarchy, duration, isGrace, measureNumber, offset, priority, seconds
Properties inherited from JSONSerializer: json
Articulation methods
Methods inherited from Music21Object: searchActiveSiteByAttr(), getContextAttr(), setContextAttr(), addContext(), addLocation(), addLocationAndActiveSite(), freezeIds(), getAllContextsByClass(), getCommonSiteIds(), getCommonSites(), getContextByClass(), getOffsetBySite(), getSiteIds(), getSites(), getSpannerSites(), hasContext(), hasSite(), hasSpannerSite(), hasVariantSite(), isClassOrSubclass(), mergeAttributes(), next(), previous(), purgeLocations(), purgeOrphans(), purgeUndeclaredIds(), removeLocationBySite(), removeLocationBySiteId(), setOffsetBySite(), show(), splitAtDurations(), splitAtQuarterLength(), splitByQuarterLengths(), unfreezeIds(), unwrapWeakref(), wrapWeakref(), write()
Methods inherited from JSONSerializer: jsonAttributes(), jsonComponentFactory(), jsonPrint(), jsonRead(), jsonWrite()
Inherits from: DynamicArticulation, Articulation, Music21Object, JSONSerializer
>>> from music21 import *
>>> a = articulations.Accent()
Inherits from: TechnicalIndication, Articulation, Music21Object, JSONSerializer
Inherits from: WindIndication, TechnicalIndication, Articulation, Music21Object, JSONSerializer
Inherits from: LengthArticulation, Articulation, Music21Object, JSONSerializer
Inherits from: Articulation, Music21Object, JSONSerializer
Inherits from: LengthArticulation, Articulation, Music21Object, JSONSerializer
>>> from music21 import *
>>> a = articulations.DetachedLegato()
Inherits from: IndeterminantSlide, PitchArticulation, Articulation, Music21Object, JSONSerializer
Inherits from: TonguingIndication, WindIndication, TechnicalIndication, Articulation, Music21Object, JSONSerializer
Inherits from: Bowing, TechnicalIndication, Articulation, Music21Object, JSONSerializer
Inherits from: Articulation, Music21Object, JSONSerializer
Inherits from: IndeterminantSlide, PitchArticulation, Articulation, Music21Object, JSONSerializer
Inherits from: FretIndication, TechnicalIndication, Articulation, Music21Object, JSONSerializer
FretBend attributes
Attributes without Documentation: bendAlter, preBend, release, withBar
Attributes inherited from Articulation: placement
Attributes inherited from Music21Object: classSortOrder, isSpanner, isStream, isVariant, hideObjectOnPrint, groups, id
FretBend properties
Properties inherited from Articulation: mx, volumeShift
Properties inherited from Music21Object: activeSite, beat, beatDuration, beatStr, beatStrength, classes, derivationHierarchy, duration, isGrace, measureNumber, offset, priority, seconds
Properties inherited from JSONSerializer: json
FretBend methods
Methods inherited from Music21Object: searchActiveSiteByAttr(), getContextAttr(), setContextAttr(), addContext(), addLocation(), addLocationAndActiveSite(), freezeIds(), getAllContextsByClass(), getCommonSiteIds(), getCommonSites(), getContextByClass(), getOffsetBySite(), getSiteIds(), getSites(), getSpannerSites(), hasContext(), hasSite(), hasSpannerSite(), hasVariantSite(), isClassOrSubclass(), mergeAttributes(), next(), previous(), purgeLocations(), purgeOrphans(), purgeUndeclaredIds(), removeLocationBySite(), removeLocationBySiteId(), setOffsetBySite(), show(), splitAtDurations(), splitAtQuarterLength(), splitByQuarterLengths(), unfreezeIds(), unwrapWeakref(), wrapWeakref(), write()
Methods inherited from JSONSerializer: jsonAttributes(), jsonComponentFactory(), jsonPrint(), jsonRead(), jsonWrite()
Inherits from: TechnicalIndication, Articulation, Music21Object, JSONSerializer
Inherits from: FretIndication, TechnicalIndication, Articulation, Music21Object, JSONSerializer
Inherits from: FretIndication, TechnicalIndication, Articulation, Music21Object, JSONSerializer
specifies plucking fingering for fretted instruments
Inherits from: FretIndication, TechnicalIndication, Articulation, Music21Object, JSONSerializer
Inherits from: TechnicalIndication, Articulation, Music21Object, JSONSerializer
Inherits from: HarpIndication, TechnicalIndication, Articulation, Music21Object, JSONSerializer
musicXML – fingernails
Inherits from: TechnicalIndication, Articulation, Music21Object, JSONSerializer
Inherits from: PitchArticulation, Articulation, Music21Object, JSONSerializer
Inherits from: Articulation, Music21Object, JSONSerializer
Inherits from: Pizzicato, Bowing, TechnicalIndication, Articulation, Music21Object, JSONSerializer
not in MusicXML
Inherits from: Bowing, TechnicalIndication, Articulation, Music21Object, JSONSerializer
Inherits from: OrganIndication, TechnicalIndication, Articulation, Music21Object, JSONSerializer
Inherits from: TechnicalIndication, Articulation, Music21Object, JSONSerializer
Inherits from: OrganIndication, TechnicalIndication, Articulation, Music21Object, JSONSerializer
Inherits from: Articulation, Music21Object, JSONSerializer
Inherits from: Bowing, TechnicalIndication, Articulation, Music21Object, JSONSerializer
in MusicXML, Pizzicato is an element of every note. Here we represent pizzes along with all bowing marks.
Inherits from: IndeterminantSlide, PitchArticulation, Articulation, Music21Object, JSONSerializer
Inherits from: FretIndication, TechnicalIndication, Articulation, Music21Object, JSONSerializer
Inherits from: IndeterminantSlide, PitchArticulation, Articulation, Music21Object, JSONSerializer
Inherits from: Pizzicato, Bowing, TechnicalIndication, Articulation, Music21Object, JSONSerializer
Inherits from: Staccato, LengthArticulation, Articulation, Music21Object, JSONSerializer
A staccato note + accent in one
>>> from music21 import *
>>> a = articulations.Spiccato()
Inherits from: Staccato, LengthArticulation, Articulation, Music21Object, JSONSerializer
A very short note (derived from staccato), usually represented as a wedge.
>>> from music21 import *
>>> a = articulations.Staccatissimo()
Inherits from: LengthArticulation, Articulation, Music21Object, JSONSerializer
>>> from music21 import *
>>> a = articulations.Staccato()
Inherits from: WindIndication, TechnicalIndication, Articulation, Music21Object, JSONSerializer
Inherits from: DynamicArticulation, Articulation, Music21Object, JSONSerializer
Inherits from: Bowing, TechnicalIndication, Articulation, Music21Object, JSONSerializer
MusicXML – fingering
Inherits from: Bowing, Harmonic, TechnicalIndication, Articulation, Music21Object, JSONSerializer
Inherits from: Bowing, TechnicalIndication, Articulation, Music21Object, JSONSerializer
MusicXML – thumb-position
Inherits from: Accent, DynamicArticulation, Articulation, Music21Object, JSONSerializer
>>> from music21 import *
>>> a = articulations.StrongAccent()
Inherits from: Articulation, Music21Object, JSONSerializer
TechnicalIndications (MusicXML: technical) give performance indications specific to different instrument types, such as harmonics or bowing.
Inherits from: LengthArticulation, Articulation, Music21Object, JSONSerializer
>>> from music21 import *
>>> a = articulations.Tenuto()
Inherits from: Articulation, Music21Object, JSONSerializer
Inherits from: WindIndication, TechnicalIndication, Articulation, Music21Object, JSONSerializer
Inherits from: TonguingIndication, WindIndication, TechnicalIndication, Articulation, Music21Object, JSONSerializer
Inherits from: DynamicArticulation, Articulation, Music21Object, JSONSerializer
Inherits from: Bowing, TechnicalIndication, Articulation, Music21Object, JSONSerializer
Inherits from: TechnicalIndication, Articulation, Music21Object, JSONSerializer
Inherits from: WindIndication, TechnicalIndication, Articulation, Music21Object, JSONSerializer