This module defines numerous subclasses of Clef, providing object representations for all commonly used clefs. Clef objects are often found within Measure objects.
Returns a Clef object given a string like “G2” or “F4” etc.
Inherits from: Music21Object, JSONSerializer
A Clef is a basic music21 object for representing musical clefs (Treble, Bass, etc.)
Some clefs only represent the graphical element of the clef, such as G clef, which is subclassed by TrebleClef() and FrenchViolinClef().
>>> from music21 import *
>>> tc = clef.TrebleClef()
>>> tc.sign
'G'
>>> tc.line
2
Most clefs also have a “lowest note” function which represents the diatonicNoteNum of the note. (Where C4,C#4,C##4,C-4 etc. = 29, all types of D4 = 30, etc.)
>>> tc.lowestLine
31
Clef attributes
- classSortOrder¶
Property which returns an number (int or otherwise) depending on the class of the Music21Object that represents a priority for an object based on its class alone – used as a tie for stream sorting in case two objects have the same offset and priority. Lower numbers are sorted to the left of higher numbers. For instance, Clef, KeySignature, TimeSignature all come (in that order) before Note.
All undefined classes have classSortOrder of 20 – same as note.Note
>>> from music21 import * >>> tc = clef.TrebleClef() >>> tc.classSortOrder 0 >>> ks = key.KeySignature(3) >>> ks.classSortOrder 1New classes can define their own default classSortOrder
>>> class ExampleClass(base.Music21Object): ... classSortOrderDefault = 5 ... >>> ec1 = ExampleClass() >>> ec1.classSortOrder 5Attributes without Documentation: sign, octaveChange, line
Attributes inherited from Music21Object: isSpanner, isStream, isVariant, hideObjectOnPrint, groups, id
Clef properties
- mx¶
Given a music21 Clef object, return a MusicXML Clef object.
This might be moved only into PitchClef.
>>> from music21 import * >>> b = clef.GClef() >>> b <music21.clef.GClef> >>> a = b.mx >>> a.get('sign') 'G' >>> b = clef.Treble8vbClef() >>> b.octaveChange -1 >>> a = b.mx >>> a.get('sign') 'G' >>> a.get('clefOctaveChange') -1Properties inherited from Music21Object: activeSite, beat, beatDuration, beatStr, beatStrength, classes, derivationHierarchy, duration, isGrace, measureNumber, offset, priority, seconds
Properties inherited from JSONSerializer: json
Clef 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: GClef, PitchClef, Clef, Music21Object, JSONSerializer
>>> from music21 import *
>>> a = clef.TrebleClef()
>>> a.sign
'G'
Inherits from: FClef, PitchClef, Clef, Music21Object, JSONSerializer
>>> from music21 import *
>>> a = clef.BassClef()
>>> a.sign
'F'
Inherits from: CClef, PitchClef, Clef, Music21Object, JSONSerializer
>>> from music21 import *
>>> a = clef.AltoClef()
>>> a.sign
'C'
Inherits from: FClef, PitchClef, Clef, Music21Object, JSONSerializer
>>> from music21 import *
>>> a = clef.Bass8vaClef()
>>> a.sign
'F'
Inherits from: FClef, PitchClef, Clef, Music21Object, JSONSerializer
>>> from music21 import *
>>> a = clef.Bass8vbClef()
>>> a.sign
'F'
>>> a.octaveChange
-1
Inherits from: CClef, PitchClef, Clef, Music21Object, JSONSerializer
>>> from music21 import *
>>> a = clef.CBaritoneClef()
>>> a.sign
'C'
>>> a.line
5
Inherits from: PitchClef, Clef, Music21Object, JSONSerializer
>>> from music21 import *
>>> a = clef.CClef()
>>> a.sign
'C'
CClef attributes
Attributes without Documentation: lowestLine
Attributes inherited from Clef: classSortOrder, sign, octaveChange, line
Attributes inherited from Music21Object: isSpanner, isStream, isVariant, hideObjectOnPrint, groups, id
CClef properties
Properties inherited from Clef: mx
Properties inherited from Music21Object: activeSite, beat, beatDuration, beatStr, beatStrength, classes, derivationHierarchy, duration, isGrace, measureNumber, offset, priority, seconds
Properties inherited from JSONSerializer: json
CClef 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: FClef, PitchClef, Clef, Music21Object, JSONSerializer
>>> from music21 import *
>>> a = clef.FBaritoneClef()
>>> a.sign
'F'
>>> a.line
3
>>> b = clef.CBaritoneClef()
>>> a.lowestLine == b.lowestLine
True
>>> a.sign == b.sign
False
Inherits from: PitchClef, Clef, Music21Object, JSONSerializer
>>> from music21 import *
>>> a = clef.FClef()
>>> a.sign
'F'
FClef attributes
Attributes without Documentation: lowestLine
Attributes inherited from Clef: classSortOrder, sign, octaveChange, line
Attributes inherited from Music21Object: isSpanner, isStream, isVariant, hideObjectOnPrint, groups, id
FClef properties
Properties inherited from Clef: mx
Properties inherited from Music21Object: activeSite, beat, beatDuration, beatStr, beatStrength, classes, derivationHierarchy, duration, isGrace, measureNumber, offset, priority, seconds
Properties inherited from JSONSerializer: json
FClef 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: GClef, PitchClef, Clef, Music21Object, JSONSerializer
>>> from music21 import *
>>> a = clef.FrenchViolinClef()
>>> a.sign
'G'
Inherits from: PitchClef, Clef, Music21Object, JSONSerializer
>>> from music21 import *
>>> a = clef.GClef()
>>> a.sign
'G'
GClef attributes
Attributes without Documentation: lowestLine
Attributes inherited from Clef: classSortOrder, sign, octaveChange, line
Attributes inherited from Music21Object: isSpanner, isStream, isVariant, hideObjectOnPrint, groups, id
GClef properties
Properties inherited from Clef: mx
Properties inherited from Music21Object: activeSite, beat, beatDuration, beatStr, beatStrength, classes, derivationHierarchy, duration, isGrace, measureNumber, offset, priority, seconds
Properties inherited from JSONSerializer: json
GClef 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: GClef, PitchClef, Clef, Music21Object, JSONSerializer
>>> from music21 import *
>>> a = clef.GSopranoClef()
>>> a.sign
'G'
Inherits from: CClef, PitchClef, Clef, Music21Object, JSONSerializer
>>> from music21 import *
>>> a = clef.MezzoSopranoClef()
>>> a.sign
'C'
Inherits from: Clef, Music21Object, JSONSerializer
Inherits from: CClef, PitchClef, Clef, Music21Object, JSONSerializer
>>> from music21 import *
>>> a = clef.SopranoClef()
>>> a.sign
'C'
Inherits from: FClef, PitchClef, Clef, Music21Object, JSONSerializer
>>> from music21 import *
>>> a = clef.SubBassClef()
>>> a.sign
'F'
Inherits from: CClef, PitchClef, Clef, Music21Object, JSONSerializer
>>> from music21 import *
>>> a = clef.TenorClef()
>>> a.sign
'C'
>>> a.line
4
Inherits from: TrebleClef, GClef, PitchClef, Clef, Music21Object, JSONSerializer
>>> from music21 import *
>>> a = clef.Treble8vaClef()
>>> a.sign
'G'
>>> a.octaveChange
1
Inherits from: TrebleClef, GClef, PitchClef, Clef, Music21Object, JSONSerializer
>>> from music21 import *
>>> a = clef.Treble8vbClef()
>>> a.sign
'G'
>>> a.octaveChange
-1