141
Einführung Termin 1 Termin 2 Termin 3 Termin 4 Audio Content Analysis Laboratory Course Fachgebiet Audiokommunikation, TU-Berlin Sommersemester 2013

Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Audio Content AnalysisLaboratory Course

Fachgebiet Audiokommunikation, TU-Berlin

Sommersemester 2013

Page 2: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Termin 1

RMS

Page 3: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Rahmenbedingungen

Zeitlich• 13 Übungstermine• 4-5 Termine Einführung• 6. Termin Kurzvorstellung der Projekte• 9. Termin Zwischenstandsbericht• 12/13. Termin Abschlusspräsentation

Projektarbeit• Gruppenarbeit a 2-3 Leute• Programmierung in Matlab/Octave/Freemat• Sämtliche Abgaben (Code, Kommentare, Paper) und

Präsentationen in englischer Sprache

Page 4: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Rahmenbedingungen

Zeitlich• 13 Übungstermine• 4-5 Termine Einführung• 6. Termin Kurzvorstellung der Projekte• 9. Termin Zwischenstandsbericht• 12/13. Termin Abschlusspräsentation

Projektarbeit• Gruppenarbeit a 2-3 Leute• Programmierung in Matlab/Octave/Freemat• Sämtliche Abgaben (Code, Kommentare, Paper) und

Präsentationen in englischer Sprache

Page 5: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Rahmenbedingungen

Zeitlich• 13 Übungstermine• 4-5 Termine Einführung• 6. Termin Kurzvorstellung der Projekte• 9. Termin Zwischenstandsbericht• 12/13. Termin Abschlusspräsentation

Projektarbeit• Gruppenarbeit a 2-3 Leute• Programmierung in Matlab/Octave/Freemat• Sämtliche Abgaben (Code, Kommentare, Paper) und

Präsentationen in englischer Sprache

Page 6: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Prüfungsleistung

Leistungen• Abgabe aller 4 Programmieraufgaben (unbenotet)• Präsentation des Projektes und Zwischenpräsentationen (benotet)• Ausarbeitung: 4 Seiten Konferenzpaper (benotet)

FragenEmail an:

[email protected][email protected]

Page 7: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Prüfungsleistung

Leistungen• Abgabe aller 4 Programmieraufgaben (unbenotet)• Präsentation des Projektes und Zwischenpräsentationen (benotet)• Ausarbeitung: 4 Seiten Konferenzpaper (benotet)

FragenEmail an:

[email protected][email protected]

Page 8: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Grundlegende Tips zu Matlab

• Regelmäßig, z.B. im Kopf von Skripten: clearvars(Vorsicht: ’clear all’ löscht auch Breakpoints!)

• Zu Beginn wichtige Pfade mit addpath() laden• Mit Funktions- und Variablenamen keine Matlab Builtins

überschreiben, wie etwa ’mean()’• Schleifen vermeiden, da sehr langsam!• Mit Semikolon terminieren, sonst ewig viel Output !!• Matlab hat keinen Index ’0’ !

Page 9: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Grundlegende Tips zu Matlab

• Regelmäßig, z.B. im Kopf von Skripten: clearvars(Vorsicht: ’clear all’ löscht auch Breakpoints!)

• Zu Beginn wichtige Pfade mit addpath() laden• Mit Funktions- und Variablenamen keine Matlab Builtins

überschreiben, wie etwa ’mean()’• Schleifen vermeiden, da sehr langsam!• Mit Semikolon terminieren, sonst ewig viel Output !!• Matlab hat keinen Index ’0’ !

Page 10: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Grundlegende Tips zu Matlab

• Regelmäßig, z.B. im Kopf von Skripten: clearvars(Vorsicht: ’clear all’ löscht auch Breakpoints!)

• Zu Beginn wichtige Pfade mit addpath() laden

• Mit Funktions- und Variablenamen keine Matlab Builtinsüberschreiben, wie etwa ’mean()’

• Schleifen vermeiden, da sehr langsam!• Mit Semikolon terminieren, sonst ewig viel Output !!• Matlab hat keinen Index ’0’ !

Page 11: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Grundlegende Tips zu Matlab

• Regelmäßig, z.B. im Kopf von Skripten: clearvars(Vorsicht: ’clear all’ löscht auch Breakpoints!)

• Zu Beginn wichtige Pfade mit addpath() laden• Mit Funktions- und Variablenamen keine Matlab Builtins

überschreiben, wie etwa ’mean()’

• Schleifen vermeiden, da sehr langsam!• Mit Semikolon terminieren, sonst ewig viel Output !!• Matlab hat keinen Index ’0’ !

Page 12: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Grundlegende Tips zu Matlab

• Regelmäßig, z.B. im Kopf von Skripten: clearvars(Vorsicht: ’clear all’ löscht auch Breakpoints!)

• Zu Beginn wichtige Pfade mit addpath() laden• Mit Funktions- und Variablenamen keine Matlab Builtins

überschreiben, wie etwa ’mean()’• Schleifen vermeiden, da sehr langsam!

• Mit Semikolon terminieren, sonst ewig viel Output !!• Matlab hat keinen Index ’0’ !

Page 13: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Grundlegende Tips zu Matlab

• Regelmäßig, z.B. im Kopf von Skripten: clearvars(Vorsicht: ’clear all’ löscht auch Breakpoints!)

• Zu Beginn wichtige Pfade mit addpath() laden• Mit Funktions- und Variablenamen keine Matlab Builtins

überschreiben, wie etwa ’mean()’• Schleifen vermeiden, da sehr langsam!• Mit Semikolon terminieren, sonst ewig viel Output !!

• Matlab hat keinen Index ’0’ !

Page 14: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Grundlegende Tips zu Matlab

• Regelmäßig, z.B. im Kopf von Skripten: clearvars(Vorsicht: ’clear all’ löscht auch Breakpoints!)

• Zu Beginn wichtige Pfade mit addpath() laden• Mit Funktions- und Variablenamen keine Matlab Builtins

überschreiben, wie etwa ’mean()’• Schleifen vermeiden, da sehr langsam!• Mit Semikolon terminieren, sonst ewig viel Output !!• Matlab hat keinen Index ’0’ !

Page 15: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Funktionen schreiben

1. Anlegen einer Datei mit Namen der Funktion, z.B. my_function.m

2. Definition des Funktionskopfes am Anfang3. Funktionsname = Dateiname !4. Header Kommentar für ’help’

my_function.m:1 % function [y1,y2] = my_function(x1,x2)2 %3 % A dummy function!4

5 function [y1,y2] = my_function(x1,x2)6

7 y1 = x2;8 y2 = x1;

Page 16: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Funktionen schreiben

1. Anlegen einer Datei mit Namen der Funktion, z.B. my_function.m

2. Definition des Funktionskopfes am Anfang3. Funktionsname = Dateiname !4. Header Kommentar für ’help’

my_function.m:1 % function [y1,y2] = my_function(x1,x2)2 %3 % A dummy function!4

5 function [y1,y2] = my_function(x1,x2)6

7 y1 = x2;8 y2 = x1;

Page 17: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Funktionen schreiben

1. Anlegen einer Datei mit Namen der Funktion, z.B. my_function.m

2. Definition des Funktionskopfes am Anfang

3. Funktionsname = Dateiname !4. Header Kommentar für ’help’

my_function.m:1 % function [y1,y2] = my_function(x1,x2)2 %3 % A dummy function!4

5 function [y1,y2] = my_function(x1,x2)6

7 y1 = x2;8 y2 = x1;

Page 18: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Funktionen schreiben

1. Anlegen einer Datei mit Namen der Funktion, z.B. my_function.m

2. Definition des Funktionskopfes am Anfang3. Funktionsname = Dateiname !

4. Header Kommentar für ’help’

my_function.m:1 % function [y1,y2] = my_function(x1,x2)2 %3 % A dummy function!4

5 function [y1,y2] = my_function(x1,x2)6

7 y1 = x2;8 y2 = x1;

Page 19: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Funktionen schreiben

1. Anlegen einer Datei mit Namen der Funktion, z.B. my_function.m

2. Definition des Funktionskopfes am Anfang3. Funktionsname = Dateiname !4. Header Kommentar für ’help’

my_function.m:1 % function [y1,y2] = my_function(x1,x2)2 %3 % A dummy function!4

5 function [y1,y2] = my_function(x1,x2)6

7 y1 = x2;8 y2 = x1;

Page 20: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Funktionen schreiben

1. Anlegen einer Datei mit Namen der Funktion, z.B. my_function.m

2. Definition des Funktionskopfes am Anfang3. Funktionsname = Dateiname !4. Header Kommentar für ’help’

my_function.m:1 % function [y1,y2] = my_function(x1,x2)2 %3 % A dummy function!4

5 function [y1,y2] = my_function(x1,x2)6

7 y1 = x2;8 y2 = x1;

Page 21: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Funktionen schreiben

1. Anlegen einer Datei mit Namen der Funktion, z.B. my_function.m

2. Definition des Funktionskopfes am Anfang3. Funktionsname = Dateiname !4. Header Kommentar für ’help’

my_function.m:1 % function [y1,y2] = my_function(x1,x2)2 %3 % A dummy function!4

5 function [y1,y2] = my_function(x1,x2)6

7 y1 = x2;8 y2 = x1;

Page 22: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Wichtige Datentypen

ArrayA = [1 2 3; 4, 5, 6 ] A = 1 2 3

4 5 6Zugriff: a = A(1,1) = 1

Cell arrayB = {1 2 ’drei’; 4 [2 , 3] 6} A = 1 2 drei

4 [2, 3] 6Zugriff: b = B{1,3} = ’drei’

StructS.name = ’Track1’; S.duration = 120;Zugriff: NAME = S.name;

Struct ArrayS(1).name = ’Track1’; S(2).name = ’Track_2’;Zugriff: NAME = S(2).name = ’Track_2’;

Page 23: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Wichtige Datentypen

ArrayA = [1 2 3; 4, 5, 6 ] A = 1 2 3

4 5 6Zugriff: a = A(1,1) = 1

Cell arrayB = {1 2 ’drei’; 4 [2 , 3] 6} A = 1 2 drei

4 [2, 3] 6Zugriff: b = B{1,3} = ’drei’

StructS.name = ’Track1’; S.duration = 120;Zugriff: NAME = S.name;

Struct ArrayS(1).name = ’Track1’; S(2).name = ’Track_2’;Zugriff: NAME = S(2).name = ’Track_2’;

Page 24: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Wichtige Datentypen

ArrayA = [1 2 3; 4, 5, 6 ] A = 1 2 3

4 5 6Zugriff: a = A(1,1) = 1

Cell arrayB = {1 2 ’drei’; 4 [2 , 3] 6} A = 1 2 drei

4 [2, 3] 6Zugriff: b = B{1,3} = ’drei’

StructS.name = ’Track1’; S.duration = 120;Zugriff: NAME = S.name;

Struct ArrayS(1).name = ’Track1’; S(2).name = ’Track_2’;Zugriff: NAME = S(2).name = ’Track_2’;

Page 25: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Wichtige Datentypen

ArrayA = [1 2 3; 4, 5, 6 ] A = 1 2 3

4 5 6Zugriff: a = A(1,1) = 1

Cell arrayB = {1 2 ’drei’; 4 [2 , 3] 6} A = 1 2 drei

4 [2, 3] 6Zugriff: b = B{1,3} = ’drei’

StructS.name = ’Track1’; S.duration = 120;Zugriff: NAME = S.name;

Struct ArrayS(1).name = ’Track1’; S(2).name = ’Track_2’;Zugriff: NAME = S(2).name = ’Track_2’;

Page 26: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Wichtige Datentypen

ArrayA = [1 2 3; 4, 5, 6 ] A = 1 2 3

4 5 6Zugriff: a = A(1,1) = 1

Cell arrayB = {1 2 ’drei’; 4 [2 , 3] 6} A = 1 2 drei

4 [2, 3] 6Zugriff: b = B{1,3} = ’drei’

StructS.name = ’Track1’; S.duration = 120;Zugriff: NAME = S.name;

Struct ArrayS(1).name = ’Track1’; S(2).name = ’Track_2’;Zugriff: NAME = S(2).name = ’Track_2’;

Page 27: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Einige Funktionen

Audiodateien:wavread(), wavwrite(), sound(), ...

Daten speichern und ladensave, load; dlmread(), dlmwrite(); textscan(), fprintf() ...

Plotsplot(), stem(), stairs(), imagesc(); set(gca,’...’); print() ...

Rechenoperationenfft(), fftshift(), ifft(); abs(), mean(), var(), sum(); diff() ...

Immer erst prüfen, ob Matlab benötigte Funktionen bereitstellt!Es gibt mehr Builtins als man denkt!(Je nach installierten Paketen.)

Page 28: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Einige Funktionen

Audiodateien:wavread(), wavwrite(), sound(), ...

Daten speichern und ladensave, load; dlmread(), dlmwrite(); textscan(), fprintf() ...

Plotsplot(), stem(), stairs(), imagesc(); set(gca,’...’); print() ...

Rechenoperationenfft(), fftshift(), ifft(); abs(), mean(), var(), sum(); diff() ...

Immer erst prüfen, ob Matlab benötigte Funktionen bereitstellt!Es gibt mehr Builtins als man denkt!(Je nach installierten Paketen.)

Page 29: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Einige Funktionen

Audiodateien:wavread(), wavwrite(), sound(), ...

Daten speichern und ladensave, load; dlmread(), dlmwrite(); textscan(), fprintf() ...

Plotsplot(), stem(), stairs(), imagesc(); set(gca,’...’); print() ...

Rechenoperationenfft(), fftshift(), ifft(); abs(), mean(), var(), sum(); diff() ...

Immer erst prüfen, ob Matlab benötigte Funktionen bereitstellt!Es gibt mehr Builtins als man denkt!(Je nach installierten Paketen.)

Page 30: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Einige Funktionen

Audiodateien:wavread(), wavwrite(), sound(), ...

Daten speichern und ladensave, load; dlmread(), dlmwrite(); textscan(), fprintf() ...

Plotsplot(), stem(), stairs(), imagesc(); set(gca,’...’); print() ...

Rechenoperationenfft(), fftshift(), ifft(); abs(), mean(), var(), sum(); diff() ...

Immer erst prüfen, ob Matlab benötigte Funktionen bereitstellt!Es gibt mehr Builtins als man denkt!(Je nach installierten Paketen.)

Page 31: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Einige Funktionen

Audiodateien:wavread(), wavwrite(), sound(), ...

Daten speichern und ladensave, load; dlmread(), dlmwrite(); textscan(), fprintf() ...

Plotsplot(), stem(), stairs(), imagesc(); set(gca,’...’); print() ...

Rechenoperationenfft(), fftshift(), ifft(); abs(), mean(), var(), sum(); diff() ...

Immer erst prüfen, ob Matlab benötigte Funktionen bereitstellt!Es gibt mehr Builtins als man denkt!(Je nach installierten Paketen.)

Page 32: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Einige Funktionen

Audiodateien:wavread(), wavwrite(), sound(), ...

Daten speichern und ladensave, load; dlmread(), dlmwrite(); textscan(), fprintf() ...

Plotsplot(), stem(), stairs(), imagesc(); set(gca,’...’); print() ...

Rechenoperationenfft(), fftshift(), ifft(); abs(), mean(), var(), sum(); diff() ...

Immer erst prüfen, ob Matlab benötigte Funktionen bereitstellt!Es gibt mehr Builtins als man denkt!(Je nach installierten Paketen.)

Page 33: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Für die Performance

• Verwendung von arrayfun(), cellfun() und structfun()

• So selten wie möglich über Zeilen/Spalten loopen• Beachten: Matlab hat einen begrenzten Speicher für einzelne

Variablen: (z.B. 583 MB pro Array in Windows)

Tips zum Debuggen

• Conditional Breakpoints verwenden!• Verwenden von try ... catch

• Bei langen Schleifenaufgaben helfen regelmäßige Feedbacks:disp(’Done with File ’num2str(i) ’of ’num2str(nFiles) ’Files !’)

Page 34: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Für die Performance

• Verwendung von arrayfun(), cellfun() und structfun()

• So selten wie möglich über Zeilen/Spalten loopen• Beachten: Matlab hat einen begrenzten Speicher für einzelne

Variablen: (z.B. 583 MB pro Array in Windows)

Tips zum Debuggen

• Conditional Breakpoints verwenden!• Verwenden von try ... catch

• Bei langen Schleifenaufgaben helfen regelmäßige Feedbacks:disp(’Done with File ’num2str(i) ’of ’num2str(nFiles) ’Files !’)

Page 35: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Für die Performance

• Verwendung von arrayfun(), cellfun() und structfun()

• So selten wie möglich über Zeilen/Spalten loopen

• Beachten: Matlab hat einen begrenzten Speicher für einzelneVariablen: (z.B. 583 MB pro Array in Windows)

Tips zum Debuggen

• Conditional Breakpoints verwenden!• Verwenden von try ... catch

• Bei langen Schleifenaufgaben helfen regelmäßige Feedbacks:disp(’Done with File ’num2str(i) ’of ’num2str(nFiles) ’Files !’)

Page 36: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Für die Performance

• Verwendung von arrayfun(), cellfun() und structfun()

• So selten wie möglich über Zeilen/Spalten loopen• Beachten: Matlab hat einen begrenzten Speicher für einzelne

Variablen: (z.B. 583 MB pro Array in Windows)

Tips zum Debuggen

• Conditional Breakpoints verwenden!• Verwenden von try ... catch

• Bei langen Schleifenaufgaben helfen regelmäßige Feedbacks:disp(’Done with File ’num2str(i) ’of ’num2str(nFiles) ’Files !’)

Page 37: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Für die Performance

• Verwendung von arrayfun(), cellfun() und structfun()

• So selten wie möglich über Zeilen/Spalten loopen• Beachten: Matlab hat einen begrenzten Speicher für einzelne

Variablen: (z.B. 583 MB pro Array in Windows)

Tips zum Debuggen

• Conditional Breakpoints verwenden!• Verwenden von try ... catch

• Bei langen Schleifenaufgaben helfen regelmäßige Feedbacks:disp(’Done with File ’num2str(i) ’of ’num2str(nFiles) ’Files !’)

Page 38: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Für die Performance

• Verwendung von arrayfun(), cellfun() und structfun()

• So selten wie möglich über Zeilen/Spalten loopen• Beachten: Matlab hat einen begrenzten Speicher für einzelne

Variablen: (z.B. 583 MB pro Array in Windows)

Tips zum Debuggen• Conditional Breakpoints verwenden!

• Verwenden von try ... catch

• Bei langen Schleifenaufgaben helfen regelmäßige Feedbacks:disp(’Done with File ’num2str(i) ’of ’num2str(nFiles) ’Files !’)

Page 39: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Für die Performance

• Verwendung von arrayfun(), cellfun() und structfun()

• So selten wie möglich über Zeilen/Spalten loopen• Beachten: Matlab hat einen begrenzten Speicher für einzelne

Variablen: (z.B. 583 MB pro Array in Windows)

Tips zum Debuggen• Conditional Breakpoints verwenden!• Verwenden von try ... catch

• Bei langen Schleifenaufgaben helfen regelmäßige Feedbacks:disp(’Done with File ’num2str(i) ’of ’num2str(nFiles) ’Files !’)

Page 40: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Für die Performance

• Verwendung von arrayfun(), cellfun() und structfun()

• So selten wie möglich über Zeilen/Spalten loopen• Beachten: Matlab hat einen begrenzten Speicher für einzelne

Variablen: (z.B. 583 MB pro Array in Windows)

Tips zum Debuggen• Conditional Breakpoints verwenden!• Verwenden von try ... catch

• Bei langen Schleifenaufgaben helfen regelmäßige Feedbacks:disp(’Done with File ’num2str(i) ’of ’num2str(nFiles) ’Files !’)

Page 41: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Blockweise Signalanalyse

Global Feaures Instantaneous Features

Gründe für eine blockweise Analyse1. Interesse am Verlauf von Signaleigenschaften

(Amplituden-Hüllkurve)2. Zerlegung des Signals in quasi-stationäre Segmente (z.B. für eine

STFT)

Page 42: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Blockweise Signalanalyse

Global Feaures Instantaneous Features

Gründe für eine blockweise Analyse1. Interesse am Verlauf von Signaleigenschaften

(Amplituden-Hüllkurve)2. Zerlegung des Signals in quasi-stationäre Segmente (z.B. für eine

STFT)

Page 43: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Parameter für Block-Processing

Page 44: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Parameter für Block-Processing

HopsizeLh = 1ms · · · 1000ms

FramesizeLf = 1ms · · · 1000ms

OverlapErgibt sich aus Hopsize und Framesize

FensterungVerschiedene Fensterfunktionen:boxcar, tri, hann, hamming, ...

Page 45: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Parameter für Block-Processing

HopsizeLh = 1ms · · · 1000ms

FramesizeLf = 1ms · · · 1000ms

OverlapErgibt sich aus Hopsize und Framesize

FensterungVerschiedene Fensterfunktionen:boxcar, tri, hann, hamming, ...

Page 46: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Parameter für Block-Processing

HopsizeLh = 1ms · · · 1000ms

FramesizeLf = 1ms · · · 1000ms

OverlapErgibt sich aus Hopsize und Framesize

FensterungVerschiedene Fensterfunktionen:boxcar, tri, hann, hamming, ...

Page 47: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Parameter für Block-Processing

HopsizeLh = 1ms · · · 1000ms

FramesizeLf = 1ms · · · 1000ms

OverlapErgibt sich aus Hopsize und Framesize

FensterungVerschiedene Fensterfunktionen:boxcar, tri, hann, hamming, ...

Page 48: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Parameter für Block-Processing

HopsizeLh = 1ms · · · 1000ms

FramesizeLf = 1ms · · · 1000ms

OverlapErgibt sich aus Hopsize und Framesize

FensterungVerschiedene Fensterfunktionen:boxcar, tri, hann, hamming, ...

Page 49: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Schematische Implementierung (Doch mit Schleife)

1 x = read wavefile;2

3 % analysis parameters4 nHop = size of hop in samples;5 nWin = length of window in samples;6 nFrames = number of frames to fit into x;7 % allocate output memory8 y = zeros(nFrames,1);9

10 for frmCnt = 1:nFrames11

12 % get segment13 thisFrame = x((frmCnt-1)*nHop +1 : (frmCnt-1)*nHop + nWin);14

15 % compute value16 thisValue = my_function(thisFrame);17

18 % assign value to output19 y(frmCnt) = thisValue;20 end

Page 50: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Schematische Implementierung (Doch mit Schleife)1 x = read wavefile;2

3 % analysis parameters4 nHop = size of hop in samples;5 nWin = length of window in samples;6 nFrames = number of frames to fit into x;7 % allocate output memory8 y = zeros(nFrames,1);9

10 for frmCnt = 1:nFrames11

12 % get segment13 thisFrame = x((frmCnt-1)*nHop +1 : (frmCnt-1)*nHop + nWin);14

15 % compute value16 thisValue = my_function(thisFrame);17

18 % assign value to output19 y(frmCnt) = thisValue;20 end

Page 51: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

RMS

Root Mean Square:

RMS(x) =

√√√√ 1N

N∑i=1

x2(i)

Page 52: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

RMS

Root Mean Square:

RMS(x) =

√√√√ 1N

N∑i=1

x2(i)

Page 53: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Energieverlauf

Beispiel (Instrumentalsolo)

500 1,000 1,500 2,000 2,5000

2

4

6

·10−3

Frame

RMS

Page 54: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Energieverlauf

Beispiel - logarithmisch (Instrumentalsolo)

500 1,000 1,500 2,000 2,500−15

−10

−5

Frame

RMS/dB

FS

Page 55: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Download

http://zplane.de/downloads/uni/git.wav

Page 56: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Termin 2

Grundfrequenz

Page 57: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Fragen zur letzten Aufgabe?

Page 58: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Termin 2

Autokorrelationsfunktion und Grundfrequenzverlauf

Page 59: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Autokorrelationsfunktion

rxx[τ ] =L−τ∑j=1

xjxj−τ (1)

Spezielle Fälle:• AKF für Rauschen?• AKF für Sinus?

Normierung auf 1 üblich!Hier aber erstmal nicht wichtig...

Page 60: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Autokorrelationsfunktion

rxx[τ ] =L−τ∑j=1

xjxj−τ (1)

Spezielle Fälle:• AKF für Rauschen?• AKF für Sinus?

Normierung auf 1 üblich!Hier aber erstmal nicht wichtig...

Page 61: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Autokorrelationsfunktion

rxx[τ ] =L−τ∑j=1

xjxj−τ (1)

Spezielle Fälle:• AKF für Rauschen?• AKF für Sinus?

Normierung auf 1 üblich!Hier aber erstmal nicht wichtig...

Page 62: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Autokorrelationsfunktion und F0

Ermittlung der Grundfrequenz durch AKF:• Verwerfen des globalen Maximums bei τ = 0

• Suche des nächsten signifikanten Maximums• Lage des Maximums entspricht der Periodendauer in Samples

Page 63: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Autokorrelationsfunktion und F0

Ermittlung der Grundfrequenz durch AKF:• Verwerfen des globalen Maximums bei τ = 0• Suche des nächsten signifikanten Maximums

• Lage des Maximums entspricht der Periodendauer in Samples

Page 64: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Autokorrelationsfunktion und F0

Ermittlung der Grundfrequenz durch AKF:• Verwerfen des globalen Maximums bei τ = 0• Suche des nächsten signifikanten Maximums• Lage des Maximums entspricht der Periodendauer in Samples

Page 65: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Autokorrelationsfunktion

900 1800-1

0

1

τ

r xx

Abbildung: Einseitige normierte Autokorrelationsfunktion eines periodischenSignals mit erstem Nulldurchgang und signifikantem Maximum zurGrundfrequenzerkennung

Page 66: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Autokorrelationsfunktion

900 1800-1

0

1

Erster Nulldurchgang

τ

r xx

Abbildung: Einseitige normierte Autokorrelationsfunktion eines periodischenSignals mit erstem Nulldurchgang und signifikantem Maximum zurGrundfrequenzerkennung

Page 67: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Autokorrelationsfunktion

900 1800-1

0

1Gesuchtes Maximum bei τMAX

Erster Nulldurchgang

τ

r xx

Abbildung: Einseitige normierte Autokorrelationsfunktion eines periodischenSignals mit erstem Nulldurchgang und signifikantem Maximum zurGrundfrequenzerkennung

Page 68: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Implementierung

• Erstellen einer Funktion [f_0] = get_F0(x,fs)

• Verwenden von xcorr(,’maxlag’)• max() innerhalb sinnvoller Indizes anwenden• Umrechnung von τMAX in Frequenz

• Anpassen der Funktion blockwise_RMS()

Begrenzung des Frequenzbereichs!Nur innerhalb eines Bereiches Suchen, der für musikalischeGrundfrequenzen sinnvoll ist!

Page 69: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Implementierung

• Erstellen einer Funktion [f_0] = get_F0(x,fs)• Verwenden von xcorr(,’maxlag’)

• max() innerhalb sinnvoller Indizes anwenden• Umrechnung von τMAX in Frequenz

• Anpassen der Funktion blockwise_RMS()

Begrenzung des Frequenzbereichs!Nur innerhalb eines Bereiches Suchen, der für musikalischeGrundfrequenzen sinnvoll ist!

Page 70: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Implementierung

• Erstellen einer Funktion [f_0] = get_F0(x,fs)• Verwenden von xcorr(,’maxlag’)• max() innerhalb sinnvoller Indizes anwenden

• Umrechnung von τMAX in Frequenz• Anpassen der Funktion blockwise_RMS()

Begrenzung des Frequenzbereichs!Nur innerhalb eines Bereiches Suchen, der für musikalischeGrundfrequenzen sinnvoll ist!

Page 71: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Implementierung

• Erstellen einer Funktion [f_0] = get_F0(x,fs)• Verwenden von xcorr(,’maxlag’)• max() innerhalb sinnvoller Indizes anwenden• Umrechnung von τMAX in Frequenz

• Anpassen der Funktion blockwise_RMS()

Begrenzung des Frequenzbereichs!Nur innerhalb eines Bereiches Suchen, der für musikalischeGrundfrequenzen sinnvoll ist!

Page 72: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Implementierung

• Erstellen einer Funktion [f_0] = get_F0(x,fs)• Verwenden von xcorr(,’maxlag’)• max() innerhalb sinnvoller Indizes anwenden• Umrechnung von τMAX in Frequenz

• Anpassen der Funktion blockwise_RMS()

Begrenzung des Frequenzbereichs!Nur innerhalb eines Bereiches Suchen, der für musikalischeGrundfrequenzen sinnvoll ist!

Page 73: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Implementierung

• Erstellen einer Funktion [f_0] = get_F0(x,fs)• Verwenden von xcorr(,’maxlag’)• max() innerhalb sinnvoller Indizes anwenden• Umrechnung von τMAX in Frequenz

• Anpassen der Funktion blockwise_RMS()

Begrenzung des Frequenzbereichs!Nur innerhalb eines Bereiches Suchen, der für musikalischeGrundfrequenzen sinnvoll ist!

Page 74: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Implementierung

• Erstellen einer Funktion [f_0] = get_F0(x,fs)• Verwenden von xcorr(,’maxlag’)• max() innerhalb sinnvoller Indizes anwenden• Umrechnung von τMAX in Frequenz

• Anpassen der Funktion blockwise_RMS()

Begrenzung des Frequenzbereichs!Nur innerhalb eines Bereiches Suchen, der für musikalischeGrundfrequenzen sinnvoll ist!

Page 75: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Blockgröße

Kriterien für die Wahl der Blockgröße?

• Minimale Länge <—> Tiefste Frequenz• Maximale Länge <—> Bedingung der Stationarität

Page 76: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Blockgröße

Kriterien für die Wahl der Blockgröße?• Minimale Länge <—> Tiefste Frequenz• Maximale Länge <—> Bedingung der Stationarität

Page 77: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Probleme

• Peak Picking

• Subharmonic Error (starke Obertöne)• Abhängigkeit der Genauigkeit von der Samplerate

Page 78: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Probleme

• Peak Picking• Subharmonic Error (starke Obertöne)

• Abhängigkeit der Genauigkeit von der Samplerate

Page 79: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Probleme

• Peak Picking• Subharmonic Error (starke Obertöne)• Abhängigkeit der Genauigkeit von der Samplerate

Page 80: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Upsampling

Erhöhung der GenauigkeitDurch Upsampling des Signals oder der AKF vor der Suche desMaximums können die Werte für f0 feiner quantisiert werden.

Page 81: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Grundfrequenzverlauf - Violine

0 50 100 150 200 250100

200

300

400

500

Frame

F0

Abbildung: Grundfrequenzverlauf mit Subharmonic Errors

Page 82: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Testen

Ideen für Testverfahren / -signale?

Page 83: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Termin 3

Spectral Features

Page 84: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Fragen zur letzten Aufgabe?

Page 85: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Themen für Projekte

Vorschläge:• Pitcherkennung• Onset/Beat/Tempo erkennung• Harmonieerkennung• Tonarterkennung• Strukturerkennung (strophe/refrain etc.)• Instrumentenklassifikation• monophon/polyphon Erkennung• ...

Page 86: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Themen für Projekte

Vorschläge:• Pitcherkennung• Onset/Beat/Tempo erkennung• Harmonieerkennung• Tonarterkennung• Strukturerkennung (strophe/refrain etc.)• Instrumentenklassifikation• monophon/polyphon Erkennung• ...

Page 87: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

DFT

X[k] =N−1∑n=0

x[n]e−j2πk nN (2)

Page 88: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Betragsspektrum

200 400 600 800 1,000 1,200 1,400 1,600 1,800 2,0000

20

40

60

Sample

|X[k

]|

Abbildung: Betragsspektrum (f = 0...fs) eines Flötentons (Block - 2000Samples)

SymmetrieDie Fouriertransformierte eines reellen Signals ist symmetrisch!

Page 89: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Betragsspektrum

200 400 600 800 1,000 1,200 1,400 1,600 1,800 2,0000

20

40

60

Sample

|X[k

]|

Abbildung: Betragsspektrum (f = 0...fs) eines Flötentons (Block - 2000Samples)

SymmetrieDie Fouriertransformierte eines reellen Signals ist symmetrisch!

Page 90: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Einseitges Betragsspektrum

100 200 300 400 500 600 700 800 900 1,0000

20

40

60

Sample

|X[k

]|

Abbildung: Einseitiges Betragsspektrum (f = 0...fs/2) eines Flötentons (Block- 2000 Samples)

VorteilDas einseitige Betragsspektrum eignet sich für die Berechung von Vertei-lungsmerkmalen

Page 91: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Einseitges Betragsspektrum

100 200 300 400 500 600 700 800 900 1,0000

20

40

60

Sample

|X[k

]|

Abbildung: Einseitiges Betragsspektrum (f = 0...fs/2) eines Flötentons (Block- 2000 Samples)

VorteilDas einseitige Betragsspektrum eignet sich für die Berechung von Vertei-lungsmerkmalen

Page 92: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Anwendung Spektrale Merkmale

• Unterscheidung verschiedener Signale (z. B. Sprache vs. Musik)• Segmentierung eines Signals (z.B. Tonal vs Noise)• Voice Activity Detection• Transientenerkennung• Rückschlüsse auf Klangeindruck (z.B. Klar vs. Dumpf)• ...

Page 93: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Beispiele für Spektrale Merkmale

Spektrale Verteilung• Spectral Centroid• Spectral Spread• Spectral Skewness• Spectral Kurtosis• Spectral Decrease• Spectral Rolloff• Spectral Slope• Spectral Flatness• Spectral Crest Factor• ...

Veränderung des Spektrums• Spectral Flux• Spectral Variation• Instantaneous Frequency Fluctuation• ...

Page 94: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Beispiele für Spektrale Merkmale

Spektrale Verteilung• Spectral Centroid• Spectral Spread• Spectral Skewness• Spectral Kurtosis• Spectral Decrease• Spectral Rolloff• Spectral Slope• Spectral Flatness• Spectral Crest Factor• ...

Veränderung des Spektrums• Spectral Flux• Spectral Variation• Instantaneous Frequency Fluctuation• ...

Page 95: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Beispiele für Spektrale Merkmale

Spektrale Verteilung• Spectral Centroid• Spectral Spread• Spectral Skewness• Spectral Kurtosis• Spectral Decrease• Spectral Rolloff• Spectral Slope• Spectral Flatness• Spectral Crest Factor• ...

Veränderung des Spektrums• Spectral Flux• Spectral Variation• Instantaneous Frequency Fluctuation• ...

Page 96: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Spectral Rolloff

BeschreibungDer Spectral Rolloff gibt die Frequenz an, unterhalb welcher sich der Groß-teil der Gesamtenergie befindet. (meist 95 %)

Berechnung:S∗∑k=1|X|2[k] = 0.95

K∑k=1|X|2[k] (3)

SRLO = S∗

K(4)

Berechnung über Verteilungsfunktion!

Page 97: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Spectral Rolloff

BeschreibungDer Spectral Rolloff gibt die Frequenz an, unterhalb welcher sich der Groß-teil der Gesamtenergie befindet. (meist 95 %)

Berechnung:S∗∑k=1|X|2[k] = 0.95

K∑k=1|X|2[k] (3)

SRLO = S∗

K(4)

Berechnung über Verteilungsfunktion!

Page 98: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Spectral Rolloff

20 40 60 80 100 120 140 160 180

·104

Frame

Rolloff

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2·105Sample

x[n

]

Abbildung: Spectral Rolloff und Zeitsignal (Flöte)

Page 99: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Spectral Centroid

BeschreibungDer Spectral Centroid gibt den Schwerpunkt der spektralen Verteilung an.

Berechnung:SCNT =

∑Kk=1 k · |X|[k]∑Kk=1 |X|[k]

(5)

Page 100: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Spectral Centroid

BeschreibungDer Spectral Centroid gibt den Schwerpunkt der spektralen Verteilung an.

Berechnung:SCNT =

∑Kk=1 k · |X|[k]∑Kk=1 |X|[k]

(5)

Page 101: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Spectral Centroid

20 40 60 80 100 120 140 160 180

·106

Frame

Centroid

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2·105Sample

x[n

]

Abbildung: Spectral Centroid und Zeitsignal (Flöte)

Page 102: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Spectral Flux

BeschreibungDer Spectral Flux gibt an, wie stark sich das Betragsspektrum mit der Zeitändert.

Berechnung:

SFLX = 1K

K∑k=1

(|X[n− 1, k]| − |X[n, k]|)2 (6)

Berechung über die euklidische Distanz aufeinanderfolgender Frames!ImplementierungDer vorherige Frame muss in der Schleife behalten werden!

Page 103: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Spectral Flux

BeschreibungDer Spectral Flux gibt an, wie stark sich das Betragsspektrum mit der Zeitändert.

Berechnung:

SFLX = 1K

K∑k=1

(|X[n− 1, k]| − |X[n, k]|)2 (6)

Berechung über die euklidische Distanz aufeinanderfolgender Frames!

ImplementierungDer vorherige Frame muss in der Schleife behalten werden!

Page 104: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Spectral Flux

BeschreibungDer Spectral Flux gibt an, wie stark sich das Betragsspektrum mit der Zeitändert.

Berechnung:

SFLX = 1K

K∑k=1

(|X[n− 1, k]| − |X[n, k]|)2 (6)

Berechung über die euklidische Distanz aufeinanderfolgender Frames!ImplementierungDer vorherige Frame muss in der Schleife behalten werden!

Page 105: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Spectral Flux

20 40 60 80 100 120 140 160 180Frame

Flux

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2·105Sample

x[n

]

Abbildung: Spectral Flux und Zeitsignal (Flöte)

Page 106: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Subplots

Verwendung:1. subplot(n,m,i)

2. plot(x)

Parameter:n = Anzahl der Subplot-Zeilen

m = Anzahl der Subplot-Spalten

i = Wahl des Subplots (n ·m)

Page 107: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Subplots

Verwendung:1. subplot(n,m,i)

2. plot(x)

Parameter:n = Anzahl der Subplot-Zeilen

m = Anzahl der Subplot-Spalten

i = Wahl des Subplots (n ·m)

Page 108: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Download

WaveFiles liegen hier:

http://zplane.de/downloads/uni/aca3.zip

Page 109: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Termin 4

Klassifikation: KNN

Page 110: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Organisatorisch

22.5: Vorstellung der Projekte

1. 2 Minuten , 2-3 Folien2. Was habt ihr vor?3. Was gibt es schon (Literatur)?4. Welche Probleme wird es geben?5. Grober Zeiplan!

19.6: Zwischenbericht

Page 111: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Nachtrag zu Spectral Features

In der Praxis werden unterschiedliche Versionen vonFeatures verwendet:

ÜbungRolloff:∑S∗

k=1 |X|2[k] = 0.95∑Kk=1 |X|2[k]

Centroid:SCNT =

∑K

k=1k·|X|[k]∑K

k=1|X|[k]

Beides ist korrekt - ja nach Anwendung liefert eineVersion aber bessere Ergebnisse!

Page 112: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Nachtrag zu Spectral Features

In der Praxis werden unterschiedliche Versionen vonFeatures verwendet:

ÜbungRolloff:∑S∗

k=1 |X|2[k] = 0.95∑Kk=1 |X|2[k]

Centroid:SCNT =

∑K

k=1k·|X|[k]∑K

k=1|X|[k]

Beides ist korrekt - ja nach Anwendung liefert eineVersion aber bessere Ergebnisse!

Page 113: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Nachtrag zu Spectral Features

In der Praxis werden unterschiedliche Versionen vonFeatures verwendet:

ÜbungRolloff:∑S∗

k=1 |X|2[k] = 0.95∑Kk=1 |X|2[k]

Centroid:SCNT =

∑K

k=1k·|X|[k]∑K

k=1|X|[k]

VorlesungRolloff:∑S∗

k=1 |X|[k] = 0.95∑Kk=1 |X|[k]

Centroid:SCNT =

∑K

k=1k·|X|2[k]∑K

k=1|X|2[k]

Beides ist korrekt - ja nach Anwendung liefert eineVersion aber bessere Ergebnisse!

Page 114: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

«

Page 115: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

K-Nearest Neighbors

• Klassifikationsalgorithmus• Einfache Theorie, einfache Implementierung• 1.Training -> 2.Klassifikation

1: Training

1. Alle Samples in Trainingset einer Klasse Kn zuordnen2. Alle Samples mit Varianz Normieren

2: Klassifikation

1. Unbekanntes Sample S soll einer Klasse aus Kn zugeordnet werden2. Sample mit Varianz aus Training normieren3. k nächste Nachbarn im Merkmalsraum finden4. Häufigste Klasse in nächsten Nachbarn bestimmen -> FERTIG

Page 116: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

K-Nearest Neighbors

• Klassifikationsalgorithmus• Einfache Theorie, einfache Implementierung• 1.Training -> 2.Klassifikation

1: Training1. Alle Samples in Trainingset einer Klasse Kn zuordnen

2. Alle Samples mit Varianz Normieren

2: Klassifikation

1. Unbekanntes Sample S soll einer Klasse aus Kn zugeordnet werden2. Sample mit Varianz aus Training normieren3. k nächste Nachbarn im Merkmalsraum finden4. Häufigste Klasse in nächsten Nachbarn bestimmen -> FERTIG

Page 117: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

K-Nearest Neighbors

• Klassifikationsalgorithmus• Einfache Theorie, einfache Implementierung• 1.Training -> 2.Klassifikation

1: Training1. Alle Samples in Trainingset einer Klasse Kn zuordnen2. Alle Samples mit Varianz Normieren

2: Klassifikation

1. Unbekanntes Sample S soll einer Klasse aus Kn zugeordnet werden2. Sample mit Varianz aus Training normieren3. k nächste Nachbarn im Merkmalsraum finden4. Häufigste Klasse in nächsten Nachbarn bestimmen -> FERTIG

Page 118: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

K-Nearest Neighbors

• Klassifikationsalgorithmus• Einfache Theorie, einfache Implementierung• 1.Training -> 2.Klassifikation

1: Training1. Alle Samples in Trainingset einer Klasse Kn zuordnen2. Alle Samples mit Varianz Normieren

2: Klassifikation

1. Unbekanntes Sample S soll einer Klasse aus Kn zugeordnet werden2. Sample mit Varianz aus Training normieren3. k nächste Nachbarn im Merkmalsraum finden4. Häufigste Klasse in nächsten Nachbarn bestimmen -> FERTIG

Page 119: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

K-Nearest Neighbors

• Klassifikationsalgorithmus• Einfache Theorie, einfache Implementierung• 1.Training -> 2.Klassifikation

1: Training1. Alle Samples in Trainingset einer Klasse Kn zuordnen2. Alle Samples mit Varianz Normieren

2: Klassifikation1. Unbekanntes Sample S soll einer Klasse aus Kn zugeordnet werden

2. Sample mit Varianz aus Training normieren3. k nächste Nachbarn im Merkmalsraum finden4. Häufigste Klasse in nächsten Nachbarn bestimmen -> FERTIG

Page 120: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

K-Nearest Neighbors

• Klassifikationsalgorithmus• Einfache Theorie, einfache Implementierung• 1.Training -> 2.Klassifikation

1: Training1. Alle Samples in Trainingset einer Klasse Kn zuordnen2. Alle Samples mit Varianz Normieren

2: Klassifikation1. Unbekanntes Sample S soll einer Klasse aus Kn zugeordnet werden2. Sample mit Varianz aus Training normieren

3. k nächste Nachbarn im Merkmalsraum finden4. Häufigste Klasse in nächsten Nachbarn bestimmen -> FERTIG

Page 121: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

K-Nearest Neighbors

• Klassifikationsalgorithmus• Einfache Theorie, einfache Implementierung• 1.Training -> 2.Klassifikation

1: Training1. Alle Samples in Trainingset einer Klasse Kn zuordnen2. Alle Samples mit Varianz Normieren

2: Klassifikation1. Unbekanntes Sample S soll einer Klasse aus Kn zugeordnet werden2. Sample mit Varianz aus Training normieren3. k nächste Nachbarn im Merkmalsraum finden

4. Häufigste Klasse in nächsten Nachbarn bestimmen -> FERTIG

Page 122: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

K-Nearest Neighbors

• Klassifikationsalgorithmus• Einfache Theorie, einfache Implementierung• 1.Training -> 2.Klassifikation

1: Training1. Alle Samples in Trainingset einer Klasse Kn zuordnen2. Alle Samples mit Varianz Normieren

2: Klassifikation1. Unbekanntes Sample S soll einer Klasse aus Kn zugeordnet werden2. Sample mit Varianz aus Training normieren3. k nächste Nachbarn im Merkmalsraum finden4. Häufigste Klasse in nächsten Nachbarn bestimmen -> FERTIG

Page 123: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

2D Merkmalsraum vor dem Training

0 5 · 10−7 1 · 10−6 1.5 · 10−6 2 · 10−6 2.5 · 10−6 3 · 10−60

0.2

0.4

0.6

0.8

Feature 1

Feature2

Page 124: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

TRAINING: 2D Merkmalsraum nach Zuweisung

0 5 · 10−7 1 · 10−6 1.5 · 10−6 2 · 10−6 2.5 · 10−6 3 · 10−60

0.2

0.4

0.6

0.8

Feature 1

Feature2

Class 1Class 2

Page 125: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

KLASSIFIKATION: Klasse für Sample finden

0 5 · 10−7 1 · 10−6 1.5 · 10−6 2 · 10−6 2.5 · 10−6 3 · 10−60

0.2

0.4

0.6

0.8

Feature 1

Feature2

Class 1Class 2Sample

Page 126: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

K=1,3,5 Eindeutige Zuordung

0 5 · 10−7 1 · 10−6 1.5 · 10−6 2 · 10−6 2.5 · 10−6 3 · 10−60

0.2

0.4

0.6

0.8

Feature 1

Feature2

Class 1Class 2Sample

Page 127: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

K=1,3,5 Eindeutige Zuordung

0 5 · 10−7 1 · 10−6 1.5 · 10−6 2 · 10−6 2.5 · 10−6 3 · 10−60

0.2

0.4

0.6

0.8

Feature 1

Feature2

Class 1Class 2Sample

Page 128: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

K=1,3,5 Eindeutige Zuordung

0 5 · 10−7 1 · 10−6 1.5 · 10−6 2 · 10−6 2.5 · 10−6 3 · 10−60

0.2

0.4

0.6

0.8

Feature 1

Feature2

Class 1Class 2Sample

Page 129: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Etwas komplizierterer Fall

0 5 · 10−7 1 · 10−6 1.5 · 10−6 2 · 10−6 2.5 · 10−6 3 · 10−60

0.2

0.4

0.6

0.8

Feature 1

Feature2

Class 1Class 2Sample

Page 130: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

K=3 Klasse 2

0 5 · 10−7 1 · 10−6 1.5 · 10−6 2 · 10−6 2.5 · 10−6 3 · 10−60

0.2

0.4

0.6

0.8

Feature 1

Feature2

Class 1Class 2Sample

Page 131: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

K=5 Klasse 1

0 5 · 10−7 1 · 10−6 1.5 · 10−6 2 · 10−6 2.5 · 10−6 3 · 10−60

0.2

0.4

0.6

0.8

Feature 1

Feature2

Class 1Class 2Sample

Page 132: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

K wählen

• Ungerade• Möglichst groß• Aber nur wirkliche “Nachbarn” sollen einbezogen werden

Page 133: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Klassifikation: tonal-percussive

Trainingset:Set mit perkussiven und tonalen EinzelklängenTrainingset (11 Files in 2 Ordnern)

1: Berechnung der instantaneous Features pro Sample• Spectral Rolloff• Spectral Centroid• Spectral Flux

2: Für jedes Sample drei Werte extrahieren:• Mittelwert des Rolloff• Mittelwert des Centroid• Varianz des Flux

-> 3 Merkmale pro Sample -> 3D Merkmalsraum

Page 134: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Klassifikation: tonal-percussiveTrainingset:Set mit perkussiven und tonalen EinzelklängenTrainingset (11 Files in 2 Ordnern)

1: Berechnung der instantaneous Features pro Sample• Spectral Rolloff• Spectral Centroid• Spectral Flux

2: Für jedes Sample drei Werte extrahieren:• Mittelwert des Rolloff• Mittelwert des Centroid• Varianz des Flux

-> 3 Merkmale pro Sample -> 3D Merkmalsraum

Page 135: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Klassifikation: tonal-percussiveTrainingset:Set mit perkussiven und tonalen EinzelklängenTrainingset (11 Files in 2 Ordnern)

1: Berechnung der instantaneous Features pro Sample• Spectral Rolloff• Spectral Centroid• Spectral Flux

2: Für jedes Sample drei Werte extrahieren:• Mittelwert des Rolloff• Mittelwert des Centroid• Varianz des Flux

-> 3 Merkmale pro Sample -> 3D Merkmalsraum

Page 136: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Klassifikation: tonal-percussiveTrainingset:Set mit perkussiven und tonalen EinzelklängenTrainingset (11 Files in 2 Ordnern)

1: Berechnung der instantaneous Features pro Sample• Spectral Rolloff• Spectral Centroid• Spectral Flux

2: Für jedes Sample drei Werte extrahieren:• Mittelwert des Rolloff• Mittelwert des Centroid• Varianz des Flux

-> 3 Merkmale pro Sample -> 3D Merkmalsraum

Page 137: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Klassifikation: tonal-percussiveTrainingset:Set mit perkussiven und tonalen EinzelklängenTrainingset (11 Files in 2 Ordnern)

1: Berechnung der instantaneous Features pro Sample• Spectral Rolloff• Spectral Centroid• Spectral Flux

2: Für jedes Sample drei Werte extrahieren:• Mittelwert des Rolloff• Mittelwert des Centroid• Varianz des Flux

-> 3 Merkmale pro Sample -> 3D Merkmalsraum

Page 138: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Klassifikation: tonal-percussive

3: Trainieren

4: Merkmalspaare plotten und Trennbarkeit evaluieren

5: KlassifikationTestset (4 Files)

Page 139: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Klassifikation: tonal-percussive

3: Trainieren

4: Merkmalspaare plotten und Trennbarkeit evaluieren

5: KlassifikationTestset (4 Files)

Page 140: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Klassifikation: tonal-percussive

3: Trainieren

4: Merkmalspaare plotten und Trennbarkeit evaluieren

5: KlassifikationTestset (4 Files)

Page 141: Audio Content Analysis - Laboratory Course · 2013. 5. 15. · 4 5 function[y1,y2] =my_function(x1,x2) 6 7 y1=x2; 8 y2=x1; EinführungTermin 1Termin 2Termin 3Termin 4 ... 16 thisValue=my_function(thisFrame);

Einführung Termin 1 Termin 2 Termin 3 Termin 4

Download

https://www.zplane.de/downloads/uni/knn.zip