Fachgebiet Audiokommunikation Prof. Dr. Stefan Weinzierl Übung zur musikalischen Akustik 4: Spectral Modeling Letzter Abgabetermin: 21.07.2016 Allgemeine Hinweise: Die Bearbeitung der Aufgaben findet in Gruppen von je drei Studenten statt. Achten Sie bei allen Abbildungen auf korrekte Achsenbeschriftungen. Abzugeben sind die Matlab Skripte, sowie eine schriftliche Ausarbeitung, in der sämtliche Abbildungen und Ergebnisse enthalten sind. Audiodateien aus dem Downloadbereich sollen nicht darin enthalten sein. Als zip-File per E-Mail: [email protected] Oder per GigaMove. Hinweise zum Matlab-Code: • Stellen Sie die Ausführbarkeit der Skripte sicher. • Die Skripte sind mit Kommentaren zu versehen, sodass jeder Schritt nachvollziehbar ist. • Erstellen Sie Funktionen, wo dies sinnvoll ist. Ziel dieses Termins ist die Synthese von Instrumentenklängen mittels Spectral Modeling [1, 4]. Dafür werden Datensätze mit Partialtonverläufen zur Verfügung gestellt, welche für eine additive Synthese im Zeitbereich verwendet werden. 1 Einlesen der Partialtonverläufe Im Downloadbereich befinden sich im Ordner ’Sinusoids’ die Amplituden der Partialtonverläufe in der Datei ’SampLib_DPA_180.AMPL’. Eine Spalte beinhaltet jeweiĺs den Verlauf der Amplitude eines der P Teiltöne, mit einer Länge von N Frames: a1,1 a1,2 · · · a1,P a2,1 a2,2 · · · a2,P An,j = . (1) .. .. .. . .. . . aN,1 aN,2 · · · aN,P Der entsprechende Verlauf der Grundfrequenz liegt als Spaltenvektor in der Datei ’SampLib_DPA_180.F0’.1 Die Frequenz des j-ten Partialtones ist das j-fache der Grundfrequenz, was einem strikt harmonischen System entspricht. Mit Amplituden und Grundfrequenzverlauf lässt sich der Klang nun frameweise additiv erzeugen. Die Abtastrate der Datensätze (Frame-Rate) beträgt 44100 1024 Hz. Zwischen den Stützpunkten muss interpoliert werden. a) Schreiben Sie eine Funktion, welche den Datensatz der Partialtöne einliest. b) Stellen Sie den Verlauf der Amplitude für die ersten fünf Partialtöne grafisch dar. c) Stellen Sie den Verlauf der Frequenz der ersten 5 Partialtöne grafisch dar. 2 Synthese a) Schreiben Sie eine Funktion, die in einer Hauptschleife ein synthetisches Signal nach den Partialtonverläufen erzeugt. Es wird ohne Überlappung der Synthesefenster synthetisiert. Interpolieren Sie zwischen den Stützwerten linear. Die Phase der Partialtöne beruht dabei jeweils auf dem vorherigen Wert und kann/muss für das erste Frame frei gewählt werden.2 1 Bei unterschiedlicher Länge der Partialtonverläufe und des Grundfrequenzverlaufes können überschüssige Werte ignoriert werden. 2 Verwenden Sie ein Buffer-Array, um den Zustand der Phasen für jeden Partialton im nächsten Schleifendurchlauf nutzen zu können. Fachgebiet Audiokommunikation Prof. Dr. Stefan Weinzierl f0 / fmod 1.04 1.02 1 0.98 0.96 0 50 100 150 200 Frame Abbildung 1: Beispiel für eine synthetische Vibrato-Trajektorie b) Erzeugen sie ein Wavefile und stellen Sie das Ergebnis der Synthese in einem Spektrogramm dar. Erläutern Sie die Parametrisierung des Spektrogramms und diskutieren Sie eventuelle Auffälligkeiten. 3 Time Stretching a) Erweitern Sie die Synthese um einen Time-Stretching Faktor τ . Mit diesem soll die Abspielgeschwindigkeit verändert werden, indem in den Datensätzen zwischen den Stützwerten interpoliert wird. τ = 2 entspricht dabei der doppelten Geschwindigkeit. b) Erzeugen Sie eine synthetische Version mit τ = 0.25 und gehen Sie in der Dokumentation kurz auf das Ergebnis ein. Zusatzaufgabe: Synthetisches Vibrato Die Verwendung eines synthetischen Vibratos ist in Verbindung mit einem Time-Stretching Algorithmus von besonderem Interesse, da so die Eigenschaften des Vibratos nicht von der Manpulation der Dauer abhängen [3]. a) Eine Erweiterung des Synthese-Algorithmus soll zusätzlich eine parametrische Modulationstrajektorie erzeugen. Diese wird als Sinusschwingung mit einer Amplitudenhüllkurve, die durch ein Gaussches Fenster erreicht werden kann, realisiert. Ein Beispiel befindet sich in Abb. 1. Die Parameter des typischen Violinenvibratos entnehmen Sie den Hinweisen in der Literatur [2]. Erläutern Sie Ihre Wahl und plotten Sie die von Ihnen erzeugte Modulationstrajektorie. b) Erzeugen Sie ein Wavefile und gehen Sie in der Dokumentation auf das Klangergebnis ein. Stellen Sie das Ergebnis der Synthese in einem Spektrogramm dar. und diskutieren Sie eventuelle Auffälligkeiten. Literatur [1] R. McAulay and T. Quatieri. Speech analysis/Synthesis based on a sinusoidal representation. Acoustics, Speech and Signal Processing, IEEE Transactions on, 34(4):744–754, 1986. [2] M. Mellody and G. H. Wakefield. The time-frequency characteristics of violin vibrato: Modal distribution analysis and synthesis. Acoustical Society of America Journal, 107:598–611, January 2000. [3] Axel Roebel, Simon Maller, and Javier Contreras. Transforming Vibrato Extend in Monophonic Sounds. Proc. of the 14 th Int. Conference on Digital Audio Effects, 2011. [4] Xavier Serra and Julius Smith. Spectral Modeling Synthesis: A Sound Analysis/Synthesis System Based on a Deterministic Plus Stochastic Decomposition . Computer Music Journal, 14(4):12–14, 1990.
© Copyright 2024 ExpyDoc