Various tools and utilities to find correlations between disparate objects in a Stream.


class music21.analysis.correlate.ActivityMatch(streamObj)

Given a Stream, find if one object is active while another is also active.

Plotting routines to graph the output of dedicated methods in this class are available.

PlotScatterPitchSpaceDynamicSymbol and PlotScatterWeightedPitchSpaceDynamicSymbol employs the pitchToDynamic() method.

Sample output is as follows:


ActivityMatch methods


Create an analysis of pitch to dynamic symbol.

If dataPoints is True, all data matches between source and destination are returned. If False, 3 point weighted coordinates are created for each unique match.

No dynamics here.

>>> s = corpus.parse('bach/bwv8.6.xml')
>>> am = analysis.correlate.ActivityMatch([0].flat)
>>> am.pitchToDynamic()
Traceback (most recent call last):
CorrelateException: cannot create correlation an object that is not found in the 
Stream: <class 'music21.dynamics.Dynamic'>

Many dynamics

>>> s = corpus.parse('schoenberg/opus19/movement2')
>>> am = analysis.correlate.ActivityMatch([0].flat)
>>> data = am.pitchToDynamic()
>>> len(data)
>>> data[0]
[83.0, 7]