===== Modul Basics Notenanalyse mit music21 ===== * Tutorial [[https://analyse.hfm-weimar.de/jupyter/Jupyter_Noten_Basics_Grundlagen_music21.ipynb|Jupyter_Noten_Basics_Grundlagen_music21]] (Jupyter-Notebook; [[https://analyse.hfm-weimar.de/jupyter/Jupyter_Noten_Basics_Grundlagen_music21.html|html]]-preview) * Tutorial [[https://analyse.hfm-weimar.de/jupyter/Jupyter_Noten_Basics_Part1_Visualisierung.ipynb|Jupyter_Noten_Basics_Part1_Visualisierung]] (Jupyter-Notebook; [[https://analyse.hfm-weimar.de/jupyter/Jupyter_Noten_Basics_Part1_Visualisierung.html|html]]-preview) * Tutorial [[https://analyse.hfm-weimar.de/jupyter/Jupyter_Noten_Basics_Part2_Statistik.ipynb|Jupyter_Noten_Basics_Part2_Statistik]] (Jupyter-Notebook; [[https://analyse.hfm-weimar.de/jupyter/Jupyter_Noten_Basics_Part2_Statistik.html|html]]-preview) Diese Seite enthält einführende Informationen zum Modul //Basics Notenanalyse mit music21//. Anhand verschiedener Beispiele wird in die Grundlagen des Arbeitens mit //music21// und den //Jupyter-Notebooks//, Visualisierungen von Notentexten und statistischen Abfragen eingeführt. Voraussetzung für die Ausführung der //Jupyter-Notebooks// im Browser ist die Installation von Anaconda bzw. Miniconda sowie des Noteneditors MuseScore. Genaue Installationsanleitungen und Einführungs-Tutorials finden Sie hier: * Installation [[jupyter-anaconda|Jupyter Notebook, Anaconda und Miniconda]] * Tutorial [[jupyter-basic|Jupyter Notebook]] * Installation [[installation#musescore|MuseScore]] * Tutorial [[musicxml|MusicXML in depth]] Bitte speichern Sie nach erfolgreicheer die drei Jupyter-Notebook-Tutorials (s. oben) auf Ihren Rechner (Rechtsklick -> Ziel speichern unter). Wählen Sie als Speicherort den Pfad des voreingestellten Arbeitsordners, in den Sie beim Start der //Jupyter-Notebooks// gelangen (normalerweise 'c:/users/ //name//' - wobei 'name' computerspezifisch vergeben wird). Legen Sie dort einen Ordner "Analyse" an, in dem Sie dann alle Notebooks speichern. | //Achtung: Jupyter-Notebooks haben die Dateiendung '.ipynb'. Sie werden in der Regel dem Texteditor zugeordnet, manche Betriebssysteme ändern jedoch leider automatisch die Endung in '.txt'. Bitte in diesem Falle unbedingt in'.ipynb' zurückändern - sonst können die Jupyter-Notebooks nicht geöffnet werden.// | | //Die html-Versionen können nur gelesen, nicht ausgeführt oder verändert werden; sie dienen nur der Vorab-Information!//| Anschließend sollten Sie sich kurz mit der Konzeption eines Jupyter Notebooks und den grundlegenden Befehlen in //music21// vertraut machen sowie einige Settings für //music21// an Ihren lokalen Rechner anpassen. Hierbei hilft Ihnen das * Tutorial [[https://analyse.hfm-weimar.de/jupyter/Jupyter_Noten_Basics_Grundlagen_music21.ipynb|Jupyter_Noten_Basics_Grundlagen_music21]] (Jupyter-Notebook; [[https://analyse.hfm-weimar.de/jupyter/Jupyter_Noten_Basics_Grundlagen_music21.html|html]]-preview) | //Einen schnellen und umkomplizierten Einstieg in die Möglichkeiten der computergestützten Musikanalyse mit //music21// bietet das interaktive Programm [[Interaktive Musikanalyse|Interaktive Musikanalyse]]. Hier können Sie durch die Auswahl von Optionen die verschiedenen statistischen Abfragen kennenlernen, ohne sich auf die Befehlssyntax von //music21// und die Funktionsweise der //Jupyter Notebooks// einlassen zu müssen. (Voraussetzung ist ebenfalls die Installation von //Anaconda// bzw. //Miniconda// sowie [[installation#musescore|MuseScore]].)// | Im Anschluss an die Basics-Module können Sie sich den Tutorials des Moduls [[advanced1|Advanced Noten]] zuwenden: - Tutorial [[https://analyse.hfm-weimar.de/jupyter/Jupyter_Noten_Advanced_Part1_Josquin.ipynb|Jupyter_Noten_Advanced_Part1_Josquin]] (Jupyter-Notebook; [[https://analyse.hfm-weimar.de/jupyter/Jupyter_Noten_Advanced_Part1_Josquin.html|html]]-preview) - Tutorial [[https://analyse.hfm-weimar.de/jupyter/Jupyter_Noten_Advanced_Part2_Beethoven.ipynb|Jupyter_Noten_Advanced_Part2_Beethoven]] (Jupyter-Notebook; [[https://analyse.hfm-weimar.de/jupyter/Jupyter_Noten_Advanced_Part2_Beethoven.html|html]]-preview) ==== Tutorial 1: Visualisierung von Notentexten ==== [[https://analyse.hfm-weimar.de/jupyter/Jupyter_Noten_Basics_Part1_Visualisierung.ipynb|Jupyter_Noten_Basics_Part1_Visualisierung]]; [[https://analyse.hfm-weimar.de/jupyter/Jupyter_Noten_Basics_Part1_Visualisierung.html|html]]-preview Die Notentexte, die der musikalischen Analyse normalerweise zugrunde gelegt werden, sind Spielanweisungen für die Musiker. Es handelt sich also um eine //präskriptive// Notation. Dagegen sollen bei der Analyse musikalische Strukturen beschrieben werden - und zwar möglichst so, wie sie erklingen. Der amerikanische Musikwissenschaftler Charles Seeger hat von der präskriptiven Notation die//deskriptiven// Notationsweisen unterschieden, in denen versucht wird, die musikalischen Strukturen grafisch darzustellen. Diese Visualisierungen dienen nicht dazu, Musik aufzuführen, sondern einen möglichst guten Eindruck von ihren klanglichen Strukturen und Texturen, etwa dem Gewebe der verschiedenen Stimmen im zeitlichen Verlauf und im Tonhöhenraum, zu gewinnen. \\ Eine einfache deskriptive Notation ist die zweidimensionale Anordnung aller gespielten Töne: Die y-Achse entspricht der absoluten Tonhöhe, die x-Achse der Zeit. Verschiedene Instrumente können zudem farblich unterschiedlich gekennzeichnet werden. Diese Darstellung heißt //Pianorollen//-Darstellung, da nach diesem Muster auch die Rollen mechanischer Klavier gestanzt wurden. {{ :pianoroll.png?800 |}} Dies ist eine der Pianorollen-Visualisierungen, die im Tutorial //Basics Noten 1// verwendet werden, um einen Notentext auf eine intuitive Weise darzustellen. | **Hinweis**: Sie können sich Pianorollen sehr übersichtlich im [[https://analyse.hfm-weimar.de/doku.php?id=installation#sonic_visualiser|Sonic Visualiser]] darstellen lassen und zugleich mit MIDI-Klängen anhören. Eine Reihe von Pianorollen sind im [[notenauswahl|Subkorpus der Notendatenbank]] verzeichnet und können dort heruntergeladen werden. Eine detaillierte Anweisung, wie Sie dabei vorgehen müssen und wie Sie selbst aus Notendateien Pianorollen generieren könnten, finden Sie [[sv-pianoroll|hier]]. | //music21// bietet zudem die Möglichkeit, automatisiert einen Klavierauszug einer Partitur zu erzeugen (//chordify//-Befehl). Dies erleichtert z.B. eine harmonische Analyse. Außerdem erläutert das Tutorial einige weitere nützliche Funktionen von //music21//, u.a. die Auswahl von Ausschnitten (Takten) und Stimmen. ==== Tutorial 2: Statistische Abfragen musikalischer Merkmale ==== [[https://analyse.hfm-weimar.de/jupyter/Jupyter_Noten_Basics_Part2_Statistik.ipynb|Jupyter_Noten_Basics_Part2_Statistik]]; [[https://analyse.hfm-weimar.de/jupyter/Jupyter_Noten_Basics_Part2_Statistik.html|html]]-preview Mit den den in den Jupyter-Notebooks vorgestellten //music21//-Befehlen können zunächst die Anzahl der Töne (insgesamt oder pro Stimme), der Takte sowie Angaben zum Ambitus (insgesamt und pro Stimme) abgefragt werden. Durch die Untersuchung von //Häufigkeiten// kann ein erster Überblick über die Einfachheit und Einförmigkeit bzw. den Abwechslungsreichtum und die Komplexität einer Komposition gewonnen werden. Wird etwa in der Komposition nur der diatonische Tonvorrat benutzt, oder finden sich auch viele chromatische Töne? Schreiten die einzelnen Stimmen hauptsächlich in kleinen Intervallschritten voran oder gibt es (auch) große Sprünge? Gibt es nur wenig unterschiedliche Tondauern oder eine große Variation von Notenwerten? Antworten auf diese Fragen geben Häufigkeitsverteilungen in Form von Histogrammen (= Balkendiagrammen) und Tabellen. Mit einfachen Befehlen können die Häufigkeiten folgender Parameter oder Variablen eines Notentextes ermittelt und angezeigt werden, u.a. von: \\ **Häufigkeiten der Tonhöhen** (//Pitch//) können pro Notendatei und pro Stimme abgefragt werden. Dabei wird nach verschiedenen Oktavlagen unterschieden. {{ ::histogramm.png?500 |}} \\ **Häufigkeiten der zwölf Tonhöhenklassen** (//Pitch Class//) - pro Stimme und insgesamt. Dabei wird //nicht// nach verschiedenen Oktavlagen unterschieden! \\ Es werden die englischen Tonbezeichnungen verwendet: C C#/Db D D#/Eb E F F#/Gb G G#/Ab A A#/Bb B C (B entspricht dem deutschen H!) {{ ::pitch_class_music21.png?300 |}} \\ **Häufigkeiten von Intervallschritten bzw. -sprüngen** in einer Stimme.\\ ACHTUNG: Dies ist nur bei einstimmigem Stimmverlauf möglich!\\ Es werden die folgenden Intervallbezeichnungen verwendet: Prime = 0 kleine Sekunde = m2 große Sekunde = M2 kleine Terz = m3 große Terz = M3 reine Quarte = P4 usw. {{ ::interval_music21.png?300 |}} \\ **Häufigkeiten von Tondauern / Notenwerten** Notenwerte werden als Vielfache bzw. Teile einer Viertelnote gezählt: Viertel = 1 Achtel = 0,5 Halbe = 2 usw. {{ ::quarter_length_music21.png?300 |}} \\ **Metrisches Gewicht** //Music21// bietet über den //beat-strength//-Befehl die Möglichkeit, das metrische Gewicht (den metrischen Akzent) jeder Note zu bestimmen (1.0 = höchstes Gewicht, 0.5 = mittleres Gewicht, 0.25 geringeres Gewicht usw.) und die Häufigkeiten der einzelnen Gewichtungen oder Akzentstufen zu berechnen. Hierdurch lässt sich nachvollziehen, wie klar oder eindeutig ein Metrum in der Musik etabliert wird.\\ Die metrischen Akzente folgen für die gängigen Taktarten folgender Gewichtung (jeweils für eine Folge von Achtelnoten): 4/4-Takt: [1.0, 0.125, 0.25, 0.125, 0.5, 0.125, 0.25, 0.125] 2/4-Takt: [1.0, 0.25, 0.5, 0.25] 3/4-Takt: [1.0, 0.25, 0.5, 0.25, 0.5, 0.25] 6/8-Takt: [[1.0, 0.25, 0.25, 0.5, 0.25, 0.25] 9/8-Takt: [1.0, 0.25, 0.25, 0.5, 0.25, 0.25, 0.5, 0.25, 0.25] 2/2-Takt: [1.0, 0.125, 0.25, 0.125, 0.5, 0.125, 0.25, 0.125] 1.0 = höchstes Gewicht, 0.5 = mittleres Gewicht, 0.25 geringeres Gewicht usw. \\ **Zweidimensionale Häufigkeitsverteilungen** Außerdem können zwei der genannten musikalischen Parameter in sog. //zweidimensionale Häufigkeitsverteilungen//, also in Abhängigkeit voneinander dargestellt werden, z.B. die Häufigkeiten der einzelnen Tonhöhen jeweils gekoppelt mit bestimmten Dauernwerten (Viertel, Achtel usw.). Die zweidimensionalen Häufigkeitsverteilungen können als Streudiagramme (scatter plots) oder 3D-Plots angezeigt werden. Mit //music21// lassen sich folgende Parameter aufeinander beziehen: * Häufigkeit der Notendauernwerte bezogen auf Tonhöhen und Tonhöhenklassen * Häufigkeit der metrischen Positionen bzw. metrisches Gewicht bezogen auf Tonhöhen und Tonhöhenklassen \\ {{:scatterplot.png?400 |}} {{:3d_pitch_class_quarter_lenght_music21.png?400|}} \\ \\ \\ Alle statistischen Abfragen können auf\\ - einzelne Sätze und Ausschnitte von Kompositionen\\ - auf die kompletten Kompositionen sowie\\ - mehrere Kompositionen im Vergleich\\ angewendet werden! Auf diese Weise können einzelne Kompositionen, aber auch Korpora von Kompositionen analysiert werden. Außerdem besteht die Möglichkeit, die Häufigkeitsverteilungen als sog. csv-Dateien zu exptortieren ("csv" meint: "comma-seperated values"). Das csv-Format lässt sich u.a. von Tabellenkalkulator-Software wie Excel öffnen und lesen. Auf diese Weise können die Daten extern weiterverarbeitet werden, was insbesondere bei Korpusstudien sinnvoll sein kann.