Features - Hauptfenster
Nach dem Starten des Programms hat man grundsätzlich
drei Möglichkeiten zu beginnen. Entweder man lädt eine Musikdatei,
eine Zeitreihendatei oder man beginnt mit der Liveaufzeichnung des Mikrofoneingangs.
In den ersten beiden Fällen wird im horizontal geteilten Hauptfenster
die Zeitreihe, seien es nun Musik oder andere Daten, so dargestellt, dass
sie den Ausschnitt füllt. Bei kurzen Files kann man dort schon eine
Klangstruktur erkennen, bei längeren eher ein stochastisches Gemisch.
Auf dem Bildschirmfoto (Abbildung 4.1)
sieht man die wesentlichen Merkmale des so geöffneten Programms. Im
Menü gibt es die in jedem Windowsprogramm auffindbaren Einträge
Datei, Bearbeiten, Ansicht, Fenster, Hilfe sowie zwei weitere Menüs
Daten und Einstellungen. In der Symbolleiste sind die wichtigsten Befehle
über Buttons verfügbar, dazu gehören von links nach rechts:
|
|
|
Wavedatei
öffnen.
|
|
Das bedeutet, dass nach Anklicken dieses Buttons eine
Dateidialog aufgerufen wird, in dem der Benutzer ein Musikfile, welches
im windowseigenen WAV- Dateiformat vorliegt, auswählen kann, welches
dann eingelesen und in der Übersichtsdarstellung angezeigt wird.
Zeitreihe einlesen.
|
|
Hier wird ein Dateidialog aufgerufen, in welchem der
Benutzer eine Zeitreihendatei welche in den Formaten TXT (normale Textdateien)
PRN (Mathcadeigene Exportdateien) oder DAT (sonstige Datendateien)
vorliegen kann, auswählt. Diese wird dann intern temporär in
ein WAV File umgewandelt und wie vorher im Hauptfenster in der Übersicht
dargestellt.
Fenster speichern.
|
|
Bei fast allen Fenstern ist es möglich, den zurzeit
dargestellten Ausschnitt als Grafik in eine Datei mit dem WMF-Format (Windows
Metafile) zur späteren Verwendung abzuspeichern. Ist ein Fenster aktiv
und gibt es dort die Möglichkeit der Speicherung, so ist der Button
sichtbar und aktiv und es wird ein Dateidialog aufgerufen, der es dem Benutzer
ermöglicht einen Dateinamen und den Speicherort festzulegen. Der Vorteil
am WMF-Format ist die Kompatibilität mit allen Microsoftprogrammen,
vor allem dem Officepaket.
In die Zwischenablage kopieren.
|
|
Bei allen Fenstern bei denen eine Speicherung des Fensterinhalts
möglich ist, kann dieser auch über diesen Button einfach in die
Zwischenablage kopiert werden, dazu genügt auch der bekannte Shortcut
Strg-C. Von der Zwischenablage aus kann das Bild in etliche andere Programme
z.B. Microsoft Word eingefügt werden. Auf diese Weise sind alle Beispieldiagramme
für diese Arbeit angefertigt.
Fenster drucken.
|
|
In einer zukünftigen Version wird es auch eine Druckmöglichkeit
geben, da eine Implementierung jedoch keine inhaltliche Ergänzung
liefert und einen relativ großer Programmieraufwand nach sich zieht,
ist sie im jetzigen Zustand nicht vorgesehen.
Aufnahme starten
|
|
Ist das Abhören der Soundkarte aktiv, d.h. kommen
über ein Mikrofon Signale an der Soundkarte an und der Button Capture
gedrückt, so ist diese Funktion wählbar. Hier wird erst nach
einem Speicherort und –name für die entstehende Wavedatei gefragt
und dann der Aufnahmevorgang gestartet. Sollen also eingehende Audiosignale
in eine Datei aufgezeichnet werden, so kann man das mit dieser Funktion
tun.
Aufnahmestop
|
|
Beendet die Aufnahme, sofern eine läuft, und speichert
die Datei vom Hauptspeicher auf die Festplatte.
Play Wave
|
|
Dieser Button ist erst aktiv, wenn entweder eine Zeitreihe
oder eine Wavedatei geöffnet wurde. Wird er betätigt, so wird
die Datei ab der Stelle wo sich der Cursor im Übersichtsbereich des
Hauptfensters befindet über die Lautsprecher wiedergegeben und sämtliche
aktiven Analyse- und Visualisierungsfenster erhalten die Nachricht, die
aktuellen Signale zu verarbeiten und anzuzeigen.
Loop Play
|
|
Dieser Schalter kann bei nicht laufender Wiedergabe betätigt
werden. Er hat zwei Einstellungen gedrückt/nicht gedrückt. Ist
der Button gedrückt, so wird der Playcursor, sobald das Ende der Datei
erreicht ist wieder an den Anfang zurückgesetzt und die Datei wird
endlos wiederholt bis der Benutzer auf Stop drückt.
Stop Playing
|
|
Durch das Betätigen dieses Buttons wird eine laufende
Wiedergabe gestoppt. Der Playcursor verbleibt an seiner Stelle, so dass
beim erneuten Starten der Wiedergabe dort begonnen wird, wo das Abspielen
beendet wurde.
Wave entfernen
|
|
Dieser Button ist eine Art Reset des Programms. Es werden
alle geladenen Informationen entladen und aus den Ansichten entfernt, die
Speicher werden geleert und die Zeiger auf den Anfang zurückgesetzt.
Wenn man z.B. eine Mikrofonaufnahme machen will, nachdem man sich eine
Musikdatei angesehen hat, so empfiehlt es sich erst auf diesen Button zu
drücken um ein tabula rasa zu schaffen.
FFT Größe
|
|
Dieser Button, dessen Funktion auch über die Menüauswahl
Einstellungen - FFT aufgerufen werden kann, lädt einen Dialog in dem
der Benutzer die Anzahl der Punkte für die Fast Fourier Transformation
(FFT) auswählen kann. Im Dropdownfeld sind die Potenzen von 2 aufgelistet,
die ein normaler Rechner gut verarbeiten kann.
Hierbei gilt, je mehr Punkte für eine FFT verwendet werden, desto
genauer ist die Frequenzauflösung, aber desto höher ist die benötigte
Rechenpower und desto geringer ist die Zeitauflösung. Einen guten
Kompromiss erhält man in der Regel bei 4096 Punkten.
Waveformat
|
|
Ein Klick auf diesen Button ruft ein Dialogfeld auf,
in dem die für die angeschlossene Soundkarte möglichen Aufnahmemodi
aufgelistet sind. D.h. für eine Soundkarte mit einer Amplitudenauflösung
von 16 Bit und einer Zeitauflösung von 48 kHz sind Samplingraten von
8Bit,8kHz bis 16 Bit,48 kHz auswählbar. Die Auswahl ist allerdings
auf einkanalige Aufnahmen beschränkt, da das Programm nur mit Monofiles
arbeitet.
|
|
Bei einem Rechner mit mehreren Soundkarten kann über
das Menü: Einstellungen - Soundkarte eine andere Auswahl getroffen
werden, falls die beim Starten vorgenommene Standardauswahl nicht gewünscht
ist. Falls sich die Soundkarten in ihren Aufnahmefähigkeiten unterscheiden,
so wird das nach entsprechender Auswahl auch im Waveformatdialog berücksichtigt.
Audioeingang abhören
|
|
Sind die Parameter der Aufnahme schon ausgewählt,
so startet ein Klick auf diesen Button das Abhören der Mikrofonsignale
sofort, sind sie es nicht, erscheinen erst die entsprechenden Abfragen.
Ein erneuter Klick auf den Button beendet das Abhören des Audioeingangs,
die Darstellungen der zuletzt analysierten Daten in den einzelnen Fenstern
der Module bleiben aber erhalten.
|
|
Nur wenn dieser Button aktiv ist, kann auch eine Aufnahme
der Signale mit dem Aufnahmebutton
gestartet werden.
Mixer
|
|
Manchmal ist es hilfreich die Aussteuerung des Mikrofons
bzw. die Lautstärke der Lautsprecher zu regeln. Dazu dient dieser
Button, der den windowseigenen Mixer aufruft. Wird ein mit einer speziellen
Soundkarte mitgelieferter Mixer verwendet, so muss dieser auf normalem
Wege aufgerufen werden. Die Programmierung eines eigenen, programminternen
Mixers wurde überlegt, aber aus Zeitgründen verworfen.
Info
|
|
Dieser Button ruft standardmäßig das Fenster
mit den Copyrights und Versionsnummern auf. So auch hier. Nach einem Klick
auf den Button erscheint ein Dialog, der die wichtigsten Infos über
das Programm zusammenträgt. Autor, Copyright, verwendete Quellcodes,
Versionsnummer etc.
Die nun folgende Reihe von Buttons findet sich analog
auch im Menü Ansicht wieder. Ein Klick ruft das entsprechende Modul
auf und ein erneuter Klick beendet es gegebenenfalls wieder. Eine Erläuterung
zu den einzelnen Modulen kommt nach diesem Kapitel.
ruft das Modul Zeitreihendarstellung
auf
ruft das Modul Fast Fourier
Transformation auf
ruft das Modul Fast Fourier
Transformation in 3D – Darstellung auf
ruft das Modul Obertonanalyse
auf
ruft das Modul Sonogrammdarstellung
auf
ruft das Modul Rekonstruktion
auf
ruft das Modul Zeitreihenanalyse
auf
ruft das Modul Dateiinfo
auf
|
|
In der Statuszeile des Programms können die wichtigsten
Parameter des aktuellen Arbeitsfensters sofort abgelesen werden. So findet
sich ganz links die übliche Kurzbeschreibung der gerade angewählten
Befehle. Daneben werden der Name der gerade geladenen Datei mit den Eigenschaften
Samplingrate und Bittiefe angezeigt, sowie die ausgewählte FFT-Größe.
Auch ob eine Aufnahme oder nur das Abhören des Mikrofonsignals läuft
wird in der Statuszeile angezeigt.
Nach der Beschreibung der für alle Module gültigen
Funktionen nun zurück zur Beschreibung des Hauptfensters:
Nach dem Laden einer Datei wird die Zeitreihe in der
Übersicht (dem oberen Teil des Hauptfensters) angezeigt. Durch klicken
und ziehen kann man nun mit der Maus einen Ausschnitt davon im unteren
Teil des Hauptfensters vergrößert anzeigen lassen. Der Ausschnitt
wird in der Übersicht schwarz markiert. Möchte man detailliertere
Ausschnitte wählen, so hat man die Möglichkeit in beiden Bereichen
mit den Zoomslidern die Darstellung der Zeitreihe zu vergrößern
oder zu verkleinern, sowohl in der Zeit-(horizontal), als auch in der Amplitudenachse
(vertikal).
|
|
Zur Analyse hat man jetzt mehrere Möglichkeiten,
entweder man wählt im unteren Ausschnitt mit der Maus einen Bereich
aus, der dann an die anderen Module zur Analyse übergeben wird, oder
man klickt in der Übersicht auf eine Stelle, ab der man die Musik
hören will und drückt dann auf den Play
Button. Während des Abspielens bewegt sich die Cursorposition in der
Übersicht entsprechend dem Musikverlauf. Alle aktiven Module erhalten
während des Abspielens in Abständen von 100ms die jeweils neuen
Werte der Zeitreihe zur Auswertung zur Verfügung gestellt.
|
|
Bei der Analyse von Ausschnitten ist es hilfreich die
Angabe der Samples im rechten Bereich des Hauptfensters zu beachten. Der
Wert gibt an wie viele Datenpunkte der Zeitreihe in diesem Moment ausgewählt
sind. Sind es über 100.000, so kann man sich auf längere FFT
Rechenzeiten gefasst machen.
|
|
Der Schalter Genauigkeit im Parameterbereich des Hauptfensters
regelt die Anzahl der Messpunkte , die von der ursprünglichen Zeitreihe
im Ausschnittsfenster dargestellt werden. Bei den riesigen Datenmengen
ist es meistens unnötig für jeden Messwert einen entsprechenden
Bildschirmpunkt für die Darstellung zu berechnen, da der Bildschirmbereich
ja in der Regel auf wenige hundert Pixel in einer Achse beschränkt
ist. Sind z.Bsp. 100.000 Messwerte zur Darstellung ausgewählt und
stehen aber nur 500 Pixel in x-Richtung zur Verfügung genügt
es nur für jeden 200. Datenpunkt einen Bildschirmdarstellung zu berechnen.
Manchmal erreicht man dadurch aber keine repräsentative Auswahl ,
gerade bei periodischen Signalen ist die Darstellung dann oft verfälscht
, daher kann man hier die Genauigkeit erhöhen , d.h. die Anzahl der
berechneten Datenpunkte pro Pixel.
|
|
Eine andere Möglichkeit bietet die Auswahl zwischen
„Samples “ und „Einhüllende “. Wird „Einhüllende“ ausgewählt
, versucht der Rechner aus den periodischen Schwingungen die Maxima herauszufiltern
und diese zu verbinden , so dass eine flächige Darstellung einer Einhüllenden
des Klangs möglich ist und auf die Darstellung der einzelnen Messwerte
verzichtet werden kann. Aber auch dieses Verfahren funktioniert nicht in
allen Fällen gut , deswegen hat hier der Benutzer die Wahl .
Interessiert man sich für das Aussehen der Hüllkurven
wie sie in Kapitel 2.3.1 beschrieben wurden,
so bietet das Hauptfenster die Möglichkeit aus gewählten Ausschnitten
eine solche charakteristische Hüllkurve zu generieren. Wie der Screenshot
( Abbildung 4.3) eines Oboentons zeigt
, kann man durch Doppelklick im Ausschnittsbereich des Hauptfensters eine
Zone zur weiteren Analyse festlegen , die durch zwei senkrechte blaue Striche
gekennzeichnet wird.
Klickt man dann auf den Button „Bearbeite Einhüllende “, so öffnet
sich ein neues Fenster , in dem zuerst sämtliche als Maxima detektierten
Punkte als grüne Kreuze sichtbar werden. Man wird dann die Punktmenge
ein- oder zweimal optimieren. Dabei wird ein Algorithmus durchlaufen ,
der anhand von gewichteten Nachbarn etliche überflüssige Punkte
entfernt . Wenn man dann mit dem Button „Zeichne Hüllkurve“ einen
Betaspline konstruiert , hat man eine Rohfassung der Einhüllenden
, die man dann durch Hinzufügen oder Entfernen der nun roten Stützpunkte
per Augenmaß optimiert und dann speichern kann. Als Ergänzung
kann man die anfängliche Punktmenge durch Auswahl weiterer Ausschnitte
von anderen Tönen überlagern und auf diese Weise eine Art Durchschnittshüllkurve
generieren.
|
In einer späteren Fassung des Programms könnte
dann der Versuch gemacht werden, die so generierten Hüllkurven auf
andere Klänge anzuwenden und so die Charakteristik eines Klangs ,
der durch die Hüllkurve hervorgerufen wird, präziser herauszufinden
und sogar hörbar zu machen .
|
|