pitch-class-histogram

Um ein Pitch-Class-Histogramm zu erzeugen kann die music21 Modul music21.graph.plot.HistogramPitchClass verwendet werden:

from music21 import *
c = corpus.parse('verdi/laDonnaEMobile') #hier das gewünschte Notenbeispiel laden
p = graph.plot.HistogramPitchClass(c)
p.run()

Die einzelnen Werte können durch music21.analysis.pitchAnalysis Modul als Tabelle angezeigt werden:

pcCount = analysis.pitchAnalysis.pitchAttributeCount(c, 'pitchClass')

for n in sorted(pcCount):

    print("%2d: %2d" % (n, pcCount[n]))

Ebenfalls kann die Histogramm-Visualisierung durch Matplotlib und NumPy realisiert werden:

import matplotlib.pyplot as plt
import numpy as np

fig, ax = plt.subplots()
note = ('c', 'c#', 'd', 'd#', 'e', 'f', 'f#', 'g', 'g#', 'a', 'a#', 'b')
x_pos = np.arange(len(note))
values = (40, 0, 58, 44, 1, 111, 3, 15, 0, 37, 61, 0)
ax.bar(x_pos, values, align='center',
        color='salmon', ecolor='black')
ax.set_xticks(x_pos)
ax.set_xticklabels(note)
ax.set_title('Pitch Class Histogram')
plt.show()

  • pitch-class-histogram.txt
  • Zuletzt geändert: 2021/04/08 08:57
  • von egor