pitch-class-histogram

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
pitch-class-histogram [2021/03/26 04:04]
egor
pitch-class-histogram [2021/04/08 08:57] (aktuell)
egor
Zeile 1: Zeile 1:
-Um ein Pitch-Class-Histogramm zu erzeugen kann die //music21// Klasse [[https://web.mit.edu/music21/doc/moduleReference/moduleGraphPlot.html#histogrampitchclass|music21.graph.plot.HistogramPitchClass]] verwendet werden:+Um ein Pitch-Class-Histogramm zu erzeugen kann die //music21// Modul [[https://web.mit.edu/music21/doc/moduleReference/moduleGraphPlot.html#histogrampitchclass|music21.graph.plot.HistogramPitchClass]] verwendet werden:
  
 <code> <code>
Zeile 8: Zeile 8:
  
 {{:wiki:pitchclasshisto1.png?650|}} {{:wiki:pitchclasshisto1.png?650|}}
 +
 +Die einzelnen Werte können durch [[https://web.mit.edu/music21/doc/moduleReference/moduleAnalysisPitchAnalysis.html|music21.analysis.pitchAnalysis]] Modul als Tabelle angezeigt werden:
 +
 +<code>
 +pcCount = analysis.pitchAnalysis.pitchAttributeCount(c, 'pitchClass')
 +
 +for n in sorted(pcCount):
 +
 +    print("%2d: %2d" % (n, pcCount[n]))</code>
 +    
 +{{:wiki:pitchclasshisto2.png?600|}}
 +
 +Ebenfalls kann die Histogramm-Visualisierung durch Matplotlib und NumPy realisiert werden:
 +
 +<code>
 +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()
 +</code>
 +
 +{{:wiki:pitchclasshisto_matplot.png?600|}}
  • pitch-class-histogram.1616731499.txt.gz
  • Zuletzt geändert: 2021/03/26 04:04
  • von egor