.. _moduleNote:

music21.note
============

.. WARNING: DO NOT EDIT THIS FILE: AUTOMATICALLY GENERATED.  Edit the .py file directly

.. module:: music21.note

Classes and functions for creating and manipulating notes, ties, and durations. The :class:`~music21.pitch.Pitch` object is stored within, and used to configure, :class:`~music21.note.Note` objects. 


.. function:: noteFromDiatonicNumber(number)


.. function:: sendNoteInfo(music21noteObject)

    Debugging method to print information about a music21 note called by trecento.trecentoCadence, among other places 

Note
----

Inherits from: :class:`~music21.note.NotRest`, :class:`~music21.note.GeneralNote`, :class:`~music21.base.Music21Object`, :class:`~music21.base.JSONSerializer`

.. class:: Note(*arguments, **keywords)

    One of the most important music21 classes, a Note stores a single note (that is, not a rest or an unpitched element) that can be represented by one or more notational units -- so for instance a C quarter-note and a D# eighth-tied-to-32nd are both a single Note object. 

    A Note knows both its total duration and how to express itself as a set of tied notes of different lengths. For instance, a note of 2.5 quarters in length could be half tied to eighth or dotted quarter tied to quarter. 

    The first argument to the Note is the pitch name (with or without octave, see the introduction to :class:`music21.pitch.Pitch`). Further arguments can be specified as keywords (such as type, dots, etc.) and are passed to the underlying :class:`music21.duration.Duration` element. 

    Two notes are considered equal if their most important attributes (such as pitch, duration, articulations, and ornaments) are equal.  Attributes that might change based on the wider context of a note (such as offset, beams, stem direction) are not compared. This test presently does not look at lyrics in establishing equality.  It may in the future. 

    

    

    

    **Note** **attributes**

        .. attribute:: isNote

            Boolean read-only value describing if this object is a Note. 

        .. attribute:: isRest

            Boolean read-only value describing if this is a Rest. 

        .. attribute:: isUnpitched

            Boolean read-only value describing if this is Unpitched. 

        .. attribute:: beams

            A :class:`~music21.beam.Beams` object. 

        .. attribute:: pitch

            A :class:`~music21.pitch.Pitch` object. 

        Attributes inherited from :class:`~music21.note.NotRest`: :attr:`~music21.note.NotRest.stemDirection`

        Attributes inherited from :class:`~music21.note.GeneralNote`: :attr:`~music21.note.GeneralNote.isChord`, :attr:`~music21.note.GeneralNote.expressions`, :attr:`~music21.note.GeneralNote.editorial`, :attr:`~music21.note.GeneralNote.tie`, :attr:`~music21.note.GeneralNote.lyrics`, :attr:`~music21.note.GeneralNote.articulations`

        Attributes inherited from :class:`~music21.base.Music21Object`: :attr:`~music21.base.Music21Object.classSortOrder`, :attr:`~music21.base.Music21Object.hideObjectOnPrint`, :attr:`~music21.base.Music21Object.id`, :attr:`~music21.base.Music21Object.groups`

    **Note** **properties**

        .. attribute:: nameWithOctave

            Return or set the pitch name with octave from the :class:`~music21.pitch.Pitch` object. See :attr:`~music21.pitch.Pitch.nameWithOctave`. 

        .. attribute:: pitchClass

            Return or set the pitch class from the :class:`music21.pitch.Pitch` object. See :attr:`music21.pitch.Pitch.pitchClass`. 

        .. attribute:: accidental

            Return or set the :class:`~music21.pitch.Accidental` object from the :class:`~music21.pitch.Pitch` object. 

        .. attribute:: diatonicNoteNum

            Return the diatonic note number from the :class:`~music21.pitch.Pitch` object. See :attr:`~music21.pitch.Pitch.diatonicNoteNum`. 

        .. attribute:: freq440

            Return or set the freq440 value from the :class:`~music21.pitch.Pitch` object. See :attr:`~music21.pitch.Pitch.freq440`. 

        .. attribute:: frequency

            Return or set the frequency from the :class:`~music21.pitch.Pitch` object. See :attr:`~music21.pitch.Pitch.frequency`. 

        .. attribute:: fullName

            Return the most complete representation of this Note, providing duration and pitch information. 

            >>> from music21 import *
            >>> n = note.Note('A-', quarterLength=1.5)
            >>> n.fullName
            'A- Dotted Quarter (1.5QL)' 
            >>> n = note.Note('E~3', quarterLength=2)
            >>> n.fullName
            'E~3 Half (2.0QL)' 
            >>> n = note.Note('D', quarterLength=.25)
            >>> n.microtone = 25
            >>> n.fullName
            'D(+25c) 16Th (0.25QL)' 

        .. attribute:: microtone

            Return or set the microtone value from the :class:`~music21.pitch.Pitch` object. See :attr:`~music21.pitch.Pitch.microtone`. 

        .. attribute:: midi

            Return or set the numerical MIDI pitch representation from the :class:`~music21.pitch.Pitch` object. See :attr:`~music21.pitch.Pitch.midi`. 

        .. attribute:: midiEvents

            Get or set this chord as a list of :class:`music21.midi.base.MidiEvent` objects. 

            >>> from music21 import *
            >>> n = note.Note()
            >>> n.midiEvents
            [<MidiEvent DeltaTime, t=0, track=None, channel=None>, <MidiEvent NOTE_ON, t=None, track=None, channel=1, pitch=60, velocity=90>, <MidiEvent DeltaTime, t=1024, track=None, channel=None>, <MidiEvent NOTE_OFF, t=None, track=None, channel=1, pitch=60, velocity=0>] 

        .. attribute:: midiFile

            Return a complete :class:`music21.midi.base.MidiFile` object based on the Note. The :class:`music21.midi.base.MidiFile` object can be used to write a MIDI file of this Note with default parameters using the :meth:`music21.midi.base.MidiFile.write` method, given a file path. The file must be opened in 'wb' mode. 

            >>> from music21 import *
            >>> n = note.Note()
            >>> mf = n.midiFile
            >>> mf.open('/Volumes/xdisc/_scratch/midi.mid', 'wb')
            >>> mf.write()
            >>> mf.close()

        .. attribute:: mx

            No documentation. 

        .. attribute:: name

            Return or set the pitch name from the :class:`~music21.pitch.Pitch` object. See :attr:`~music21.pitch.Pitch.name`. 

        .. attribute:: octave

            Return or set the octave value from the :class:`~music21.pitch.Pitch` object. See :attr:`~music21.pitch.Pitch.octave`. 

        .. attribute:: pitchClassString

            Return or set the pitch class string from the :class:`~music21.pitch.Pitch` object. See :attr:`~music21.pitch.Pitch.pitchClassString`. 

        .. attribute:: pitchNames

            Return a list of Pitch names from  :attr:`~music21.pitch.Pitch.name`. This property is designed to provide an interface analogous to that found on :class:`~music21.chord.Chord`. 

            >>> from music21 import *
            >>> n = note.Note('g#')
            >>> n.name
            'G#' 
            >>> n.pitchNames
            ['G#'] 
            >>> n.pitchNames = [pitch.Pitch('c2'), pitch.Pitch('g2')]
            >>> n.name
            'C' 
            >>> n.pitchNames
            ['C'] 

        .. attribute:: pitches

            Return the :class:`~music21.pitch.Pitch` object in a list. This property is designed to provide an interface analogous to that found on :class:`~music21.chord.Chord`. 

            >>> from music21 import *
            >>> n = note.Note('g#')
            >>> n.nameWithOctave
            'G#' 
            >>> n.pitches
            [G#] 
            >>> n.pitches = [pitch.Pitch('c2'), pitch.Pitch('g2')]
            >>> n.nameWithOctave
            'C2' 
            >>> n.pitches
            [C2] 

        .. attribute:: ps

            Return or set the numerical pitch space representation from the :class:`music21.pitch.Pitch` object. See :attr:`music21.pitch.Pitch.ps`. 

        .. attribute:: step

            Return or set the pitch step from the :class:`~music21.pitch.Pitch` object. See :attr:`~music21.pitch.Pitch.step`. 

        Properties inherited from :class:`~music21.note.GeneralNote`: :attr:`~music21.note.GeneralNote.quarterLength`, :attr:`~music21.note.GeneralNote.color`, :attr:`~music21.note.GeneralNote.lily`, :attr:`~music21.note.GeneralNote.lyric`, :attr:`~music21.note.GeneralNote.musicxml`

        Properties inherited from :class:`~music21.base.Music21Object`: :attr:`~music21.base.Music21Object.duration`, :attr:`~music21.base.Music21Object.activeSite`, :attr:`~music21.base.Music21Object.beat`, :attr:`~music21.base.Music21Object.beatDuration`, :attr:`~music21.base.Music21Object.beatStr`, :attr:`~music21.base.Music21Object.beatStrength`, :attr:`~music21.base.Music21Object.classes`, :attr:`~music21.base.Music21Object.derivationHierarchy`, :attr:`~music21.base.Music21Object.measureNumber`, :attr:`~music21.base.Music21Object.offset`, :attr:`~music21.base.Music21Object.priority`

        Properties inherited from :class:`~music21.base.JSONSerializer`: :attr:`~music21.base.JSONSerializer.json`

    **Note** **methods**

        .. method:: setAccidental(accidental)

            This method is obsolete: use the `accidental` property instead. 

        .. method:: transpose(value, inPlace=False)

            Transpose the Note by the user-provided value. If the value is an integer, the transposition is treated in half steps. If the value is a string, any Interval string specification can be provided. 

            >>> from music21 import *
            >>> a = note.Note('g4')
            >>> b = a.transpose('m3')
            >>> b
            <music21.note.Note B-> 
            >>> aInterval = interval.Interval(-6)
            >>> b = a.transpose(aInterval)
            >>> b
            <music21.note.Note C#> 
            >>> a.transpose(aInterval, inPlace=True)
            >>> a
            <music21.note.Note C#> 

            

        Methods inherited from :class:`~music21.note.GeneralNote`: :meth:`~music21.note.GeneralNote.addLyric`, :meth:`~music21.note.GeneralNote.augmentOrDiminish`, :meth:`~music21.note.GeneralNote.compactNoteInfo`, :meth:`~music21.note.GeneralNote.hasLyrics`

        Methods inherited from :class:`~music21.base.Music21Object`: :meth:`~music21.base.Music21Object.addContext`, :meth:`~music21.base.Music21Object.addLocation`, :meth:`~music21.base.Music21Object.addLocationAndActiveSite`, :meth:`~music21.base.Music21Object.freezeIds`, :meth:`~music21.base.Music21Object.getAllContextsByClass`, :meth:`~music21.base.Music21Object.getCommonSiteIds`, :meth:`~music21.base.Music21Object.getCommonSites`, :meth:`~music21.base.Music21Object.getContextAttr`, :meth:`~music21.base.Music21Object.getContextByClass`, :meth:`~music21.base.Music21Object.getOffsetBySite`, :meth:`~music21.base.Music21Object.getSiteIds`, :meth:`~music21.base.Music21Object.getSites`, :meth:`~music21.base.Music21Object.getSpannerSites`, :meth:`~music21.base.Music21Object.hasContext`, :meth:`~music21.base.Music21Object.mergeAttributes`, :meth:`~music21.base.Music21Object.purgeLocations`, :meth:`~music21.base.Music21Object.removeLocationBySite`, :meth:`~music21.base.Music21Object.removeLocationBySiteId`, :meth:`~music21.base.Music21Object.searchParentByAttr`, :meth:`~music21.base.Music21Object.setContextAttr`, :meth:`~music21.base.Music21Object.setOffsetBySite`, :meth:`~music21.base.Music21Object.show`, :meth:`~music21.base.Music21Object.splitAtDurations`, :meth:`~music21.base.Music21Object.splitAtQuarterLength`, :meth:`~music21.base.Music21Object.splitByQuarterLengths`, :meth:`~music21.base.Music21Object.unfreezeIds`, :meth:`~music21.base.Music21Object.unwrapWeakref`, :meth:`~music21.base.Music21Object.wrapWeakref`, :meth:`~music21.base.Music21Object.write`

        Methods inherited from :class:`~music21.base.JSONSerializer`: :meth:`~music21.base.JSONSerializer.jsonAttributes`, :meth:`~music21.base.JSONSerializer.jsonComponentFactory`, :meth:`~music21.base.JSONSerializer.jsonPrint`, :meth:`~music21.base.JSONSerializer.jsonRead`, :meth:`~music21.base.JSONSerializer.jsonWrite`


Rest
----

Inherits from: :class:`~music21.note.GeneralNote`, :class:`~music21.base.Music21Object`, :class:`~music21.base.JSONSerializer`

.. class:: Rest(*arguments, **keywords)

    General rest class 

    **Rest** **attributes**

        .. attribute:: isNote

            Boolean read-only value describing if this GeneralNote object is a Note. Is False 

        .. attribute:: isRest

            Boolean read-only value describing if this GeneralNote object is a Rest. Is False 

        Attributes without Documentation: `isUnpitched`, `name`

        Attributes inherited from :class:`~music21.note.GeneralNote`: :attr:`~music21.note.GeneralNote.editorial`, :attr:`~music21.note.GeneralNote.isChord`, :attr:`~music21.note.GeneralNote.expressions`, :attr:`~music21.note.GeneralNote.tie`, :attr:`~music21.note.GeneralNote.lyrics`, :attr:`~music21.note.GeneralNote.articulations`

        Attributes inherited from :class:`~music21.base.Music21Object`: :attr:`~music21.base.Music21Object.classSortOrder`, :attr:`~music21.base.Music21Object.hideObjectOnPrint`, :attr:`~music21.base.Music21Object.id`, :attr:`~music21.base.Music21Object.groups`

    **Rest** **properties**

        .. attribute:: mx

            Returns a List of mxNotes Attributes of notes are merged from different locations: first from the duration objects, then from the pitch objects. Finally, GeneralNote attributes are added 

        Properties inherited from :class:`~music21.note.GeneralNote`: :attr:`~music21.note.GeneralNote.quarterLength`, :attr:`~music21.note.GeneralNote.color`, :attr:`~music21.note.GeneralNote.lily`, :attr:`~music21.note.GeneralNote.lyric`, :attr:`~music21.note.GeneralNote.musicxml`

        Properties inherited from :class:`~music21.base.Music21Object`: :attr:`~music21.base.Music21Object.duration`, :attr:`~music21.base.Music21Object.activeSite`, :attr:`~music21.base.Music21Object.beat`, :attr:`~music21.base.Music21Object.beatDuration`, :attr:`~music21.base.Music21Object.beatStr`, :attr:`~music21.base.Music21Object.beatStrength`, :attr:`~music21.base.Music21Object.classes`, :attr:`~music21.base.Music21Object.derivationHierarchy`, :attr:`~music21.base.Music21Object.measureNumber`, :attr:`~music21.base.Music21Object.offset`, :attr:`~music21.base.Music21Object.priority`

        Properties inherited from :class:`~music21.base.JSONSerializer`: :attr:`~music21.base.JSONSerializer.json`

    **Rest** **methods**

        Methods inherited from :class:`~music21.note.GeneralNote`: :meth:`~music21.note.GeneralNote.addLyric`, :meth:`~music21.note.GeneralNote.augmentOrDiminish`, :meth:`~music21.note.GeneralNote.compactNoteInfo`, :meth:`~music21.note.GeneralNote.hasLyrics`

        Methods inherited from :class:`~music21.base.Music21Object`: :meth:`~music21.base.Music21Object.addContext`, :meth:`~music21.base.Music21Object.addLocation`, :meth:`~music21.base.Music21Object.addLocationAndActiveSite`, :meth:`~music21.base.Music21Object.freezeIds`, :meth:`~music21.base.Music21Object.getAllContextsByClass`, :meth:`~music21.base.Music21Object.getCommonSiteIds`, :meth:`~music21.base.Music21Object.getCommonSites`, :meth:`~music21.base.Music21Object.getContextAttr`, :meth:`~music21.base.Music21Object.getContextByClass`, :meth:`~music21.base.Music21Object.getOffsetBySite`, :meth:`~music21.base.Music21Object.getSiteIds`, :meth:`~music21.base.Music21Object.getSites`, :meth:`~music21.base.Music21Object.getSpannerSites`, :meth:`~music21.base.Music21Object.hasContext`, :meth:`~music21.base.Music21Object.mergeAttributes`, :meth:`~music21.base.Music21Object.purgeLocations`, :meth:`~music21.base.Music21Object.removeLocationBySite`, :meth:`~music21.base.Music21Object.removeLocationBySiteId`, :meth:`~music21.base.Music21Object.searchParentByAttr`, :meth:`~music21.base.Music21Object.setContextAttr`, :meth:`~music21.base.Music21Object.setOffsetBySite`, :meth:`~music21.base.Music21Object.show`, :meth:`~music21.base.Music21Object.splitAtDurations`, :meth:`~music21.base.Music21Object.splitAtQuarterLength`, :meth:`~music21.base.Music21Object.splitByQuarterLengths`, :meth:`~music21.base.Music21Object.unfreezeIds`, :meth:`~music21.base.Music21Object.unwrapWeakref`, :meth:`~music21.base.Music21Object.wrapWeakref`, :meth:`~music21.base.Music21Object.write`

        Methods inherited from :class:`~music21.base.JSONSerializer`: :meth:`~music21.base.JSONSerializer.jsonAttributes`, :meth:`~music21.base.JSONSerializer.jsonComponentFactory`, :meth:`~music21.base.JSONSerializer.jsonPrint`, :meth:`~music21.base.JSONSerializer.jsonRead`, :meth:`~music21.base.JSONSerializer.jsonWrite`


EighthNote
----------

Inherits from: :class:`~music21.note.Note`, :class:`~music21.note.NotRest`, :class:`~music21.note.GeneralNote`, :class:`~music21.base.Music21Object`, :class:`~music21.base.JSONSerializer`

.. class:: EighthNote(*arguments, **keywords)



GeneralNote
-----------

Inherits from: :class:`~music21.base.Music21Object`, :class:`~music21.base.JSONSerializer`

.. class:: GeneralNote(*arguments, **keywords)

    A GeneralNote object is the base class object for the :class:`~music21.note.Note`, :class:`~music21.note.Rest`, :class:`~music21.note.Chord`, and related objects. 

    Keywords can be passed to a GeneralNote which are then passed to the underlying :class:`music21.duration.Duration`. These keywords might be listed like type='16th', dots=2 etc. to create a double-dotted sixteenth note. 

    In almost every circumstance, you should create note.Note() or note.Rest() or note.Chord() objects directly, and not use this underlying structure. 

    

    >>> from music21 import *
    >>> gn = note.GeneralNote(type = '16th', dots = 2)
    >>> gn.quarterLength
    0.4375 

    

    **GeneralNote** **attributes**

        .. attribute:: editorial

            a :class:`~music21.editorial.NoteEditorial` object that stores editorial information (comments, harmonic information, ficta) and certain display information (color, hidden-state). 

        .. attribute:: isChord

            Boolean read-only value describing if this GeneralNote object is a Chord. Is True 

        .. attribute:: tie

            either None or a :class:`~music21.note.Tie` object. 

        .. attribute:: lyrics

            A list of :class:`~music21.note.Lyric` objects. 

        Attributes without Documentation: `expressions`, `articulations`

        Attributes inherited from :class:`~music21.base.Music21Object`: :attr:`~music21.base.Music21Object.classSortOrder`, :attr:`~music21.base.Music21Object.hideObjectOnPrint`, :attr:`~music21.base.Music21Object.id`, :attr:`~music21.base.Music21Object.groups`

    **GeneralNote** **properties**

        .. attribute:: quarterLength

            Return the Duration as represented in Quarter Length. 

            >>> from music21 import *
            >>> n = note.Note()
            >>> n.quarterLength = 2.0
            >>> n.quarterLength
            2.0 

        .. attribute:: color

            Return the Note color. 

        .. attribute:: lily

            read-only property that returns a LilyString of the lilypond representation of a note (or via subclassing, rest or chord) 

            >>> from music21 import *
            >>> n1 = note.Note("C#5")
            >>> n1.tie = tie.Tie('start')
            >>> n1.articulations = [articulations.Accent()]  ## DOES NOTHING RIGHT NOW
            >>> n1.quarterLength = 1.25
            >>> n1.lily
            cis''4~ cis''16~ 
            >>> r1 = note.Rest()
            >>> r1.duration.type = "half"
            >>> r1.lily
            r2 
            >>> r2 = note.Rest()
            >>> r2.quarterLength = 1.25
            >>> r2.lily
            r4 r16 
            >>> c1 = chord.Chord(["C#2", "E4", "D#5"])
            >>> c1.quarterLength = 2.5   # BUG: 2.333333333 doesnt work yet
            >>> c1.lily
            <cis, e' dis''>2~ <cis, e' dis''>8 

            

        .. attribute:: lyric

            The lyric property can be used to get and set a lyric for this Note, Chord, or Rest. In most cases the :meth:`~music21.note.GeneralNote.addLyric` method should be used. 

        .. attribute:: musicxml

            Return a complete musicxml representation. 

        Properties inherited from :class:`~music21.base.Music21Object`: :attr:`~music21.base.Music21Object.duration`, :attr:`~music21.base.Music21Object.activeSite`, :attr:`~music21.base.Music21Object.beat`, :attr:`~music21.base.Music21Object.beatDuration`, :attr:`~music21.base.Music21Object.beatStr`, :attr:`~music21.base.Music21Object.beatStrength`, :attr:`~music21.base.Music21Object.classes`, :attr:`~music21.base.Music21Object.derivationHierarchy`, :attr:`~music21.base.Music21Object.measureNumber`, :attr:`~music21.base.Music21Object.offset`, :attr:`~music21.base.Music21Object.priority`

        Properties inherited from :class:`~music21.base.JSONSerializer`: :attr:`~music21.base.JSONSerializer.json`

    **GeneralNote** **methods**

        .. method:: addLyric(text, lyricNumber=None)

            Adds a lyric, or an additional lyric, to a Note, Chord, or Rest's lyric list. If `lyricNumber` is not None, a specific line of lyric text can be set. 

            >>> from music21 import *
            >>> n1 = note.Note()
            >>> n1.addLyric("hello")
            >>> n1.lyrics[0].text
            'hello' 
            >>> n1.lyrics[0].number
            1 
            >>> # note that the option number specified gives the lyric number, not the list position
            >>> n1.addLyric("bye", 3)
            >>> n1.lyrics[1].text
            'bye' 
            >>> n1.lyrics[1].number
            3 
            >>> # replace existing lyric
            >>> n1.addLyric("ciao", 3)
            >>> n1.lyrics[1].text
            'ciao' 
            >>> n1.lyrics[1].number
            3 

        .. method:: augmentOrDiminish(scalar, inPlace=True)

            Given a scalar greater than zero, return a Note with a scaled Duration. If `inPlace` is True, this is done in-place and the method returns None. If `inPlace` is False, this returns a modified deep copy. 

            >>> from music21 import *
            >>> n = note.Note('g#')
            >>> n.quarterLength = 3
            >>> n.augmentOrDiminish(2)
            >>> n.quarterLength
            6 
            >>> c = chord.Chord(['g#','A#','d'])
            >>> n.quarterLength = 2
            >>> n.augmentOrDiminish(.25)
            >>> n.quarterLength
            0.5 
            >>> n = note.Note('g#')
            >>> n.augmentOrDiminish(-1)
            Traceback (most recent call last): 
            NoteException: scalar must be greater than zero 

        .. method:: compactNoteInfo()

            A debugging info tool, returning information about a note E- E 4 flat 16th 0.166666666667 & is a tuplet (in fact STOPS the tuplet) 

        .. method:: hasLyrics()

            Return True if this object has any lyrics defined 

        Methods inherited from :class:`~music21.base.Music21Object`: :meth:`~music21.base.Music21Object.addContext`, :meth:`~music21.base.Music21Object.addLocation`, :meth:`~music21.base.Music21Object.addLocationAndActiveSite`, :meth:`~music21.base.Music21Object.freezeIds`, :meth:`~music21.base.Music21Object.getAllContextsByClass`, :meth:`~music21.base.Music21Object.getCommonSiteIds`, :meth:`~music21.base.Music21Object.getCommonSites`, :meth:`~music21.base.Music21Object.getContextAttr`, :meth:`~music21.base.Music21Object.getContextByClass`, :meth:`~music21.base.Music21Object.getOffsetBySite`, :meth:`~music21.base.Music21Object.getSiteIds`, :meth:`~music21.base.Music21Object.getSites`, :meth:`~music21.base.Music21Object.getSpannerSites`, :meth:`~music21.base.Music21Object.hasContext`, :meth:`~music21.base.Music21Object.mergeAttributes`, :meth:`~music21.base.Music21Object.purgeLocations`, :meth:`~music21.base.Music21Object.removeLocationBySite`, :meth:`~music21.base.Music21Object.removeLocationBySiteId`, :meth:`~music21.base.Music21Object.searchParentByAttr`, :meth:`~music21.base.Music21Object.setContextAttr`, :meth:`~music21.base.Music21Object.setOffsetBySite`, :meth:`~music21.base.Music21Object.show`, :meth:`~music21.base.Music21Object.splitAtDurations`, :meth:`~music21.base.Music21Object.splitAtQuarterLength`, :meth:`~music21.base.Music21Object.splitByQuarterLengths`, :meth:`~music21.base.Music21Object.unfreezeIds`, :meth:`~music21.base.Music21Object.unwrapWeakref`, :meth:`~music21.base.Music21Object.wrapWeakref`, :meth:`~music21.base.Music21Object.write`

        Methods inherited from :class:`~music21.base.JSONSerializer`: :meth:`~music21.base.JSONSerializer.jsonAttributes`, :meth:`~music21.base.JSONSerializer.jsonComponentFactory`, :meth:`~music21.base.JSONSerializer.jsonPrint`, :meth:`~music21.base.JSONSerializer.jsonRead`, :meth:`~music21.base.JSONSerializer.jsonWrite`


HalfNote
--------

Inherits from: :class:`~music21.note.Note`, :class:`~music21.note.NotRest`, :class:`~music21.note.GeneralNote`, :class:`~music21.base.Music21Object`, :class:`~music21.base.JSONSerializer`

.. class:: HalfNote(*arguments, **keywords)



Lyric
-----



.. class:: Lyric(text=None, number=1, syllabic=None)


    **Lyric** **attributes**

        Attributes without Documentation: `text`, `syllabic`, `number`

    **Lyric** **properties**

        .. attribute:: mx

            Returns an mxLyric 

            >>> from music21 import *
            >>> a = note.Lyric()
            >>> a.text = 'hello'
            >>> mxLyric = a.mx
            >>> mxLyric.get('text')
            'hello' 


NotRest
-------

Inherits from: :class:`~music21.note.GeneralNote`, :class:`~music21.base.Music21Object`, :class:`~music21.base.JSONSerializer`

.. class:: NotRest(*arguments, **keywords)

    Parent class for objects that are not rests; or, an object with a stem that can be tied. 

    **NotRest** **attributes**

        Attributes without Documentation: `stemDirection`

        Attributes inherited from :class:`~music21.note.GeneralNote`: :attr:`~music21.note.GeneralNote.editorial`, :attr:`~music21.note.GeneralNote.isChord`, :attr:`~music21.note.GeneralNote.expressions`, :attr:`~music21.note.GeneralNote.tie`, :attr:`~music21.note.GeneralNote.lyrics`, :attr:`~music21.note.GeneralNote.articulations`

        Attributes inherited from :class:`~music21.base.Music21Object`: :attr:`~music21.base.Music21Object.classSortOrder`, :attr:`~music21.base.Music21Object.hideObjectOnPrint`, :attr:`~music21.base.Music21Object.id`, :attr:`~music21.base.Music21Object.groups`

    **NotRest** **properties**

        Properties inherited from :class:`~music21.note.GeneralNote`: :attr:`~music21.note.GeneralNote.quarterLength`, :attr:`~music21.note.GeneralNote.color`, :attr:`~music21.note.GeneralNote.lily`, :attr:`~music21.note.GeneralNote.lyric`, :attr:`~music21.note.GeneralNote.musicxml`

        Properties inherited from :class:`~music21.base.Music21Object`: :attr:`~music21.base.Music21Object.duration`, :attr:`~music21.base.Music21Object.activeSite`, :attr:`~music21.base.Music21Object.beat`, :attr:`~music21.base.Music21Object.beatDuration`, :attr:`~music21.base.Music21Object.beatStr`, :attr:`~music21.base.Music21Object.beatStrength`, :attr:`~music21.base.Music21Object.classes`, :attr:`~music21.base.Music21Object.derivationHierarchy`, :attr:`~music21.base.Music21Object.measureNumber`, :attr:`~music21.base.Music21Object.offset`, :attr:`~music21.base.Music21Object.priority`

        Properties inherited from :class:`~music21.base.JSONSerializer`: :attr:`~music21.base.JSONSerializer.json`

    **NotRest** **methods**

        Methods inherited from :class:`~music21.note.GeneralNote`: :meth:`~music21.note.GeneralNote.addLyric`, :meth:`~music21.note.GeneralNote.augmentOrDiminish`, :meth:`~music21.note.GeneralNote.compactNoteInfo`, :meth:`~music21.note.GeneralNote.hasLyrics`

        Methods inherited from :class:`~music21.base.Music21Object`: :meth:`~music21.base.Music21Object.addContext`, :meth:`~music21.base.Music21Object.addLocation`, :meth:`~music21.base.Music21Object.addLocationAndActiveSite`, :meth:`~music21.base.Music21Object.freezeIds`, :meth:`~music21.base.Music21Object.getAllContextsByClass`, :meth:`~music21.base.Music21Object.getCommonSiteIds`, :meth:`~music21.base.Music21Object.getCommonSites`, :meth:`~music21.base.Music21Object.getContextAttr`, :meth:`~music21.base.Music21Object.getContextByClass`, :meth:`~music21.base.Music21Object.getOffsetBySite`, :meth:`~music21.base.Music21Object.getSiteIds`, :meth:`~music21.base.Music21Object.getSites`, :meth:`~music21.base.Music21Object.getSpannerSites`, :meth:`~music21.base.Music21Object.hasContext`, :meth:`~music21.base.Music21Object.mergeAttributes`, :meth:`~music21.base.Music21Object.purgeLocations`, :meth:`~music21.base.Music21Object.removeLocationBySite`, :meth:`~music21.base.Music21Object.removeLocationBySiteId`, :meth:`~music21.base.Music21Object.searchParentByAttr`, :meth:`~music21.base.Music21Object.setContextAttr`, :meth:`~music21.base.Music21Object.setOffsetBySite`, :meth:`~music21.base.Music21Object.show`, :meth:`~music21.base.Music21Object.splitAtDurations`, :meth:`~music21.base.Music21Object.splitAtQuarterLength`, :meth:`~music21.base.Music21Object.splitByQuarterLengths`, :meth:`~music21.base.Music21Object.unfreezeIds`, :meth:`~music21.base.Music21Object.unwrapWeakref`, :meth:`~music21.base.Music21Object.wrapWeakref`, :meth:`~music21.base.Music21Object.write`

        Methods inherited from :class:`~music21.base.JSONSerializer`: :meth:`~music21.base.JSONSerializer.jsonAttributes`, :meth:`~music21.base.JSONSerializer.jsonComponentFactory`, :meth:`~music21.base.JSONSerializer.jsonPrint`, :meth:`~music21.base.JSONSerializer.jsonRead`, :meth:`~music21.base.JSONSerializer.jsonWrite`


QuarterNote
-----------

Inherits from: :class:`~music21.note.Note`, :class:`~music21.note.NotRest`, :class:`~music21.note.GeneralNote`, :class:`~music21.base.Music21Object`, :class:`~music21.base.JSONSerializer`

.. class:: QuarterNote(*arguments, **keywords)



Unpitched
---------

Inherits from: :class:`~music21.note.GeneralNote`, :class:`~music21.base.Music21Object`, :class:`~music21.base.JSONSerializer`

.. class:: Unpitched(*arguments, **keywords)

    General class of unpitched objects which appear at different places on the staff.  Examples: percussion notation 

    **Unpitched** **attributes**

        .. attribute:: isNote

            Boolean read-only value describing if this GeneralNote object is a Note. Is False 

        .. attribute:: isRest

            Boolean read-only value describing if this GeneralNote object is a Rest. Is False 

        Attributes without Documentation: `displayOctave`, `displayStep`, `isUnpitched`

        Attributes inherited from :class:`~music21.note.GeneralNote`: :attr:`~music21.note.GeneralNote.editorial`, :attr:`~music21.note.GeneralNote.isChord`, :attr:`~music21.note.GeneralNote.expressions`, :attr:`~music21.note.GeneralNote.tie`, :attr:`~music21.note.GeneralNote.lyrics`, :attr:`~music21.note.GeneralNote.articulations`

        Attributes inherited from :class:`~music21.base.Music21Object`: :attr:`~music21.base.Music21Object.classSortOrder`, :attr:`~music21.base.Music21Object.hideObjectOnPrint`, :attr:`~music21.base.Music21Object.id`, :attr:`~music21.base.Music21Object.groups`

    **Unpitched** **properties**

        Properties inherited from :class:`~music21.note.GeneralNote`: :attr:`~music21.note.GeneralNote.quarterLength`, :attr:`~music21.note.GeneralNote.color`, :attr:`~music21.note.GeneralNote.lily`, :attr:`~music21.note.GeneralNote.lyric`, :attr:`~music21.note.GeneralNote.musicxml`

        Properties inherited from :class:`~music21.base.Music21Object`: :attr:`~music21.base.Music21Object.duration`, :attr:`~music21.base.Music21Object.activeSite`, :attr:`~music21.base.Music21Object.beat`, :attr:`~music21.base.Music21Object.beatDuration`, :attr:`~music21.base.Music21Object.beatStr`, :attr:`~music21.base.Music21Object.beatStrength`, :attr:`~music21.base.Music21Object.classes`, :attr:`~music21.base.Music21Object.derivationHierarchy`, :attr:`~music21.base.Music21Object.measureNumber`, :attr:`~music21.base.Music21Object.offset`, :attr:`~music21.base.Music21Object.priority`

        Properties inherited from :class:`~music21.base.JSONSerializer`: :attr:`~music21.base.JSONSerializer.json`

    **Unpitched** **methods**

        Methods inherited from :class:`~music21.note.GeneralNote`: :meth:`~music21.note.GeneralNote.addLyric`, :meth:`~music21.note.GeneralNote.augmentOrDiminish`, :meth:`~music21.note.GeneralNote.compactNoteInfo`, :meth:`~music21.note.GeneralNote.hasLyrics`

        Methods inherited from :class:`~music21.base.Music21Object`: :meth:`~music21.base.Music21Object.addContext`, :meth:`~music21.base.Music21Object.addLocation`, :meth:`~music21.base.Music21Object.addLocationAndActiveSite`, :meth:`~music21.base.Music21Object.freezeIds`, :meth:`~music21.base.Music21Object.getAllContextsByClass`, :meth:`~music21.base.Music21Object.getCommonSiteIds`, :meth:`~music21.base.Music21Object.getCommonSites`, :meth:`~music21.base.Music21Object.getContextAttr`, :meth:`~music21.base.Music21Object.getContextByClass`, :meth:`~music21.base.Music21Object.getOffsetBySite`, :meth:`~music21.base.Music21Object.getSiteIds`, :meth:`~music21.base.Music21Object.getSites`, :meth:`~music21.base.Music21Object.getSpannerSites`, :meth:`~music21.base.Music21Object.hasContext`, :meth:`~music21.base.Music21Object.mergeAttributes`, :meth:`~music21.base.Music21Object.purgeLocations`, :meth:`~music21.base.Music21Object.removeLocationBySite`, :meth:`~music21.base.Music21Object.removeLocationBySiteId`, :meth:`~music21.base.Music21Object.searchParentByAttr`, :meth:`~music21.base.Music21Object.setContextAttr`, :meth:`~music21.base.Music21Object.setOffsetBySite`, :meth:`~music21.base.Music21Object.show`, :meth:`~music21.base.Music21Object.splitAtDurations`, :meth:`~music21.base.Music21Object.splitAtQuarterLength`, :meth:`~music21.base.Music21Object.splitByQuarterLengths`, :meth:`~music21.base.Music21Object.unfreezeIds`, :meth:`~music21.base.Music21Object.unwrapWeakref`, :meth:`~music21.base.Music21Object.wrapWeakref`, :meth:`~music21.base.Music21Object.write`

        Methods inherited from :class:`~music21.base.JSONSerializer`: :meth:`~music21.base.JSONSerializer.jsonAttributes`, :meth:`~music21.base.JSONSerializer.jsonComponentFactory`, :meth:`~music21.base.JSONSerializer.jsonPrint`, :meth:`~music21.base.JSONSerializer.jsonRead`, :meth:`~music21.base.JSONSerializer.jsonWrite`


WholeNote
---------

Inherits from: :class:`~music21.note.Note`, :class:`~music21.note.NotRest`, :class:`~music21.note.GeneralNote`, :class:`~music21.base.Music21Object`, :class:`~music21.base.JSONSerializer`

.. class:: WholeNote(*arguments, **keywords)



