Ein explorativer, quantitativer Forschungsansatz

In diesem Kapitel wird das zugrunde liegende Forschungsdesign sowie der Gesamtansatz der Methodik dieser Arbeit dargelegt und begründet. Ziel ist es, den methodischen Rahmen für die computergestützte musikstilometrische Exploration der High Voltage SID Collection (HVSC) darzulegen und den systematischen Prozess von der Rohdatengewinnung bis hin zur Interpretation der Ergebnisse zu skizzieren.

Die Arbeit verfolgt hierbei einen explorativen, sowie quantitativen Ansatz. Dies bedeutet, dass primär darauf abzielt wird, Muster und Zusammenhänge innerhalb der ausgewählten Korpora zu entdecken und zu beschreiben, anstatt vordefinierte, streng hypothesengeleitete Tests durchzuführen. Angesichts der bisher limitierten, systematischen, quantitativen Analysen zu der HVSC und der Komplexität des Datenmaterials erscheint ein exploratives Vorgehen zielführender, um zunächst die prinzipielle Zugänglichkeit und Analysierbarkeit des Korpus sowie das Potenzial bestimmter musikalischer Merkmale zur Charakterisierung von Stilen aufzuzeigen.

Der quantitative Fokus liegt auf der Messung und statistischen Auswertung definierter, musikalischer Features. Die zentrale methodische Herausforderung dieser Arbeit liegt zunächst in der effektiven Transformation der SID-Dateien, welche ausschließlich Maschinencode enthalten. Die Wahl der Datenrepräsentation und Transformations-Pipeline sind fundamentale Entscheidungen, die das gesamte Forschungsdesign prägen und die Menge der extrahierbaren Features sowie die erreichbare analytische Tiefe beeinflussen.

Methodische Vorgehensweise im Überblick

Von Rohdaten zu Erkenntnissen

Die methodische Vorgehensweise dieser Arbeit lässt sich wissenschaftlich am besten als eine quantitative, datengesteuerte Forschungsmethodik einordnen, die vor allem Elemente der computergestützten Musikwissenschaft basierend auf den Grundlagen und dem aktuellen Stand der Forschung verwendet. Im Kern handelt es sich letztendlich um eine empirische Studie, die auf der systematischen Analyse digitaler Daten basiert. Sie gliedert sich in die folgenden Hauptschritte, die in den nachfolgenden Unterkapiteln detaillierter beschrieben werden:

Datenerfassung
Dieser Schritt umfasst die Beschaffung des Rohdatenmaterials, der High Voltage SID Collection (HVSC) Version #80 und der DeepSID Datenbank, die als Metadatenquelle dient. Aufgrund des immensen Umfangs der HVSC mit über 58.150 SID-Dateien, die eine Analyse des Gesamtkorpus im Rahmen der Arbeit unrealistisch machen, ist hier bereits eine sorgfältige Auswahl und Eingrenzung auf spezifische Teilkorpora oder Stichproben erforderlich.

Vorverarbeitung (Preprocessing)
Dieser zentrale Schritt beinhaltet die Aufbereitung der Rohdaten für die Analyse. Zunächst erfolgt die konkrete Definition und Auswahl der zu analysierenden Teilkorpora, begründet durch die Forschungsfragen und die Datenstruktur. Der elementare Kern in diesem Schritt ist die Konvertierung der ausgewählten SID-Dateien in ein für die computergestützte Analyse geeignetes Format. Basierend auf einer Evaluation existierender Werkzeuge. Dieser Schritt erfordert eine kritische Reflexion über den unvermeidlichen Informationsverlust bei der Konvertierung, insbesondere hinsichtlich SID-spezifischer Klangfarben und Timing-Nuancen. Abschließend erfolgt eine Datenbereinigung und Validierung der konvertierten Dateien.

Feature Engineering und Extraktion
Hierbei werden die musikalischen Stilmerkmale, die für die C64-Musik relevant sind, definiert und aus den vorverarbeiteten Daten (MIDI-Dateien und ggf. Registerdaten) extrahiert. Das Feature Engineering orientiert sich dabei an musikwissenschaftlichen Prinzipien und versucht, auch SID-spezifische Techniken wie Arpeggios, Pulsbreitenmodulation oder Filternutzung quantifizierbar zu machen. Dies erfordert neben etablierten Bibliotheken (wie music21 für MIDI-basierte Features) auch die Entwicklung von benutzerdefiniertem Code zur Analyse der spezifischen Ausgaben der Konvertierungspipeline, um beispielsweise Arpeggio-Muster zu identifizieren. Das Ergebnis ist ein strukturierter Datensatz, in der Regel ein Pandas DataFrame, der die extrahierten Features für jedes Musikstück enthält.

Musikstilometrische Analyse 
Auf dem extrahierten Feature-Datensatz werden die quantitativen, musikstilometrisch orientierten Analysen durchgeführt. Im Rahmen des explorativen Ansatzes liegt der Fokus zunächst auf statistischen Methoden zur Charakterisierung der Daten und auf Visualisierungen zur Identifikation erster Muster. Vergleichende Analysen zwischen den ausgewählten Teilkorpora z.B. von Komponisten werden mittels deskriptiver Statistiken durchgeführt.

Interpretation und Visualisierung
Die Ergebnisse der quantitativen Analyse werden abschließend interpretiert und mit Bezug auf die musikwissenschaftlichen Grundlagen und die technischen Gegebenheiten der SID-Musik kontextualisiert. Aussagekräftige Visualisierungen dienen der klaren Darstellung der Ergebnisse. Dieser Schritt bildet die Basis für die Beantwortung der Forschungsfragen und die Diskussion der Erkenntnisse in den nachfolgenden Kapiteln.

Übersicht zum Workflow

Die folgenden Schritte bilden den Workflow für die explorative, stilometrische Analyse der HVSC von den Rohdaten bis hin zu der Erkenntnissgewinnung:

  1. Datenerfassung: Beschaffung von HVSC (#80) und DeepSID Datenbank
  2. Korpusauswahl: Eingrenzung und Definition spezifischer Teilkorpora (z.B. Komponisten, Competition) mithilfe der Nutzung von Metadaten (DeepSID)
  3. Konvertierung: Transformation von SID-Dateien zu analytischen Formaten (primär MIDI) mittels evaluierter Werkzeuge (desidulate, JSIDPlay2). Kritische Reflexion des Informationsverlusts.
  4. Datenbereinigung: Validierung der konvertierten Dateien und Umgang mit Fehlern/Inkonsistenzen.
  5. Feature-Engineering: Definition musikalischer Features inkl. SID-spezifischer Merkmale.
  6. Feature-Extraktion: Implementierung und Anwendung von musif zur Feature-Extraktion, sowie Erstellung des Feature-Datensatzes
  7. Stilometrische Analyse: Anwendung statistischer Methoden, Visualisierungen, sowie einfacher Clusteranalysen
  8. Interpretation und Erkenntnisse: Kontextualisierung der quantitativen Ergebnisse mit musikwissenschaftlichem und technischem Wissen aus den erarbeiteten Grundlagen und dem aktuellen Stand der Forschung.

Technische Implementierung

Der Werkzeugkasten im Überblick

Im Folgenden werden im Hinblick auf die technische Implementierung die verwendeten Programmiersprachen, Bibliotheken, und spezifischen Softwarewerkzeuge überblicksartig aufgelistet, die für die Umsetzung der Methodik verwendet wurden. Ziel ist es, einen transparenten Einblick in die technischen Rahmenbedingungen zu geben, um die Nachvollziehbarkeit und Reproduzierbarkeit der Analyse zu gewährleisten.

Programmiersprachen

  • Python: Verwendung als Hauptprogrammiersprache für die Kernlogik, Datenverarbeitung und Analyse
  • Java: Verwendung zur Anpassung der Java-basierten Bibliothek JSIDPlay2
  • Shell-Skripte: Zur Automatisierung von Aufgaben wie Daten-Downloads, VM-Verarbeitung und Aufzeichnung

Spezifische Tools und Anwendungen

  • desidulate: Zentrales Tool bzw. Bibliothek, die speziell für die Analyse und Dekompilierung von SID-Musikdaten entwickelt wurde und im Rahmen dieser Arbeit weiterentwickelt wird.
  • JSIDPlay2: Ein SID-Player und Emulator, der in den Workflow integriert ist und zur Extraktion von Registerdaten verwendet wird. Die Bibliothek wird für diese Arbeit leicht modifiziert, um in den Workflow von desidulate integriert zu werden.
  • musif: Python-Bibliothek für die Feature Extraktion und das Feature Engineering basierend auf music21

Speziell verwendete Datenformate

  • MIDI: Wird zur Speicherung der extrahierten SID Musik verwendet.
  • CSV: Wird zur Speicherung von Feature-Datensätzen verwendet.
  • Parquet: Spalten-orientiertes Datenformat, das für effiziente Speicherung und Verarbeitung großer Datensätze genutzt wird 

Cloud-Infrastruktur

  • Cloud-VMs (Virtuelle Maschinen): Werden für rechenintensive Aufgaben und die Verarbeitung großer Datenmengen in der Cloud eingesetzt.
  • Google Cloud Storage: Wird für die Speicherung und den Download von Daten verwendet.

Entwicklungsumgebungen und -werkzeuge

  • Obsidian: Erstellung und Organisation von Notizen im Markdown-Format
  • Jupyter Notebooks: Entwicklungsumgebung und Dokumentation der methodischen Umsetzung
  • PyCharm: Verwendete IDE
  • Git(Hub): Versionsverwaltung