Sie sind auf Seite 1von 8

VP Fachspezifische Anwendersysteme, SS 09, A.

Uhl Universität Salzburg


LA Informatik und Informatikmanagement Gerhard Mitterlechner

Projektbeschreibung für VP Fachspezifische Anwendersysteme


Automatische Generierung von Audio-Signalen zur musikalischen
Gehörbildung
Zusammenfassung
Dieses Dokument beschreibt ein fächerübergreifendes Schulprojekt in den Fächern Informa-
tik, Musik und Mathematik bzw. Physik. Ziel des Projekts ist es, mathematisch-physikalisches
Grundwissen über Schwingungen und Schall, musiktheoretisches Wissen über Harmonielehre und
Basiskenntnisse in digitaler Repräsentierung von Musik mit dem Benützen von Software-Tools
(MATLAB, Audacity, Forte) zu kombinieren, um Audio-Signale zu generieren und deren Wel-
lenformen graphisch zu analysieren, sowie die codierten Klänge musikalisch zu notieren und als
Soundsamples im wav-Dateiformat zu speichern. Diese Soundsamples können in weiterer Folge
als Trainingsmaterial zur musikalischen Gehörbildung (v.a. zur Intervall- und Dreiklangsbestim-
mung) genützt werden, oder auch als didaktisches Material um musikalisch-akustische Effekte (zB
Schwebung, Vibrato, Tremolo) zu illustrieren.

1 Situations- und Sachanalyse


1.1 Lehrziele
Die folgenden Lehrziele können formuliert werden:
• Erwerb der Fähigkeit musikalische Klänge mathematisch zu modellieren.
• Die wichtigsten Begriffe und Konzepte der Digitalisierung von Musik nennen und erklären
können.
• Erwerb der Fähigkeit verschiedene Audio-Signale zu analysieren, interpretieren und mit Soft-
ware zu generieren.
• Bedienen der Software-Tools MATLAB, Audacity und Forte Free.
• Fähigkeit kleine Programme zur Erzeugung von Audio-Signalen in MATLAB zu schreiben.
• Erwerb von Verständnis und Vermittlung der Faszination bezüglich der naturwissenschaftlichen
Grundlagen von musikalischem Klang.
• Erhöhung der technisch-naturwissenschaftlichen Experimentierfreudigkeit.

1.2 Rahmenbedinungen
• Der veranschlagte Zeitbedarf für das Projekt beträgt mindestens zehn Unterrichtseinheiten. Je
nach Wissenstand der Schüler1 , dem Detailgrad an behandelten Themen, sowie der Menge an
produziertem Material (Source-Code, Noten, Audio-Files) ist der Zeitrahmen nach oben hin
relativ offen.
• Alle Unterrichtseinheiten benötigen einen PC-Raum inklusive Beamer und Tafel. Die ersten fünf
Unterrichtseinheiten können u.U. auch so konzipiert werden dass nicht unbedingt jeder Schüle
einen eigenen PC benötigt.
• Das Projekt kann in den letzten beiden Schulstufen einer AHS, eines Realgymnasiums oder einer
HTL durchgeführt werden. Die konkrete Durchführbarkeit hängt v.a. von den aus der Unterstufe
vorhandenen Vorkenntnissen in Musik sowie den PC-Skills und Programmierfähigkeiten der
Schüler ab.
1
In diesem Dokument bezeichnet Schüler sowohl weibliche als auch männliche Schüler.

1
1.3 Lehrinhalte und Lehrstoffbezug
Das Projekt deckt viele verwandte Lehrinhalte der angesprochenen Fächer ab. Durch die starke the-
matische Vernetzung kann ein Thema nicht immer eindeutig einem Fach zugeordnet werden. Konkret
werden folgende Themen wiederholt, vertieft bzw. neu behandelt:

Mathematik/Physik: Schall und (Sinus-)Schwingungen; Amplitude, Frequenz, Periode.

Musiktheorie und Akustik: Intervalle und Dreiklänge inklusive Umkehrungen; Obertonreihe und
Frequenzverhältnisse; reine/wohltemperierte Stimmung; Schwebung.

Informatik: Grundlagen digitaler Musik: Codierung von Musik am Computer, Analog-Digital


Wandlung, Abtasten, Auflösung, Sampling Rate; Bedienung von Tools: MATLAB, Audacity, For-
te Free; Programmierung in MATLAB.

1.4 Voraussetzungen
Abhängig von der zur Verfügung stehenden Zeit für das Projekt schwankt die Menge an erforderlichen
Vorkenntnissen der Schüler. Im Folgenden sind die erforderlichen Vorkenntnisse aufgelistet. Diejenigen
Vorkenntnisse welche die Schüler im optimalen Fall besitzen sollten sind in Kursivschrift gesetzt.

Mathematik: Vektoren; Funktionen, speziell: Sinus; exponentielles Wachstum; Skalierung von Funk-
tionen; Matrizen.

Physik: Schall, Schalldruck, Schallwelle; Schwingungen: Amplitude, Frequenz, Periode; Schwebung.

Musik: Notenlesen und -schreiben; Intervalle und Dreiklänge inklusive Umkehrungen; ganzzahlige
Frequenzverhältnisse von Intervallen, Obertonreihe; reine und wohltemperierte Stimmung.

Informatik: sehr gute allgemeine PC-Skills; elementares Programmieren in irgendeiner Program-


miersprache, kennen von Variablen, Arrays, Zuweisungen, Kontrollstrukturen, Funktionen; Grund-
kenntnisse in MATLAB: Scripting, Plots, M-File Programmierung.

2 Beschreibung der eingesetzten Software-Tools


2.1 MATLAB
MATLAB ist eine professionelle Software inklusive Entwicklungsumgebung und Script- bzw. Program-
miersprache zur Lösung mathematisch-technischer Probleme. Grunddatenstruktur aller Berechnungen
ist die Matrix, mathematische Problemstellungen werden nicht symbolisch, sondern numerisch gelöst.
Umfangreiche Visualisierungs- samt Nachbearbeitungsmöglichkeiten sind vorhanden. Toolboxes stel-
len Spezialfunktionalität für verschiedene Themengebiete (zB Signalverarbeitung, Optimierung, Mus-
tererkennug) bereit, welche aber für dieses Projekt nicht erforderlich sind. MATLAB bedient man zu
Beginn über das Command Window, welche MATLAB -Kommandos interpretiert und ausführt. Ein
Editor zum modularen Programmieren mithilfe von M-Files steht für eine umfangreichere modulare
Programmentwicklung zur Verfügung. Aktuelle MATLAB -Versionen unterstützen sogar Objektori-
entierung und GUI-Programmierung.
In diesem Projekt wird MATLAB dazu verwendet, Audio-Signale mit bestimmten Eigenschaften zu
erzeugen und im wav-Format zu speichern. Diese Signale sollen gewünschte Einzeltöne, Intervalle,
oder Dreiklänge codieren. Für einen Screenshot siehe Abb. 1.

2
2.2 Audacity
Audacity ist ein Audio-Bearbeitungsprogramm, mit dem Audio-Dateien (zB im wav-Dateiformat)
erzeugt, visualisiert und manipuliert werden können. Im Projekt wird Audacity zunächst dazu einge-
setzt, einfache Schallkurven (Sinus-, Sägezahn-, Rechteckswelle) zu erzeugen. In weiterer Folge sollen
die in MATLAB generierten Audio-Signale (Einzeltöne, Intervalle, Dreiklänge) analysiert und wei-
terverarbeitet werden. Audacity ist Freeware, ein alternatives kostenpflichtiges Programm zur profes-
sionellen Audio-Bearbeitung wäre beispielsweise Steinberg WaveLab. Für einen Screenshot siehe Abb.
4.

2.3 Forte Free


Forte Free ist ein Notensatzprogramm welches in erster Linie für eine nicht-professionelle Erstel-
lung von Notenblättern, Songsheets, Klaviersätzen, Leadsheets, Chorsätzen u.Ä. konzipiert ist. Dieses
Tool wurde nicht in der Ring-LV behandelt, soll aber als Ersatz für die professionellen Notensatz-
/Kompositionsprogramme Finale oder Sibelius dienen. Forte Free ist im Gegensatz zu Finale und
Sibelius Freeware, und aufgrund des eingeschränkten Funktionsumfangs wesentlich einfacher und in-
tuitiver zu bedienen, es können allerdings keine umfangreichen Orchesterpartituren erstellt werden.
Im Projekt soll Forte Free dazu dienen, die Einzeltöne, Intervalle und Dreiklänge, welche mit MAT-
LAB als Audio-Datei erzeugt werden, musikalisch zu notieren. Für einen Screenshot siehe Abb. 2.

3 Grobe Verlaufsplanung
3.1 Unterrichtseinheit 1
• Theoretische Wiederholung von Schwingungen und der Sinus-Funktion. Wiederholung der Be-
griffe Amplitude, Frequenz und Periode. Einfluss der Form der Schallwelle auf das Hörempfinden,
Bezug zur Lautstärke, Tonhöhe, Klangfarbe. Illustration mithilfe Audacity und Klangbeispielen.

• Selbständiger Einsatz von Audacity durch die Schüler zur Generierung und Analyse einer Sinus-
Schwingung sowie Rechtecks- und Sägezahnwelle mit gegebenen Frequenzen und Amplituden.

3.2 Unterrichtseinheiten 2 und 3


• Theoretische Wiederholung der Obertonreihe, von ganzzahligen Frequenzverhältnissen von In-
tervallen anhand einer schwingenden Saite (Gitarre), sowie des Effekts der Überlagerung zweier
Schwingungen. Illustration mithilfe Audacity und Klangbeispielen.

• Experimentieren und händisches Berechnen von Frequenzen und Frequenzverhältnissen, um


verschiedene Töne und Intervalle gemäß der Obertonreihe in Audacity zu generieren.

• Musikalische Notation der erzeugten Töne und Intervalle in Forte Free (Abb. 2).

3.3 Unterrichtsheinheiten 4 und 5


• Einführung in die Digitalisierung von Musik. Erläuterung von Begriffen wie Audio-Digital-
Wandlung, Abtastrate (Sampling Rate), Sample, Auflösung, Clipping, wav-Datei, Kanal, Mo-
no/Stereo.

• Händisches Berechnen von Datenmengen bei verschiedenen Sampling- bzw. Bitraten und Auf-
nahmezeitdauern (zB Audio-CD).

• Experimentieren in Audacity, um den Einfluss verschiedener Sampling- bzw. Bitraten auf die
Qualität des Audio-Signals zu erkennen.

3
3.4 Unterrichtseinheiten 6 bis 8
• Einführung in MATLAB : Erzeugen und Plotten von typischen Funktionen wie Geraden, Para-
beln, und trigonometrischen Funktionen mit dem Command Window.

• Programmieren von Scripts, sowie Funktionen und Methoden in M-Files (siehe zB Abb. 1).

• Programmierung von Audio-Signalen in MATLAB : Sinus-, Rechteck- und Sägezahnschwingung


bei gegebener Frequenz und Sampling Rate, und Speichern der Signale als wav-Datei (Abb. 5
und 7).

• Analyse der erzeugten Signale mit Audacity.

3.5 Unterrichtseinheit 9
• Theoretische Erläuterung des Unterschieds zwischen reiner und wohltemperierten Stimmung.

• Händisches Berechnen der Frequenzen von Intervallen in beiden Stimmungen; Generierung von
Intervallen und anschließende Analyse in Audacity.

• Theoretische Erläuterung und Generierung einer Schwebung sowie Analyse in Audacity (Abb.
3).

3.6 Unterrichtseinheiten 10 bis ?


• Programmieren von Intervallen in reiner und wohltemperierter Stimmung in MATLAB (Abb.
5 und 7).

• Programmieren von Dur- und Moll-Dreiklängen in reiner und wohltemperierter Stimmung (Abb.
6 und 8), und Analyse in Audacity (Abb. 4).

• Programmieren eines Signals mit Schwebung in MATLAB, Vergleich mit Ergebnis der vorigen
Einheit.

• Musikalische Notation der erzeugten Klänge in Forte Free zur Erstellung von musikalischen
Gehörbildungsübungen.

• Experimentieren mit weiteren Anwendungsmöglichkeiten: Programmieren von Signalen mit Cre-


scendo/Decrescendo, Tremolo, Vibrato, Programmieren von Melodien, Programmieren eines
zwei-/dreistimmigen Lieds etc.

• Bei ausreichend zur Verfügung stehender Zeit Einführung in die Fourieranalyse.

4 Unterrichtsmaterialien, Source-Code, Screenshots, Beispiele


Im Folgenden sind einige der entstandenen Unterrichtsmaterialien in Form von Source-Code, Screens-
hots und beispielhaften Lösungen inklusive Erläuterungen aufgelistet.

4
Abbildung 1: Der MATLAB -Workspace. Links oben ist ein M-File mit einer Funktion, welche eine
Sägezahnwelle mit einer gegebenen Frequenz erzeugt. Rechts oben das Command Window, mit dem
die programmierte Funktion aufgerufen wird, welche die Sägezahlwelle erzeugt (mit 440 Hz). An-
schließend wird die Schwingung geplottet (Ergebnis rechts unten). Links unten ist das Hauptfenster
der Entwicklungsumgebung mit der Command History, in der man den Befehl wavwrite erkennen
kann, mit welchem ein Audio-Signal in eine wav-Datei geschrieben wird (siehe auch Abb. 7).

Abbildung 2: Der Forte Free-Workspace. Man sieht eine Zeile eines manuell eingebenen Notensystems.
Links unten befindet sich die Palette an Tools zur Noteneingabe/-bearbeitung. Mit diesen Werkzeugen
wird die musikalische Notation der produzierten Klänge durchgeführt.

5
Abbildung 3: Schwebung. Dies ist das Audio-Signal eines zweigestrichenen Cis. Das Signal wurde
in MATLAB generiert als Überlagerung von zwei geringfügig unterschiedlichen Schallwellen eines
zweigestrichenen Cis. Das erste Signal wurde in reiner Stimmung vom Kammerton A aus erzeugt
(große Terz: Frequenzverhältnis 4:5, ergibt 550 Hz). Das zweite Signal entstand aus der wohltempe-
rierten Annäherung an eine großen Terz (ca. 554.37 Hz). Das Ergebnis ist eine Schallwelle welche eine
Grundfrequenz der Durchschnittsfrequenz der Original-Signale (ca. 552.18 Hz) besitzt, sowie ampli-
tudenmoduliert ist mit der Differenzfrequenz (i.e. Schwebungsfrequenz, ca. 4.37 Hz). Das deutlich
hörbare Ergebnis ist das entstandene Tremolo bzw. Amplitudenvibrato mit 4.37 Hz. Siehe auch Abb.
5, letztes Kommando.

Abbildung 4: Audacity mit zwei Tonspuren, in denen je ein in MATLAB generiertes Audio-Signal
geladen ist (siehe Abb. 6, Kommandos 4 und 5). Die obere Tonspur zeigt einen A-Dur Dreiklang (siehe
vorletzter Takt in Abb. 2) in reiner Stimmung. Die untere Tonspur illustriert, wie sich die Schallwelle
verändert wenn der Kompromiss einer wohltemperierten Stimmung eingegangen wird. Für den Laien
ist der Unterschied jedoch kaum hörbar.

6
Abbildung 5: Erster Teil des Scripts zur Illustration der Audio-Signal Genierung in MATLAB.

Abbildung 6: Zweiter Teil des Scripts zur Illustration der Audio-Signal Genierung in MATLAB.

7
Abbildung 7: Wichtige Funktionen zur Audio-Signal Generierung in MATLAB, welche vom Script
aufgerufen werden (Abb. 5 und 6).

Abbildung 8: Funktion zur Dreiklangerzeugung in Matlab (Aufruf siehe Abb. 6).