Soundanalyse und -aufzeichnung

  • Themenstarter Themenstarter Cavemaster
  • Beginndatum Beginndatum
C

Cavemaster

Hi!

Ich bin vor kurzem auf C++ umgestiegen und wollte mich mal erkundigen, ob es in der Sprache irgendwelche Möglichkeiten zur Soundanalyse und -aufzeichnung gibt (Befehle, Dll's,...) .

Ich hab bereits schon das Forum ein bischen durchsucht, leider aber noch nichts passendes gefunden.
 
Befehle bietet die WinAPI, zumindest was die Soundaufzeichnung und Wiedergabe angeht. Analyse, hm, mach dich mal über die Fourier-Transformation schlau, das wirst du dir selbst schreiben müssen, aber dazu findest du einiges im Internet (wenn nicht ganze Bibliotheken, die das bereits umsetzen).
 
Danke, jetzt weiß ich schon mal ungefähr, was mich erwartet :-).
Das war genau das, was ich mir anl Antwort erhofft hatte!
 
Was ich gern npch wissen würde:

Ist es mit dem gerade aufgezählten möglich, die Aufzeichnungen, die man macht, live zu verarbeiten oder kann man das ganze nur aufzeichen, speichern und dann erst verarbeiten?
 
Also es dürfte auch möglich sein das On-the-Fly zu verarbeiten, in dem du die Daten die du erhälst sofort analysierst und veränderst, wird aber sich rechenintensiv. Ein Programmstruktur musst du dir da aber gründlich überlegen. Zum einen könnte man es über einen Extrathread laufen lassen, allerdings gibt's dann sicher Synchronisationsschwierigkeiten. Alles in einem Thread könnte dazu führen, dass du Aufzeichnungsprobleme bekommst, weil sich dein Programm vielleicht zu lange in der Analyse aufhält. Die gängige Methode ist wohl, das ganze erst aufzuzeichnen und dann zu verändern, bzw. bei der Wiedergabe On-the-Fly anzupassen (Daten original in Puffer laden, Analysieren und Verändern, spielen, so macht's Winamp bspw.).
 
Die "großen" Programme nutzen dafür aber spezielle latenzarme Treiber. Ausserdem müsstest du dann den Sound via z.B. DirectX API direkt von der Soundkarte abgreifen. Ich glaube die WinAPI ist dazu zu unflexibel.
 
Danke!

Ich hab mal eure Tips beherzigt und noch etwas recherchiert, und bin dabei auf das hier gestoßen.

Es erklärt, wie man direkt den Sound von der Karte abgreift, per FFT auswertet und grafisch darstellt (oder besser gesagt, gibt gute Denkansätze). Zusätzlich gibts noch den kompletten C++ Sourcecode hier hier herunterlasen.

Das sieht in meinen Augen ziemlich vielversprechend aus, oder was würdet ihr sagen?
 

Neue Beiträge

Zurück