.. _moduleFeatures.jSymbolic:

music21.features.jSymbolic
==========================

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

.. module:: music21.features.jSymbolic


The features implemented here are based on those found in jSymbolic and
defined in Cory McKay's MA Thesis, "Automatic Genre Classification of MIDI Recordings"

The LGPL jSymbolic system can be found here: http://jmir.sourceforge.net/jSymbolic.html




.. function:: getCompletionStats()




    >>> from music21 import *
    >>> features.jSymbolic.getCompletionStats()
    completion stats: 70/111 (0.6306...)



.. function:: getExtractorByTypeAndNumber(type, number)


    Typical usage:



    >>> from music21 import *
    >>> t5 = getExtractorByTypeAndNumber('T', 5)
    >>> t5.__name__
    'VoiceEqualityNoteDurationFeature'
    >>> bachExample = corpus.parse('bach/bwv66.6')
    >>> fe = t5(bachExample)


    Features unimplemented in jSymbolic but documented in the dissertation return None




    >>> getExtractorByTypeAndNumber('C', 20) is None
    True


    Totally unknown features return an exception:




    >>> getExtractorByTypeAndNumber('L', 900)
    Traceback (most recent call last):
    ...
    JSymbolicFeatureException: Could not find any jSymbolic features of type L
    >>> getExtractorByTypeAndNumber('C', 200)
    Traceback (most recent call last):
    ...
    JSymbolicFeatureException: jSymbolic features of type C do not have number 200


    You could also find all the feature extractors this way:




    >>> fs = features.jSymbolic.extractorsById
    >>> for k in fs:
    ...     for i in range(len(fs[k])):
    ...       if fs[k][i] is not None:
    ...         n = fs[k][i].__name__
    ...         if fs[k][i] not in features.jSymbolic.featureExtractors:
    ...            n += " (not implemented)"
    ...         print k, i, n
    D 1 OverallDynamicRangeFeature (not implemented)
    D 2 VariationOfDynamicsFeature (not implemented)
    D 3 VariationOfDynamicsInEachVoiceFeature (not implemented)
    D 4 AverageNoteToNoteDynamicsChangeFeature (not implemented)
    I 1 PitchedInstrumentsPresentFeature
    I 2 UnpitchedInstrumentsPresentFeature (not implemented)
    I 3 NotePrevalenceOfPitchedInstrumentsFeature
    I 4 NotePrevalenceOfUnpitchedInstrumentsFeature (not implemented)
    I 5 TimePrevalenceOfPitchedInstrumentsFeature (not implemented)
    I 6 VariabilityOfNotePrevalenceOfPitchedInstrumentsFeature
    I 7 VariabilityOfNotePrevalenceOfUnpitchedInstrumentsFeature (not implemented)
    I 8 NumberOfPitchedInstrumentsFeature
    I 9 NumberOfUnpitchedInstrumentsFeature (not implemented)
    I 10 PercussionPrevalenceFeature (not implemented)
    I 11 StringKeyboardFractionFeature
    I 12 AcousticGuitarFractionFeature
    I 13 ElectricGuitarFractionFeature
    I 14 ViolinFractionFeature
    I 15 SaxophoneFractionFeature
    I 16 BrassFractionFeature
    I 17 WoodwindsFractionFeature
    I 18 OrchestralStringsFractionFeature
    I 19 StringEnsembleFractionFeature
    I 20 ElectricInstrumentFractionFeature
    M 1 MelodicIntervalHistogramFeature
    M 2 AverageMelodicIntervalFeature
    M 3 MostCommonMelodicIntervalFeature
    M 4 DistanceBetweenMostCommonMelodicIntervalsFeature
    M 5 MostCommonMelodicIntervalPrevalenceFeature
    M 6 RelativeStrengthOfMostCommonIntervalsFeature
    M 7 NumberOfCommonMelodicIntervalsFeature
    M 8 AmountOfArpeggiationFeature
    M 9 RepeatedNotesFeature
    M 10 ChromaticMotionFeature
    M 11 StepwiseMotionFeature
    M 12 MelodicThirdsFeature
    M 13 MelodicFifthsFeature
    M 14 MelodicTritonesFeature
    M 15 MelodicOctavesFeature
    M 17 DirectionOfMotionFeature
    M 18 DurationOfMelodicArcsFeature
    M 19 SizeOfMelodicArcsFeature
    P 1 MostCommonPitchPrevalenceFeature
    P 2 MostCommonPitchClassPrevalenceFeature
    P 3 RelativeStrengthOfTopPitchesFeature
    P 4 RelativeStrengthOfTopPitchClassesFeature
    P 5 IntervalBetweenStrongestPitchesFeature
    P 6 IntervalBetweenStrongestPitchClassesFeature
    P 7 NumberOfCommonPitchesFeature
    P 8 PitchVarietyFeature
    P 9 PitchClassVarietyFeature
    P 10 RangeFeature
    P 11 MostCommonPitchFeature
    P 12 PrimaryRegisterFeature
    P 13 ImportanceOfBassRegisterFeature
    P 14 ImportanceOfMiddleRegisterFeature
    P 15 ImportanceOfHighRegisterFeature
    P 16 MostCommonPitchClassFeature
    P 17 DominantSpreadFeature (not implemented)
    P 18 StrongTonalCentresFeature (not implemented)
    P 19 BasicPitchHistogramFeature
    P 20 PitchClassDistributionFeature
    P 21 FifthsPitchHistogramFeature
    P 22 QualityFeature
    P 23 GlissandoPrevalenceFeature (not implemented)
    P 24 AverageRangeOfGlissandosFeature (not implemented)
    P 25 VibratoPrevalenceFeature (not implemented)
    R 1 StrongestRhythmicPulseFeature (not implemented)
    R 2 SecondStrongestRhythmicPulseFeature (not implemented)
    R 3 HarmonicityOfTwoStrongestRhythmicPulsesFeature (not implemented)
    R 4 StrengthOfStrongestRhythmicPulseFeature (not implemented)
    R 5 StrengthOfSecondStrongestRhythmicPulseFeature (not implemented)
    R 6 StrengthRatioOfTwoStrongestRhythmicPulsesFeature (not implemented)
    R 7 CombinedStrengthOfTwoStrongestRhythmicPulsesFeature (not implemented)
    R 8 NumberOfStrongPulsesFeature (not implemented)
    R 9 NumberOfModeratePulsesFeature (not implemented)
    R 10 NumberOfRelativelyStrongPulsesFeature (not implemented)
    R 11 RhythmicLoosenessFeature (not implemented)
    R 12 PolyrhythmsFeature (not implemented)
    R 13 RhythmicVariabilityFeature (not implemented)
    R 14 BeatHistogramFeature (not implemented)
    R 15 NoteDensityFeature
    R 17 AverageNoteDurationFeature
    R 18 VariabilityOfNoteDurationFeature (not implemented)
    R 19 MaximumNoteDurationFeature
    R 20 MinimumNoteDurationFeature
    R 21 StaccatoIncidenceFeature
    R 22 AverageTimeBetweenAttacksFeature
    R 23 VariabilityOfTimeBetweenAttacksFeature
    R 24 AverageTimeBetweenAttacksForEachVoiceFeature
    R 25 AverageVariabilityOfTimeBetweenAttacksForEachVoiceFeature
    R 30 InitialTempoFeature
    R 31 InitialTimeSignatureFeature
    R 32 CompoundOrSimpleMeterFeature
    R 33 TripleMeterFeature
    R 34 QuintupleMeterFeature
    R 35 ChangesOfMeterFeature
    T 1 MaximumNumberOfIndependentVoicesFeature
    T 2 AverageNumberOfIndependentVoicesFeature
    T 3 VariabilityOfNumberOfIndependentVoicesFeature
    T 4 VoiceEqualityNumberOfNotesFeature (not implemented)
    T 5 VoiceEqualityNoteDurationFeature (not implemented)
    T 6 VoiceEqualityDynamicsFeature (not implemented)
    T 7 VoiceEqualityMelodicLeapsFeature (not implemented)
    T 8 VoiceEqualityRangeFeature (not implemented)
    T 9 ImportanceOfLoudestVoiceFeature (not implemented)
    T 10 RelativeRangeOfLoudestVoiceFeature (not implemented)
    T 12 RangeOfHighestLineFeature (not implemented)
    T 13 RelativeNoteDensityOfHighestLineFeature (not implemented)
    T 15 MelodicIntervalsInLowestLineFeature (not implemented)
    T 20 VoiceSeparationFeature (not implemented)



AcousticGuitarFractionFeature
-----------------------------

Inherits from: :class:`~music21.features.jSymbolic.InstrumentFractionFeature`, :class:`~music21.features.base.FeatureExtractor`

.. class:: AcousticGuitarFractionFeature(dataOrStream=None, *arguments, **keywords)

    A feature exractor that extracts the fraction of all Note Ons belonging to acoustic guitar patches (General MIDI patches 25 to 26).



    >>> from music21 import *
    >>> s1 = stream.Stream()
    >>> s1.append(instrument.AcousticGuitar())
    >>> s1.repeatAppend(note.Note(), 3)
    >>> s1.append(instrument.Tuba())
    >>> s1.append(note.Note())
    >>> fe = features.jSymbolic.AcousticGuitarFractionFeature(s1)
    >>> fe.extract().vector
    [0.75]



    **AcousticGuitarFractionFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **AcousticGuitarFractionFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


AmountOfArpeggiationFeature
---------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: AmountOfArpeggiationFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.AmountOfArpeggiationFeature(s)
    >>> f = fe.extract()
    >>> f.name
    'Amount of Arpeggiation'



    **AmountOfArpeggiationFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **AmountOfArpeggiationFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


AverageMelodicIntervalFeature
-----------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: AverageMelodicIntervalFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.AverageMelodicIntervalFeature(s)
    >>> f = fe.extract()
    >>> f.vector
    [2.0714...]



    **AverageMelodicIntervalFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **AverageMelodicIntervalFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


AverageNoteDurationFeature
--------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: AverageNoteDurationFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('bwv66.6')
    >>> fe = features.jSymbolic.AverageNoteDurationFeature(s)
    >>> f = fe.extract()
    >>> f.vector
    [0.441717...]
    >>> s.insert(0, tempo.MetronomeMark(number=240))
    >>> fe = features.jSymbolic.AverageNoteDurationFeature(s)
    >>> f = fe.extract()
    >>> f.vector
    [0.220858...]



    **AverageNoteDurationFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **AverageNoteDurationFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


AverageNoteToNoteDynamicsChangeFeature
--------------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: AverageNoteToNoteDynamicsChangeFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **AverageNoteToNoteDynamicsChangeFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **AverageNoteToNoteDynamicsChangeFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


AverageNumberOfIndependentVoicesFeature
---------------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: AverageNumberOfIndependentVoicesFeature(dataOrStream=None, *arguments, **keywords)


    Average number of different channels in which notes have sounded simultaneously. Rests are not included in this calculation. Here, Parts are treated as voices



    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.AverageNumberOfIndependentVoicesFeature(s)
    >>> f = fe.extract()
    >>> f.vector
    [1.6...]
    ⁠ 
    >>> s = corpus.parse('bwv66.6')
    >>> fe = features.jSymbolic.AverageNumberOfIndependentVoicesFeature(s)
    >>> f = fe.extract()
    >>> f.vector
    [3.96...]



    **AverageNumberOfIndependentVoicesFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **AverageNumberOfIndependentVoicesFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


AverageRangeOfGlissandosFeature
-------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: AverageRangeOfGlissandosFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **AverageRangeOfGlissandosFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **AverageRangeOfGlissandosFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


AverageTimeBetweenAttacksFeature
--------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: AverageTimeBetweenAttacksFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('bwv66.6')
    >>> fe = features.jSymbolic.AverageTimeBetweenAttacksFeature(s)
    >>> f = fe.extract()
    >>> print round(f.vector[0], 2)
    0.35



    **AverageTimeBetweenAttacksFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **AverageTimeBetweenAttacksFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


AverageTimeBetweenAttacksForEachVoiceFeature
--------------------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: AverageTimeBetweenAttacksForEachVoiceFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('bwv66.6')
    >>> fe = features.jSymbolic.AverageTimeBetweenAttacksForEachVoiceFeature(s)
    >>> f = fe.extract()
    >>> f.vector
    [0.4375]



    **AverageTimeBetweenAttacksForEachVoiceFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **AverageTimeBetweenAttacksForEachVoiceFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


AverageVariabilityOfTimeBetweenAttacksForEachVoiceFeature
---------------------------------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: AverageVariabilityOfTimeBetweenAttacksForEachVoiceFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('bwv66.6')
    >>> fe = features.jSymbolic.AverageVariabilityOfTimeBetweenAttacksForEachVoiceFeature(s)
    >>> f = fe.extract()
    >>> f.vector
    [0.1773926...]



    **AverageVariabilityOfTimeBetweenAttacksForEachVoiceFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **AverageVariabilityOfTimeBetweenAttacksForEachVoiceFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


BasicPitchHistogramFeature
--------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: BasicPitchHistogramFeature(dataOrStream=None, *arguments, **keywords)

    A feature exractor that finds a features array with bins corresponding to the values of the basic pitch histogram.



    >>> from music21 import *
    >>> s = corpus.parse('bwv66.6')
    >>> fe = features.jSymbolic.BasicPitchHistogramFeature(s)
    >>> f = fe.extract()
    >>> f.vector
    [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.052631578..., 0.0, 0.0, 0.052631578..., 0.05263157894..., 0.2631578..., 0.0, 0.3157894..., 0.1052631..., 0.0, 0.052631..., 0.157894736..., 0.5263157..., 0.0, 0.368421052..., 0.6315789473..., 0.105263157..., 0.78947368..., 0.0, 1.0, 0.52631578..., 0.052631578..., 0.736842105..., 0.1578947..., 0.9473684..., 0.0, 0.36842105..., 0.47368421..., 0.0, 0.42105263..., 0.0, 0.36842105..., 0.0, 0.0, 0.052631578..., 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]



    **BasicPitchHistogramFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **BasicPitchHistogramFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


BeatHistogramFeature
--------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: BeatHistogramFeature(dataOrStream=None, *arguments, **keywords)

    A feature exractor that finds a feature array with entries corresponding to the frequency values of each of the bins of the beat histogram (except the first 40 empty ones).



    >>> from music21 import *



    **BeatHistogramFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **BeatHistogramFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


BrassFractionFeature
--------------------

Inherits from: :class:`~music21.features.jSymbolic.InstrumentFractionFeature`, :class:`~music21.features.base.FeatureExtractor`

.. class:: BrassFractionFeature(dataOrStream=None, *arguments, **keywords)

    A feature exractor that extracts the fraction of all Note Ons belonging to brass patches (General MIDI patches 57 or 68).



    >>> from music21 import *
    >>> s1 = stream.Stream()
    >>> s1.append(instrument.SopranoSaxophone())
    >>> s1.repeatAppend(note.Note(), 6)
    >>> s1.append(instrument.Tuba())
    >>> s1.repeatAppend(note.Note(), 4)
    >>> fe = features.jSymbolic.BrassFractionFeature(s1)
    >>> print fe.extract().vector[0]
    0.4



    **BrassFractionFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **BrassFractionFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


ChangesOfMeterFeature
---------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: ChangesOfMeterFeature(dataOrStream=None, *arguments, **keywords)

    A feature exractor that sets the feature to 1 if the time signature is changed one or more times during the recording.



    >>> from music21 import *
    >>> s1 = stream.Stream()
    >>> s1.append(meter.TimeSignature('3/4'))
    >>> s2 = stream.Stream()
    >>> s2.append(meter.TimeSignature('3/4'))
    >>> s2.append(meter.TimeSignature('4/4'))
    ⁠ 
    >>> fe = features.jSymbolic.ChangesOfMeterFeature(s1)
    >>> fe.extract().vector
    [0]
    >>> fe.setData(s2) # change the data
    >>> fe.extract().vector
    [1]




    **ChangesOfMeterFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **ChangesOfMeterFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


ChromaticMotionFeature
----------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: ChromaticMotionFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **ChromaticMotionFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **ChromaticMotionFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


CombinedStrengthOfTwoStrongestRhythmicPulsesFeature
---------------------------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: CombinedStrengthOfTwoStrongestRhythmicPulsesFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **CombinedStrengthOfTwoStrongestRhythmicPulsesFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **CombinedStrengthOfTwoStrongestRhythmicPulsesFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


CompoundOrSimpleMeterFeature
----------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: CompoundOrSimpleMeterFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s1 = stream.Stream()
    >>> s1.append(meter.TimeSignature('3/4'))
    >>> s2 = stream.Stream()
    >>> s2.append(meter.TimeSignature('9/8'))
    ⁠ 
    >>> fe = features.jSymbolic.CompoundOrSimpleMeterFeature(s1)
    >>> fe.extract().vector
    [0]
    >>> fe.setData(s2) # change the data
    >>> fe.extract().vector
    [1]



    **CompoundOrSimpleMeterFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **CompoundOrSimpleMeterFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


DirectionOfMotionFeature
------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: DirectionOfMotionFeature(dataOrStream=None, *arguments, **keywords)


    Returns the fraction of melodic intervals that are rising rather than falling.  Unisons are omitted



    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.DirectionOfMotionFeature(s)
    >>> f = fe.extract()
    >>> f.vector
    [0.5263...]



    **DirectionOfMotionFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **DirectionOfMotionFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


DistanceBetweenMostCommonMelodicIntervalsFeature
------------------------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: DistanceBetweenMostCommonMelodicIntervalsFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.DistanceBetweenMostCommonMelodicIntervalsFeature(s)
    >>> f = fe.extract()
    >>> f.vector
    [2]



    **DistanceBetweenMostCommonMelodicIntervalsFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **DistanceBetweenMostCommonMelodicIntervalsFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


DominantSpreadFeature
---------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: DominantSpreadFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **DominantSpreadFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **DominantSpreadFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


DurationFeature
---------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: DurationFeature(dataOrStream=None, *arguments, **keywords)

    A feature extractor that extracts the duration in seconds.



    >>> from music21 import *




DurationOfMelodicArcsFeature
----------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: DurationOfMelodicArcsFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.DurationOfMelodicArcsFeature(s)
    >>> f = fe.extract()
    >>> f.vector
    [3.1666...]



    **DurationOfMelodicArcsFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **DurationOfMelodicArcsFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


ElectricGuitarFractionFeature
-----------------------------

Inherits from: :class:`~music21.features.jSymbolic.InstrumentFractionFeature`, :class:`~music21.features.base.FeatureExtractor`

.. class:: ElectricGuitarFractionFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s1 = stream.Stream()
    >>> s1.append(instrument.ElectricGuitar())
    >>> s1.repeatAppend(note.Note(), 4)
    >>> s1.append(instrument.Tuba())
    >>> s1.repeatAppend(note.Note(), 4)
    >>> fe = features.jSymbolic.ElectricGuitarFractionFeature(s1)
    >>> fe.extract().vector
    [0.5]



    **ElectricGuitarFractionFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **ElectricGuitarFractionFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


ElectricInstrumentFractionFeature
---------------------------------

Inherits from: :class:`~music21.features.jSymbolic.InstrumentFractionFeature`, :class:`~music21.features.base.FeatureExtractor`

.. class:: ElectricInstrumentFractionFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s1 = stream.Stream()
    >>> s1.append(instrument.ElectricOrgan())
    >>> s1.repeatAppend(note.Note(), 8)
    >>> s1.append(instrument.Tuba())
    >>> s1.repeatAppend(note.Note(), 2)
    >>> fe = features.jSymbolic.ElectricInstrumentFractionFeature(s1)
    >>> print fe.extract().vector[0]
    0.8



    **ElectricInstrumentFractionFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **ElectricInstrumentFractionFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


FifthsPitchHistogramFeature
---------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: FifthsPitchHistogramFeature(dataOrStream=None, *arguments, **keywords)


    A feature array with bins corresponding to the values of the 5ths pitch class histogram.




    >>> from music21 import *
    >>> s = corpus.parse('bwv66.6')
    >>> fe = features.jSymbolic.FifthsPitchHistogramFeature(s)
    >>> f = fe.extract()
    >>> f.vector
    [0.0, 0.0, 0.375, 0.6875, 0.5, 0.875, 0.90625, 1.0, 0.4375, 0.03125, 0.09375, 0.1875]



    **FifthsPitchHistogramFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **FifthsPitchHistogramFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


GlissandoPrevalenceFeature
--------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: GlissandoPrevalenceFeature(dataOrStream=None, *arguments, **keywords)


    Not yet implemented in music21



    >>> from music21 import *



    **GlissandoPrevalenceFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **GlissandoPrevalenceFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


HarmonicityOfTwoStrongestRhythmicPulsesFeature
----------------------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: HarmonicityOfTwoStrongestRhythmicPulsesFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **HarmonicityOfTwoStrongestRhythmicPulsesFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **HarmonicityOfTwoStrongestRhythmicPulsesFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


ImportanceOfBassRegisterFeature
-------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: ImportanceOfBassRegisterFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.ImportanceOfBassRegisterFeature(s)
    >>> fe.extract().vector
    [0.266666...]



    **ImportanceOfBassRegisterFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **ImportanceOfBassRegisterFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


ImportanceOfHighRegisterFeature
-------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: ImportanceOfHighRegisterFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.ImportanceOfHighRegisterFeature(s)
    >>> fe.extract().vector
    [0.0]



    **ImportanceOfHighRegisterFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **ImportanceOfHighRegisterFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


ImportanceOfLoudestVoiceFeature
-------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: ImportanceOfLoudestVoiceFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **ImportanceOfLoudestVoiceFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **ImportanceOfLoudestVoiceFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


ImportanceOfMiddleRegisterFeature
---------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: ImportanceOfMiddleRegisterFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.ImportanceOfMiddleRegisterFeature(s)
    >>> fe.extract().vector
    [0.73333333...]



    **ImportanceOfMiddleRegisterFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **ImportanceOfMiddleRegisterFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


InitialTempoFeature
-------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: InitialTempoFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.InitialTempoFeature(s)
    >>> f = fe.extract()
    >>> f.vector # a default
    [120.0]
    ⁠ 
    >>> s = corpus.parse('hwv56/movement2-09.md') # has a tempos
    >>> fe = features.jSymbolic.InitialTempoFeature(s)
    >>> f = fe.extract()
    >>> f.vector
    [46.0]




    **InitialTempoFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **InitialTempoFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


InitialTimeSignatureFeature
---------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: InitialTimeSignatureFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s1 = stream.Stream()
    >>> s1.append(meter.TimeSignature('3/4'))
    >>> fe = features.jSymbolic.InitialTimeSignatureFeature(s1)
    >>> fe.extract().vector
    [3, 4]




    **InitialTimeSignatureFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **InitialTimeSignatureFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


InstrumentFractionFeature
-------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: InstrumentFractionFeature(dataOrStream=None, *arguments, **keywords)

    This subclass is in-turn subclassed by all FeatureExtractors that look at the proportional usage of an Insutrment




IntervalBetweenStrongestPitchClassesFeature
-------------------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: IntervalBetweenStrongestPitchClassesFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.IntervalBetweenStrongestPitchClassesFeature(s)
    >>> fe.extract().vector
    [2]



    **IntervalBetweenStrongestPitchClassesFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **IntervalBetweenStrongestPitchClassesFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


IntervalBetweenStrongestPitchesFeature
--------------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: IntervalBetweenStrongestPitchesFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.IntervalBetweenStrongestPitchesFeature(s)
    >>> fe.extract().vector
    [2]



    **IntervalBetweenStrongestPitchesFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **IntervalBetweenStrongestPitchesFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


MaximumNoteDurationFeature
--------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: MaximumNoteDurationFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('bwv66.6')
    >>> fe = features.jSymbolic.MaximumNoteDurationFeature(s)
    >>> f = fe.extract()
    >>> f.vector
    [1.0]



    **MaximumNoteDurationFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **MaximumNoteDurationFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


MaximumNumberOfIndependentVoicesFeature
---------------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: MaximumNumberOfIndependentVoicesFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.MaximumNumberOfIndependentVoicesFeature(s)
    >>> f = fe.extract()
    >>> f.vector
    [2]
    ⁠ 
    >>> s = corpus.parse('bwv66.6')
    >>> fe = features.jSymbolic.MaximumNumberOfIndependentVoicesFeature(s)
    >>> f = fe.extract()
    >>> f.vector
    [4]




    **MaximumNumberOfIndependentVoicesFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **MaximumNumberOfIndependentVoicesFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


MelodicFifthsFeature
--------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: MelodicFifthsFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **MelodicFifthsFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **MelodicFifthsFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


MelodicIntervalHistogramFeature
-------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: MelodicIntervalHistogramFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('bwv887')
    >>> fe = features.jSymbolic.MelodicIntervalHistogramFeature(s)
    >>> f = fe.extract()
    >>> f.vector
    [0.146..., 0.853..., 1.0, 0.292..., 0.209..., 0.139..., 0.101..., 0.257..., 0.22299..., 0.456..., 0.1289..., 0.0871..., 0.233..., 0.07317..., 0.03832..., 0.031..., 0.0278..., 0.0139..., 0.01742..., 0.00348..., 0.0, 0.017..., 0.003484..., 0.01742..., 0.00348..., 0.0, 0.00348..., 0.0, 0.0174..., 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]



    **MelodicIntervalHistogramFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **MelodicIntervalHistogramFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


MelodicIntervalsInLowestLineFeature
-----------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: MelodicIntervalsInLowestLineFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **MelodicIntervalsInLowestLineFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **MelodicIntervalsInLowestLineFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


MelodicOctavesFeature
---------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: MelodicOctavesFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **MelodicOctavesFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **MelodicOctavesFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


MelodicThirdsFeature
--------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: MelodicThirdsFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **MelodicThirdsFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **MelodicThirdsFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


MelodicTritonesFeature
----------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: MelodicTritonesFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **MelodicTritonesFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **MelodicTritonesFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


MinimumNoteDurationFeature
--------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: MinimumNoteDurationFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('bwv66.6')
    >>> fe = features.jSymbolic.MinimumNoteDurationFeature(s)
    >>> f = fe.extract()
    >>> f.vector
    [0.25]



    **MinimumNoteDurationFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **MinimumNoteDurationFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


MostCommonMelodicIntervalFeature
--------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: MostCommonMelodicIntervalFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.MostCommonMelodicIntervalFeature(s)
    >>> f = fe.extract()
    >>> f.vector
    [0]



    **MostCommonMelodicIntervalFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **MostCommonMelodicIntervalFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


MostCommonMelodicIntervalPrevalenceFeature
------------------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: MostCommonMelodicIntervalPrevalenceFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.MostCommonMelodicIntervalPrevalenceFeature(s)
    >>> f = fe.extract()
    >>> f.vector
    [0.3214285...]



    **MostCommonMelodicIntervalPrevalenceFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **MostCommonMelodicIntervalPrevalenceFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


MostCommonPitchClassFeature
---------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: MostCommonPitchClassFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.MostCommonPitchClassFeature(s)
    >>> fe.extract().vector
    [5]



    **MostCommonPitchClassFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **MostCommonPitchClassFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


MostCommonPitchClassPrevalenceFeature
-------------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: MostCommonPitchClassPrevalenceFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.MostCommonPitchClassPrevalenceFeature(s)
    >>> fe.extract().vector
    [0.333333333...]



    **MostCommonPitchClassPrevalenceFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **MostCommonPitchClassPrevalenceFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


MostCommonPitchFeature
----------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: MostCommonPitchFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.MostCommonPitchFeature(s)
    >>> fe.extract().vector
    [0.5078125]



    **MostCommonPitchFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **MostCommonPitchFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


MostCommonPitchPrevalenceFeature
--------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: MostCommonPitchPrevalenceFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.MostCommonPitchPrevalenceFeature(s)
    >>> fe.extract().vector[0] + .0001  # slightly less than .3 on 32-bit systems
    0.3...



    **MostCommonPitchPrevalenceFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **MostCommonPitchPrevalenceFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


NoteDensityFeature
------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: NoteDensityFeature(dataOrStream=None, *arguments, **keywords)



    Gives the Average number of notes per second, taking into account
    the tempo at any moment in the piece.  N.B. unlike the jSymbolic
    version, music21's Feature Extraction methods can run on a subset
    of the entire piece (measures, certain parts, etc.).  However, unlike
    jSymbolic, music21 quantizes notes from midi somewhat before running
    this test, so it is better run on encoded midi scores than recorded
    midi performances.




    >>> from music21 import *
    >>> s = corpus.parse('bwv66.6')
    >>> fe = features.jSymbolic.NoteDensityFeature(s)
    >>> f = fe.extract()
    >>> f.vector
    [12]



    **NoteDensityFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **NoteDensityFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


NotePrevalenceOfPitchedInstrumentsFeature
-----------------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: NotePrevalenceOfPitchedInstrumentsFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s1 = stream.Stream()
    >>> s1.append(instrument.AcousticGuitar())
    >>> s1.repeatAppend(note.Note(), 4)
    >>> s1.append(instrument.Tuba())
    >>> s1.append(note.Note())
    >>> fe = features.jSymbolic.NotePrevalenceOfPitchedInstrumentsFeature(s1)
    >>> fe.extract().vector
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.8..., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.2..., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]




    **NotePrevalenceOfPitchedInstrumentsFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **NotePrevalenceOfPitchedInstrumentsFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


NotePrevalenceOfUnpitchedInstrumentsFeature
-------------------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: NotePrevalenceOfUnpitchedInstrumentsFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **NotePrevalenceOfUnpitchedInstrumentsFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **NotePrevalenceOfUnpitchedInstrumentsFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


NumberOfCommonMelodicIntervalsFeature
-------------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: NumberOfCommonMelodicIntervalsFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.NumberOfCommonMelodicIntervalsFeature(s)
    >>> f = fe.extract()
    >>> f.vector
    [4]



    **NumberOfCommonMelodicIntervalsFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **NumberOfCommonMelodicIntervalsFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


NumberOfCommonPitchesFeature
----------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: NumberOfCommonPitchesFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.NumberOfCommonPitchesFeature(s)
    >>> fe.extract().vector
    [4]



    **NumberOfCommonPitchesFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **NumberOfCommonPitchesFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


NumberOfModeratePulsesFeature
-----------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: NumberOfModeratePulsesFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **NumberOfModeratePulsesFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **NumberOfModeratePulsesFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


NumberOfPitchedInstrumentsFeature
---------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: NumberOfPitchedInstrumentsFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s1 = stream.Stream()
    >>> s1.append(instrument.AcousticGuitar())
    >>> s1.append(note.Note())
    >>> s1.append(instrument.Tuba())
    >>> s1.append(note.Note())
    >>> fe = features.jSymbolic.NumberOfPitchedInstrumentsFeature(s1)
    >>> fe.extract().vector
    [2]




    **NumberOfPitchedInstrumentsFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **NumberOfPitchedInstrumentsFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


NumberOfRelativelyStrongPulsesFeature
-------------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: NumberOfRelativelyStrongPulsesFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **NumberOfRelativelyStrongPulsesFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **NumberOfRelativelyStrongPulsesFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


NumberOfStrongPulsesFeature
---------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: NumberOfStrongPulsesFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **NumberOfStrongPulsesFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **NumberOfStrongPulsesFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


NumberOfUnpitchedInstrumentsFeature
-----------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: NumberOfUnpitchedInstrumentsFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **NumberOfUnpitchedInstrumentsFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **NumberOfUnpitchedInstrumentsFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


OrchestralStringsFractionFeature
--------------------------------

Inherits from: :class:`~music21.features.jSymbolic.InstrumentFractionFeature`, :class:`~music21.features.base.FeatureExtractor`

.. class:: OrchestralStringsFractionFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s1 = stream.Stream()
    >>> s1.append(instrument.Violoncello())
    >>> s1.repeatAppend(note.Note(), 4)
    >>> s1.append(instrument.Tuba())
    >>> s1.repeatAppend(note.Note(), 6)
    >>> fe = features.jSymbolic.OrchestralStringsFractionFeature(s1)
    >>> print fe.extract().vector[0]
    0.4



    **OrchestralStringsFractionFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **OrchestralStringsFractionFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


OverallDynamicRangeFeature
--------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: OverallDynamicRangeFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **OverallDynamicRangeFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **OverallDynamicRangeFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


PercussionPrevalenceFeature
---------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: PercussionPrevalenceFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **PercussionPrevalenceFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **PercussionPrevalenceFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


PitchClassDistributionFeature
-----------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: PitchClassDistributionFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('bwv66.6')
    >>> fe = features.jSymbolic.PitchClassDistributionFeature(s)
    >>> f = fe.extract()
    >>> f.vector
    [0.0, 1.0, 0.375, 0.03125, 0.5, 0.1875, 0.90625, 0.0, 0.4375, 0.6875, 0.09375, 0.875]




    **PitchClassDistributionFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **PitchClassDistributionFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


PitchClassVarietyFeature
------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: PitchClassVarietyFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.PitchClassVarietyFeature(s)
    >>> fe.extract().vector
    [8]



    **PitchClassVarietyFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **PitchClassVarietyFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


PitchVarietyFeature
-------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: PitchVarietyFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.PitchVarietyFeature(s)
    >>> fe.extract().vector
    [12]



    **PitchVarietyFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **PitchVarietyFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


PitchedInstrumentsPresentFeature
--------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: PitchedInstrumentsPresentFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s1 = stream.Stream()
    >>> s1.append(instrument.AcousticGuitar())
    >>> s1.append(note.Note())
    >>> s1.append(instrument.Tuba())
    >>> s1.append(note.Note())
    >>> fe = features.jSymbolic.PitchedInstrumentsPresentFeature(s1)
    >>> fe.extract().vector
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]



    **PitchedInstrumentsPresentFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **PitchedInstrumentsPresentFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


PolyrhythmsFeature
------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: PolyrhythmsFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **PolyrhythmsFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **PolyrhythmsFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


PrimaryRegisterFeature
----------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: PrimaryRegisterFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.PrimaryRegisterFeature(s)
    >>> fe.extract().vector
    [54.91666666...]



    **PrimaryRegisterFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **PrimaryRegisterFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


QualityFeature
--------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: QualityFeature(dataOrStream=None, *arguments, **keywords)


    Set to 0 if the key signature indicates that
    a recording is major, set to 1 if it indicates
    that it is minor.  In jSymbolic, this is set to 0 if key signature is unknown.

    See features.native.QualityFeature for a music21 improvement on this method



    >>> from music21 import *
    >>> mozart155mvmt2 = corpus.parse('mozart/k155', 2)
    >>> fe = features.jSymbolic.QualityFeature(mozart155mvmt2)
    >>> f = fe.extract()
    >>> f.vector
    [0]






    **QualityFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **QualityFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


QuintupleMeterFeature
---------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: QuintupleMeterFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s1 = stream.Stream()
    >>> s1.append(meter.TimeSignature('5/4'))
    >>> s2 = stream.Stream()
    >>> s2.append(meter.TimeSignature('3/4'))
    ⁠ 
    >>> fe = features.jSymbolic.QuintupleMeterFeature(s1)
    >>> fe.extract().vector
    [1]
    >>> fe.setData(s2) # change the data
    >>> fe.extract().vector
    [0]



    **QuintupleMeterFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **QuintupleMeterFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


RangeFeature
------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: RangeFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.RangeFeature(s)
    >>> fe.extract().vector
    [31]



    **RangeFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **RangeFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


RangeOfHighestLineFeature
-------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: RangeOfHighestLineFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **RangeOfHighestLineFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **RangeOfHighestLineFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


RelativeNoteDensityOfHighestLineFeature
---------------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: RelativeNoteDensityOfHighestLineFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **RelativeNoteDensityOfHighestLineFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **RelativeNoteDensityOfHighestLineFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


RelativeRangeOfLoudestVoiceFeature
----------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: RelativeRangeOfLoudestVoiceFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **RelativeRangeOfLoudestVoiceFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **RelativeRangeOfLoudestVoiceFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


RelativeStrengthOfMostCommonIntervalsFeature
--------------------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: RelativeStrengthOfMostCommonIntervalsFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.RelativeStrengthOfMostCommonIntervalsFeature(s)
    >>> f = fe.extract()
    >>> f.vector
    [0.77777...]



    **RelativeStrengthOfMostCommonIntervalsFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **RelativeStrengthOfMostCommonIntervalsFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


RelativeStrengthOfTopPitchClassesFeature
----------------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: RelativeStrengthOfTopPitchClassesFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.RelativeStrengthOfTopPitchClassesFeature(s)
    >>> fe.extract().vector
    [0.5]



    **RelativeStrengthOfTopPitchClassesFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **RelativeStrengthOfTopPitchClassesFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


RelativeStrengthOfTopPitchesFeature
-----------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: RelativeStrengthOfTopPitchesFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.RelativeStrengthOfTopPitchesFeature(s)
    >>> fe.extract().vector
    [0.5555555555...]



    **RelativeStrengthOfTopPitchesFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **RelativeStrengthOfTopPitchesFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


RepeatedNotesFeature
--------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: RepeatedNotesFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **RepeatedNotesFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **RepeatedNotesFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


RhythmicLoosenessFeature
------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: RhythmicLoosenessFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **RhythmicLoosenessFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **RhythmicLoosenessFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


RhythmicVariabilityFeature
--------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: RhythmicVariabilityFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **RhythmicVariabilityFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **RhythmicVariabilityFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


SaxophoneFractionFeature
------------------------

Inherits from: :class:`~music21.features.jSymbolic.InstrumentFractionFeature`, :class:`~music21.features.base.FeatureExtractor`

.. class:: SaxophoneFractionFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s1 = stream.Stream()
    >>> s1.append(instrument.SopranoSaxophone())
    >>> s1.repeatAppend(note.Note(), 6)
    >>> s1.append(instrument.Tuba())
    >>> s1.repeatAppend(note.Note(), 4)
    >>> fe = features.jSymbolic.SaxophoneFractionFeature(s1)
    >>> print fe.extract().vector[0]
    0.6




    **SaxophoneFractionFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **SaxophoneFractionFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


SecondStrongestRhythmicPulseFeature
-----------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: SecondStrongestRhythmicPulseFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **SecondStrongestRhythmicPulseFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **SecondStrongestRhythmicPulseFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


SizeOfMelodicArcsFeature
------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: SizeOfMelodicArcsFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.SizeOfMelodicArcsFeature(s)
    >>> f = fe.extract()
    >>> f.vector
    [8.5]



    **SizeOfMelodicArcsFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **SizeOfMelodicArcsFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


StaccatoIncidenceFeature
------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: StaccatoIncidenceFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('bwv66.6')
    >>> fe = features.jSymbolic.StaccatoIncidenceFeature(s)
    >>> f = fe.extract()
    >>> f.vector
    [0.0]



    **StaccatoIncidenceFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **StaccatoIncidenceFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


StepwiseMotionFeature
---------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: StepwiseMotionFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **StepwiseMotionFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **StepwiseMotionFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


StrengthOfSecondStrongestRhythmicPulseFeature
---------------------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: StrengthOfSecondStrongestRhythmicPulseFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **StrengthOfSecondStrongestRhythmicPulseFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **StrengthOfSecondStrongestRhythmicPulseFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


StrengthOfStrongestRhythmicPulseFeature
---------------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: StrengthOfStrongestRhythmicPulseFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **StrengthOfStrongestRhythmicPulseFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **StrengthOfStrongestRhythmicPulseFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


StrengthRatioOfTwoStrongestRhythmicPulsesFeature
------------------------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: StrengthRatioOfTwoStrongestRhythmicPulsesFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **StrengthRatioOfTwoStrongestRhythmicPulsesFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **StrengthRatioOfTwoStrongestRhythmicPulsesFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


StringEnsembleFractionFeature
-----------------------------

Inherits from: :class:`~music21.features.jSymbolic.InstrumentFractionFeature`, :class:`~music21.features.base.FeatureExtractor`

.. class:: StringEnsembleFractionFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **StringEnsembleFractionFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **StringEnsembleFractionFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


StringKeyboardFractionFeature
-----------------------------

Inherits from: :class:`~music21.features.jSymbolic.InstrumentFractionFeature`, :class:`~music21.features.base.FeatureExtractor`

.. class:: StringKeyboardFractionFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s1 = stream.Stream()
    >>> s1.append(instrument.Piano())
    >>> s1.repeatAppend(note.Note(), 9)
    >>> s1.append(instrument.Tuba())
    >>> s1.append(note.Note())
    >>> fe = features.jSymbolic.StringKeyboardFractionFeature(s1)
    >>> fe.extract().vector
    [0.9...]



    **StringKeyboardFractionFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **StringKeyboardFractionFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


StrongTonalCentresFeature
-------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: StrongTonalCentresFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **StrongTonalCentresFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **StrongTonalCentresFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


StrongestRhythmicPulseFeature
-----------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: StrongestRhythmicPulseFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **StrongestRhythmicPulseFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **StrongestRhythmicPulseFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


TimePrevalenceOfPitchedInstrumentsFeature
-----------------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: TimePrevalenceOfPitchedInstrumentsFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **TimePrevalenceOfPitchedInstrumentsFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **TimePrevalenceOfPitchedInstrumentsFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


TripleMeterFeature
------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: TripleMeterFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s1 = stream.Stream()
    >>> s1.append(meter.TimeSignature('5/4'))
    >>> s2 = stream.Stream()
    >>> s2.append(meter.TimeSignature('3/4'))
    ⁠ 
    >>> fe = features.jSymbolic.TripleMeterFeature(s1)
    >>> fe.extract().vector
    [0]
    >>> fe.setData(s2) # change the data
    >>> fe.extract().vector
    [1]



    **TripleMeterFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **TripleMeterFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


UnpitchedInstrumentsPresentFeature
----------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: UnpitchedInstrumentsPresentFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **UnpitchedInstrumentsPresentFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **UnpitchedInstrumentsPresentFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


VariabilityOfNoteDurationFeature
--------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: VariabilityOfNoteDurationFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **VariabilityOfNoteDurationFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **VariabilityOfNoteDurationFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


VariabilityOfNotePrevalenceOfPitchedInstrumentsFeature
------------------------------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: VariabilityOfNotePrevalenceOfPitchedInstrumentsFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s1 = stream.Stream()
    >>> s1.append(instrument.AcousticGuitar())
    >>> s1.repeatAppend(note.Note(), 5)
    >>> s1.append(instrument.Tuba())
    >>> s1.append(note.Note())
    >>> fe = features.jSymbolic.VariabilityOfNotePrevalenceOfPitchedInstrumentsFeature(s1)
    >>> fe.extract().vector
    [0.33333...]




    **VariabilityOfNotePrevalenceOfPitchedInstrumentsFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **VariabilityOfNotePrevalenceOfPitchedInstrumentsFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


VariabilityOfNotePrevalenceOfUnpitchedInstrumentsFeature
--------------------------------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: VariabilityOfNotePrevalenceOfUnpitchedInstrumentsFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **VariabilityOfNotePrevalenceOfUnpitchedInstrumentsFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **VariabilityOfNotePrevalenceOfUnpitchedInstrumentsFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


VariabilityOfNumberOfIndependentVoicesFeature
---------------------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: VariabilityOfNumberOfIndependentVoicesFeature(dataOrStream=None, *arguments, **keywords)


    Standard deviation of number of different channels in which notes have sounded simultaneously. Rests are not included in this calculation.



    >>> from music21 import *
    >>> s = corpus.parse('hwv56/movement3-05.md')
    >>> fe = features.jSymbolic.VariabilityOfNumberOfIndependentVoicesFeature(s)
    >>> f = fe.extract()
    >>> f.vector
    [0.489...]



    **VariabilityOfNumberOfIndependentVoicesFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **VariabilityOfNumberOfIndependentVoicesFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


VariabilityOfTimeBetweenAttacksFeature
--------------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: VariabilityOfTimeBetweenAttacksFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s = corpus.parse('bwv66.6')
    >>> fe = features.jSymbolic.VariabilityOfTimeBetweenAttacksFeature(s)
    >>> f = fe.extract()
    >>> f.vector
    [0.15000...]



    **VariabilityOfTimeBetweenAttacksFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **VariabilityOfTimeBetweenAttacksFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


VariationOfDynamicsFeature
--------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: VariationOfDynamicsFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **VariationOfDynamicsFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **VariationOfDynamicsFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


VariationOfDynamicsInEachVoiceFeature
-------------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: VariationOfDynamicsInEachVoiceFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **VariationOfDynamicsInEachVoiceFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **VariationOfDynamicsInEachVoiceFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


VibratoPrevalenceFeature
------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: VibratoPrevalenceFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **VibratoPrevalenceFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **VibratoPrevalenceFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


ViolinFractionFeature
---------------------

Inherits from: :class:`~music21.features.jSymbolic.InstrumentFractionFeature`, :class:`~music21.features.base.FeatureExtractor`

.. class:: ViolinFractionFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s1 = stream.Stream()
    >>> s1.append(instrument.Violin())
    >>> s1.repeatAppend(note.Note(), 2)
    >>> s1.append(instrument.Tuba())
    >>> s1.repeatAppend(note.Note(), 8)
    >>> fe = features.jSymbolic.ViolinFractionFeature(s1)
    >>> fe.extract().vector
    [0.2...]



    **ViolinFractionFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **ViolinFractionFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


VoiceEqualityDynamicsFeature
----------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: VoiceEqualityDynamicsFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **VoiceEqualityDynamicsFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **VoiceEqualityDynamicsFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


VoiceEqualityMelodicLeapsFeature
--------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: VoiceEqualityMelodicLeapsFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **VoiceEqualityMelodicLeapsFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **VoiceEqualityMelodicLeapsFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


VoiceEqualityNoteDurationFeature
--------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: VoiceEqualityNoteDurationFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **VoiceEqualityNoteDurationFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **VoiceEqualityNoteDurationFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


VoiceEqualityNumberOfNotesFeature
---------------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: VoiceEqualityNumberOfNotesFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **VoiceEqualityNumberOfNotesFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **VoiceEqualityNumberOfNotesFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


VoiceEqualityRangeFeature
-------------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: VoiceEqualityRangeFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **VoiceEqualityRangeFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **VoiceEqualityRangeFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


VoiceSeparationFeature
----------------------

Inherits from: :class:`~music21.features.base.FeatureExtractor`

.. class:: VoiceSeparationFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *



    **VoiceSeparationFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **VoiceSeparationFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


WoodwindsFractionFeature
------------------------

Inherits from: :class:`~music21.features.jSymbolic.InstrumentFractionFeature`, :class:`~music21.features.base.FeatureExtractor`

.. class:: WoodwindsFractionFeature(dataOrStream=None, *arguments, **keywords)




    >>> from music21 import *
    >>> s1 = stream.Stream()
    >>> s1.append(instrument.Flute())
    >>> s1.repeatAppend(note.Note(), 3)
    >>> s1.append(instrument.Tuba())
    >>> s1.repeatAppend(note.Note(), 7)
    >>> fe = features.jSymbolic.WoodwindsFractionFeature(s1)
    >>> print fe.extract().vector[0]
    0.3



    **WoodwindsFractionFeature** **attributes**

        Attributes without Documentation: `id`

        Attributes inherited from :class:`~music21.features.base.FeatureExtractor`: :attr:`~music21.features.base.FeatureExtractor.normalize`, :attr:`~music21.features.base.FeatureExtractor.description`, :attr:`~music21.features.base.FeatureExtractor.stream`, :attr:`~music21.features.base.FeatureExtractor.discrete`, :attr:`~music21.features.base.FeatureExtractor.dimensions`, :attr:`~music21.features.base.FeatureExtractor.data`, :attr:`~music21.features.base.FeatureExtractor.isSequential`, :attr:`~music21.features.base.FeatureExtractor.name`

    **WoodwindsFractionFeature** **methods**

        Methods inherited from :class:`~music21.features.base.FeatureExtractor`: :meth:`~music21.features.base.FeatureExtractor.extract`, :meth:`~music21.features.base.FeatureExtractor.getAttributeLabels`, :meth:`~music21.features.base.FeatureExtractor.getBlankFeature`, :meth:`~music21.features.base.FeatureExtractor.setData`


