Previous topic

music21.chord

Next topic

music21.common

Table Of Contents

Table Of Contents

music21.clef

This module defines numerous subclasses of Clef, providing object representations for all commonly used clefs. Clef objects are often found within Measure objects.

music21.clef.clefFromString(clefString, octaveShift=0)

Returns a Clef object given a string like “G2” or “F4” etc.

>>> from music21 import *
>>> tc = clef.clefFromString("G2")
>>> tc
<music21.clef.TrebleClef>
>>> nonStandard1 = clef.clefFromString("F1")
>>> nonStandard1
<music21.clef.FClef>
>>> nonStandard1.line
1
>>> nonStandard2 = clef.clefFromString("D4")
>>> nonStandard2
<music21.clef.PitchClef>
>>> nonStandard2.sign
'D'
>>> nonStandard2.line
4
>>> tc8vb = clef.clefFromString("G2", -1)
>>> tc8vb
<music21.clef.Treble8vbClef>
>>> tabClef = clef.clefFromString("TAB")
>>> tabClef
<music21.clef.TabClef>

Clef

Inherits from: Music21Object

class music21.clef.Clef

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 *
>>> m21o = base.Music21Object()
>>> m21o.classSortOrder
20

>>> tc = clef.TrebleClef()
>>> tc.classSortOrder
0
>>> ks = key.KeySignature(3)
>>> ks.classSortOrder
1

New classes can define their own default classSortOrder

>>> class ExampleClass(base.Music21Object):
...     classSortOrderDefault = 5
...
>>> ec1 = ExampleClass()
>>> ec1.classSortOrder
5

Attributes without Documentation: sign, octaveChange, line

Attributes inherited from Music21Object: isSpanner, isStream, isVariant, hideObjectOnPrint, xPosition, sites, groups, id

Clef properties

Clef methods

TrebleClef

Inherits from: GClef, PitchClef, Clef, Music21Object

class music21.clef.TrebleClef
>>> from music21 import *
>>> a = clef.TrebleClef()
>>> a.sign
'G'

BassClef

Inherits from: FClef, PitchClef, Clef, Music21Object

class music21.clef.BassClef
>>> from music21 import *
>>> a = clef.BassClef()
>>> a.sign
'F'

AltoClef

Inherits from: CClef, PitchClef, Clef, Music21Object

class music21.clef.AltoClef
>>> from music21 import *
>>> a = clef.AltoClef()
>>> a.sign
'C'

Bass8vaClef

Inherits from: FClef, PitchClef, Clef, Music21Object

class music21.clef.Bass8vaClef
>>> from music21 import *
>>> a = clef.Bass8vaClef()
>>> a.sign
'F'

Bass8vbClef

Inherits from: FClef, PitchClef, Clef, Music21Object

class music21.clef.Bass8vbClef
>>> from music21 import *
>>> a = clef.Bass8vbClef()
>>> a.sign
'F'
>>> a.octaveChange
-1

CBaritoneClef

Inherits from: CClef, PitchClef, Clef, Music21Object

class music21.clef.CBaritoneClef
>>> from music21 import *
>>> a = clef.CBaritoneClef()
>>> a.sign
'C'
>>> a.line
5

FBaritoneClef

Inherits from: FClef, PitchClef, Clef, Music21Object

class music21.clef.FBaritoneClef
>>> 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

FrenchViolinClef

Inherits from: GClef, PitchClef, Clef, Music21Object

class music21.clef.FrenchViolinClef
>>> from music21 import *
>>> a = clef.FrenchViolinClef()
>>> a.sign
'G'

GSopranoClef

Inherits from: GClef, PitchClef, Clef, Music21Object

class music21.clef.GSopranoClef
>>> from music21 import *
>>> a = clef.GSopranoClef()
>>> a.sign
'G'

MezzoSopranoClef

Inherits from: CClef, PitchClef, Clef, Music21Object

class music21.clef.MezzoSopranoClef
>>> from music21 import *
>>> a = clef.MezzoSopranoClef()
>>> a.sign
'C'

NoClef

Inherits from: Clef, Music21Object

class music21.clef.NoClef

represents the absence of a Clef.

PercussionClef

Inherits from: Clef, Music21Object

class music21.clef.PercussionClef

represents a Percussion clef.

PitchClef

Inherits from: Clef, Music21Object

class music21.clef.PitchClef

superclass for all other clef subclasses.

SopranoClef

Inherits from: CClef, PitchClef, Clef, Music21Object

class music21.clef.SopranoClef
>>> from music21 import *
>>> a = clef.SopranoClef()
>>> a.sign
'C'

SubBassClef

Inherits from: FClef, PitchClef, Clef, Music21Object

class music21.clef.SubBassClef

An F clef on the top line.

>>> from music21 import *
>>> a = clef.SubBassClef()
>>> a.sign
'F'

TabClef

Inherits from: Clef, Music21Object

class music21.clef.TabClef

represents a Tablature clef (not used).

TenorClef

Inherits from: CClef, PitchClef, Clef, Music21Object

class music21.clef.TenorClef
>>> from music21 import *
>>> a = clef.TenorClef()
>>> a.sign
'C'
>>> a.line
4

Treble8vaClef

Inherits from: TrebleClef, GClef, PitchClef, Clef, Music21Object

class music21.clef.Treble8vaClef
>>> from music21 import *
>>> a = clef.Treble8vaClef()
>>> a.sign
'G'
>>> a.octaveChange
1

Treble8vbClef

Inherits from: TrebleClef, GClef, PitchClef, Clef, Music21Object

class music21.clef.Treble8vbClef
>>> from music21 import *
>>> a = clef.Treble8vbClef()
>>> a.sign
'G'
>>> a.octaveChange
-1