Previous topic

music21.features.base

Next topic

music21.features.native

Table Of Contents

Table Of Contents

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

music21.features.jSymbolic.getCompletionStats()
>>> from music21 import *
>>> features.jSymbolic.getCompletionStats()
completion stats: 70/111 (0.6306...)
music21.features.jSymbolic.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: InstrumentFractionFeature, FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

AcousticGuitarFractionFeature methods

AmountOfArpeggiationFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

AmountOfArpeggiationFeature methods

AverageMelodicIntervalFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

AverageMelodicIntervalFeature methods

AverageNoteDurationFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

AverageNoteDurationFeature methods

AverageNoteToNoteDynamicsChangeFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.AverageNoteToNoteDynamicsChangeFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

AverageNoteToNoteDynamicsChangeFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

AverageNoteToNoteDynamicsChangeFeature methods

AverageNumberOfIndependentVoicesFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

AverageNumberOfIndependentVoicesFeature methods

AverageRangeOfGlissandosFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.AverageRangeOfGlissandosFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

AverageRangeOfGlissandosFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

AverageRangeOfGlissandosFeature methods

AverageTimeBetweenAttacksFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

AverageTimeBetweenAttacksFeature methods

AverageTimeBetweenAttacksForEachVoiceFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

AverageTimeBetweenAttacksForEachVoiceFeature methods

AverageVariabilityOfTimeBetweenAttacksForEachVoiceFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

AverageVariabilityOfTimeBetweenAttacksForEachVoiceFeature methods

BasicPitchHistogramFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

BasicPitchHistogramFeature methods

BeatHistogramFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

BeatHistogramFeature methods

BrassFractionFeature

Inherits from: InstrumentFractionFeature, FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

BrassFractionFeature methods

ChangesOfMeterFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

ChangesOfMeterFeature methods

ChromaticMotionFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.ChromaticMotionFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

ChromaticMotionFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

ChromaticMotionFeature methods

CombinedStrengthOfTwoStrongestRhythmicPulsesFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.CombinedStrengthOfTwoStrongestRhythmicPulsesFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

CombinedStrengthOfTwoStrongestRhythmicPulsesFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

CombinedStrengthOfTwoStrongestRhythmicPulsesFeature methods

CompoundOrSimpleMeterFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

CompoundOrSimpleMeterFeature methods

DirectionOfMotionFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

DirectionOfMotionFeature methods

DistanceBetweenMostCommonMelodicIntervalsFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

DistanceBetweenMostCommonMelodicIntervalsFeature methods

DominantSpreadFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.DominantSpreadFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

DominantSpreadFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

DominantSpreadFeature methods

DurationFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.DurationFeature(dataOrStream=None, *arguments, **keywords)

A feature extractor that extracts the duration in seconds.

>>> from music21 import *

DurationOfMelodicArcsFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

DurationOfMelodicArcsFeature methods

ElectricGuitarFractionFeature

Inherits from: InstrumentFractionFeature, FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

ElectricGuitarFractionFeature methods

ElectricInstrumentFractionFeature

Inherits from: InstrumentFractionFeature, FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

ElectricInstrumentFractionFeature methods

FifthsPitchHistogramFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

FifthsPitchHistogramFeature methods

GlissandoPrevalenceFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.GlissandoPrevalenceFeature(dataOrStream=None, *arguments, **keywords)

Not yet implemented in music21

>>> from music21 import *

GlissandoPrevalenceFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

GlissandoPrevalenceFeature methods

HarmonicityOfTwoStrongestRhythmicPulsesFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.HarmonicityOfTwoStrongestRhythmicPulsesFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

HarmonicityOfTwoStrongestRhythmicPulsesFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

HarmonicityOfTwoStrongestRhythmicPulsesFeature methods

ImportanceOfBassRegisterFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

ImportanceOfBassRegisterFeature methods

ImportanceOfHighRegisterFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

ImportanceOfHighRegisterFeature methods

ImportanceOfLoudestVoiceFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.ImportanceOfLoudestVoiceFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

ImportanceOfLoudestVoiceFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

ImportanceOfLoudestVoiceFeature methods

ImportanceOfMiddleRegisterFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

ImportanceOfMiddleRegisterFeature methods

InitialTempoFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

InitialTempoFeature methods

InitialTimeSignatureFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

InitialTimeSignatureFeature methods

InstrumentFractionFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

IntervalBetweenStrongestPitchClassesFeature methods

IntervalBetweenStrongestPitchesFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

IntervalBetweenStrongestPitchesFeature methods

MaximumNoteDurationFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

MaximumNoteDurationFeature methods

MaximumNumberOfIndependentVoicesFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

MaximumNumberOfIndependentVoicesFeature methods

MelodicFifthsFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.MelodicFifthsFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

MelodicFifthsFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

MelodicFifthsFeature methods

MelodicIntervalHistogramFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

MelodicIntervalHistogramFeature methods

MelodicIntervalsInLowestLineFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.MelodicIntervalsInLowestLineFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

MelodicIntervalsInLowestLineFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

MelodicIntervalsInLowestLineFeature methods

MelodicOctavesFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.MelodicOctavesFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

MelodicOctavesFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

MelodicOctavesFeature methods

MelodicThirdsFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.MelodicThirdsFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

MelodicThirdsFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

MelodicThirdsFeature methods

MelodicTritonesFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.MelodicTritonesFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

MelodicTritonesFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

MelodicTritonesFeature methods

MinimumNoteDurationFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

MinimumNoteDurationFeature methods

MostCommonMelodicIntervalFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

MostCommonMelodicIntervalFeature methods

MostCommonMelodicIntervalPrevalenceFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

MostCommonMelodicIntervalPrevalenceFeature methods

MostCommonPitchClassFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

MostCommonPitchClassFeature methods

MostCommonPitchClassPrevalenceFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

MostCommonPitchClassPrevalenceFeature methods

MostCommonPitchFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

MostCommonPitchFeature methods

MostCommonPitchPrevalenceFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

MostCommonPitchPrevalenceFeature methods

NoteDensityFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

NoteDensityFeature methods

NotePrevalenceOfPitchedInstrumentsFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

NotePrevalenceOfPitchedInstrumentsFeature methods

NotePrevalenceOfUnpitchedInstrumentsFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.NotePrevalenceOfUnpitchedInstrumentsFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

NotePrevalenceOfUnpitchedInstrumentsFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

NotePrevalenceOfUnpitchedInstrumentsFeature methods

NumberOfCommonMelodicIntervalsFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

NumberOfCommonMelodicIntervalsFeature methods

NumberOfCommonPitchesFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

NumberOfCommonPitchesFeature methods

NumberOfModeratePulsesFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.NumberOfModeratePulsesFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

NumberOfModeratePulsesFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

NumberOfModeratePulsesFeature methods

NumberOfPitchedInstrumentsFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

NumberOfPitchedInstrumentsFeature methods

NumberOfRelativelyStrongPulsesFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.NumberOfRelativelyStrongPulsesFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

NumberOfRelativelyStrongPulsesFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

NumberOfRelativelyStrongPulsesFeature methods

NumberOfStrongPulsesFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.NumberOfStrongPulsesFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

NumberOfStrongPulsesFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

NumberOfStrongPulsesFeature methods

NumberOfUnpitchedInstrumentsFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.NumberOfUnpitchedInstrumentsFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

NumberOfUnpitchedInstrumentsFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

NumberOfUnpitchedInstrumentsFeature methods

OrchestralStringsFractionFeature

Inherits from: InstrumentFractionFeature, FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

OrchestralStringsFractionFeature methods

OverallDynamicRangeFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.OverallDynamicRangeFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

OverallDynamicRangeFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

OverallDynamicRangeFeature methods

PercussionPrevalenceFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.PercussionPrevalenceFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

PercussionPrevalenceFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

PercussionPrevalenceFeature methods

PitchClassDistributionFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

PitchClassDistributionFeature methods

PitchClassVarietyFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

PitchClassVarietyFeature methods

PitchVarietyFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

PitchVarietyFeature methods

PitchedInstrumentsPresentFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

PitchedInstrumentsPresentFeature methods

PolyrhythmsFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.PolyrhythmsFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

PolyrhythmsFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

PolyrhythmsFeature methods

PrimaryRegisterFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

PrimaryRegisterFeature methods

QualityFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

QualityFeature methods

QuintupleMeterFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

QuintupleMeterFeature methods

RangeFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

RangeFeature methods

RangeOfHighestLineFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.RangeOfHighestLineFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

RangeOfHighestLineFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

RangeOfHighestLineFeature methods

RelativeNoteDensityOfHighestLineFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.RelativeNoteDensityOfHighestLineFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

RelativeNoteDensityOfHighestLineFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

RelativeNoteDensityOfHighestLineFeature methods

RelativeRangeOfLoudestVoiceFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.RelativeRangeOfLoudestVoiceFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

RelativeRangeOfLoudestVoiceFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

RelativeRangeOfLoudestVoiceFeature methods

RelativeStrengthOfMostCommonIntervalsFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

RelativeStrengthOfMostCommonIntervalsFeature methods

RelativeStrengthOfTopPitchClassesFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

RelativeStrengthOfTopPitchClassesFeature methods

RelativeStrengthOfTopPitchesFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

RelativeStrengthOfTopPitchesFeature methods

RepeatedNotesFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.RepeatedNotesFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

RepeatedNotesFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

RepeatedNotesFeature methods

RhythmicLoosenessFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.RhythmicLoosenessFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

RhythmicLoosenessFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

RhythmicLoosenessFeature methods

RhythmicVariabilityFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.RhythmicVariabilityFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

RhythmicVariabilityFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

RhythmicVariabilityFeature methods

SaxophoneFractionFeature

Inherits from: InstrumentFractionFeature, FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

SaxophoneFractionFeature methods

SecondStrongestRhythmicPulseFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.SecondStrongestRhythmicPulseFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

SecondStrongestRhythmicPulseFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

SecondStrongestRhythmicPulseFeature methods

SizeOfMelodicArcsFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

SizeOfMelodicArcsFeature methods

StaccatoIncidenceFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

StaccatoIncidenceFeature methods

StepwiseMotionFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.StepwiseMotionFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

StepwiseMotionFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

StepwiseMotionFeature methods

StrengthOfSecondStrongestRhythmicPulseFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.StrengthOfSecondStrongestRhythmicPulseFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

StrengthOfSecondStrongestRhythmicPulseFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

StrengthOfSecondStrongestRhythmicPulseFeature methods

StrengthOfStrongestRhythmicPulseFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.StrengthOfStrongestRhythmicPulseFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

StrengthOfStrongestRhythmicPulseFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

StrengthOfStrongestRhythmicPulseFeature methods

StrengthRatioOfTwoStrongestRhythmicPulsesFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.StrengthRatioOfTwoStrongestRhythmicPulsesFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

StrengthRatioOfTwoStrongestRhythmicPulsesFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

StrengthRatioOfTwoStrongestRhythmicPulsesFeature methods

StringEnsembleFractionFeature

Inherits from: InstrumentFractionFeature, FeatureExtractor

class music21.features.jSymbolic.StringEnsembleFractionFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

StringEnsembleFractionFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

StringEnsembleFractionFeature methods

StringKeyboardFractionFeature

Inherits from: InstrumentFractionFeature, FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

StringKeyboardFractionFeature methods

StrongTonalCentresFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.StrongTonalCentresFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

StrongTonalCentresFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

StrongTonalCentresFeature methods

StrongestRhythmicPulseFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.StrongestRhythmicPulseFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

StrongestRhythmicPulseFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

StrongestRhythmicPulseFeature methods

TimePrevalenceOfPitchedInstrumentsFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.TimePrevalenceOfPitchedInstrumentsFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

TimePrevalenceOfPitchedInstrumentsFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

TimePrevalenceOfPitchedInstrumentsFeature methods

TripleMeterFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

TripleMeterFeature methods

UnpitchedInstrumentsPresentFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.UnpitchedInstrumentsPresentFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

UnpitchedInstrumentsPresentFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

UnpitchedInstrumentsPresentFeature methods

VariabilityOfNoteDurationFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.VariabilityOfNoteDurationFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

VariabilityOfNoteDurationFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

VariabilityOfNoteDurationFeature methods

VariabilityOfNotePrevalenceOfPitchedInstrumentsFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

VariabilityOfNotePrevalenceOfPitchedInstrumentsFeature methods

VariabilityOfNotePrevalenceOfUnpitchedInstrumentsFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.VariabilityOfNotePrevalenceOfUnpitchedInstrumentsFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

VariabilityOfNotePrevalenceOfUnpitchedInstrumentsFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

VariabilityOfNotePrevalenceOfUnpitchedInstrumentsFeature methods

VariabilityOfNumberOfIndependentVoicesFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

VariabilityOfNumberOfIndependentVoicesFeature methods

VariabilityOfTimeBetweenAttacksFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

VariabilityOfTimeBetweenAttacksFeature methods

VariationOfDynamicsFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.VariationOfDynamicsFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

VariationOfDynamicsFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

VariationOfDynamicsFeature methods

VariationOfDynamicsInEachVoiceFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.VariationOfDynamicsInEachVoiceFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

VariationOfDynamicsInEachVoiceFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

VariationOfDynamicsInEachVoiceFeature methods

VibratoPrevalenceFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.VibratoPrevalenceFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

VibratoPrevalenceFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

VibratoPrevalenceFeature methods

ViolinFractionFeature

Inherits from: InstrumentFractionFeature, FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

ViolinFractionFeature methods

VoiceEqualityDynamicsFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.VoiceEqualityDynamicsFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

VoiceEqualityDynamicsFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

VoiceEqualityDynamicsFeature methods

VoiceEqualityMelodicLeapsFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.VoiceEqualityMelodicLeapsFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

VoiceEqualityMelodicLeapsFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

VoiceEqualityMelodicLeapsFeature methods

VoiceEqualityNoteDurationFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.VoiceEqualityNoteDurationFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

VoiceEqualityNoteDurationFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

VoiceEqualityNoteDurationFeature methods

VoiceEqualityNumberOfNotesFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.VoiceEqualityNumberOfNotesFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

VoiceEqualityNumberOfNotesFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

VoiceEqualityNumberOfNotesFeature methods

VoiceEqualityRangeFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.VoiceEqualityRangeFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

VoiceEqualityRangeFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

VoiceEqualityRangeFeature methods

VoiceSeparationFeature

Inherits from: FeatureExtractor

class music21.features.jSymbolic.VoiceSeparationFeature(dataOrStream=None, *arguments, **keywords)
>>> from music21 import *

VoiceSeparationFeature attributes

Attributes without Documentation: id

Attributes inherited from FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

VoiceSeparationFeature methods

WoodwindsFractionFeature

Inherits from: InstrumentFractionFeature, FeatureExtractor

class music21.features.jSymbolic.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 FeatureExtractor: normalize, description, stream, discrete, dimensions, data, isSequential, name

WoodwindsFractionFeature methods