Thema: Delphi Tonhöhe herausfinden

Einzelnen Beitrag anzeigen

Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: Tonhöhe herausfinden

  Alt 26. Jun 2005, 12:09
Du musst auf jeden Fall zunächst eine FFT-Analyse des Inputs machen. Damit hast du ein Abbild des Frequenzspektrums. Die Frequenzen die eine Stimme einzigartig machen nennen sich Formanten. Diese musst du auch auf jeden Fall herausfiltern, was durchaus machbar ist, da sie den gesamten Ton über so gut wie konstant bleiben. (Also NUR machbar wenn nicht nur ein Ton gesungen wird! Die Formanten sind in der Regel leiser als der eigentliche Ton, aber verlassen kann man sich nicht darauf.)
Was übrig bleiben sollte sind die gesungenen Frequenzen, ihre Obertöne und Rauschen. Das Rauschen im besten Fall auch filtern. Die Obertöne sind gemein - du bekommst nur schlecht raus welche Oktave wirklich geklungen ist. Zwar ist diese auch wieder am lautesten, aber da spielt dann wieder rein was der Mensch bei verschiedenen Frequenzen als laut empfindet... Wenn du die Oktave nicht brauchchst, dann hast du damit keine Probleme.
Es sind meist noch weitere Obertöne da, die nicht einer Oktave entsprechen, aber die sollten leise genug sein. Alles in allem keine allzu leichte Aufgabe das ganze.
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat