Grundlagen Audio



  • Hallo zusammen,

    Da ich bei der FW tätig bin will ich ein Programm schreiben um sogenannte 5-Tonfolgen auszuwerten! Genau Infos hier http://de.wikipedia.org/wiki/5-Ton-Folge
    Aber ich habe keinerlei Erfahrungen mit zugriff auf Soundkarte oder ähnliches...
    Ich scheitere schon, bei der Auswahl der Soundkarte

    Hab ihr Anregungen oder Beispiele??

    MFG



  • Weiß wenigstens wer wie man die Auswahl des Aufnahmegerätes realisiert?

    Gruß



  • http://msdn.microsoft.com/en-us/library/dd743834(VS.85).aspx

    Mit waveInGetNumDevs() bekommst du raus wieviele Geräte es gibt.
    Mit waveInGetDevCaps() bekommst du raus wie ein bestimmtes Gerät heisst, und was es kann (Frequenzen, Kanäle etc.).
    Mit waveInOpen() holst du dir ein Handle auf das Gerät.

    Dann bereitest du einen Puffer zum Aufnehmen vor mit waveInPrepareHeader(), dann waveInStart() zum Starten der Aufnahme, waveInAddBuffer() um Puffer bereitzustellen in die die Sounddaten aufgenommen werden können, waveInUnprepareHeader() wenn du einen Puffer nichtmehr brauchst etc.

    Beispiele gibt es sicher genügend im Netz, kannst du dir selber suchen. Evtl. mit Google-Codesearch wenn du so nichts findest.



  • Danke für die Tipps!! Sieht sehr gut aus was da beschrieben wird...
    Probiere aber nun schon seit 6 Stunden wenigstens die Soundkarten auszulesen...aber hab da ein problem mit dem DLL import hab noch nie mit DLL gearbeitet...
    Könntest du mir beschreiben wie ich diese auxGetNumDevs Function zum laufen kriege?

    :xmas1: Und schöne Weihnachten wünsch ich allen!! :xmas1:

    Gruß



  • #pragma comment(lib, "Winmm.lib")
    

    !?



  • Nix aux. waveIn.



  • Danke Leute den Anfang hab ich schon geschafft...
    Auswahl eines Aufnahme Gerätes!!
    Aber des mit der Aufnahme(waveInOpen, waveInPrepareHeader, waveInStart) will ich nicht so recht verstehen.

    Gibts da keine einfacheren Lösungen da das ganze ja eher c++ ist und nicht cli?!

    Gruß



  • CodeProject ist immer eine Suche wert:
    http://www.codeproject.com/KB/audio-video/SoundCatcher.aspx

    Ist zwar C#, aber sollte sich auf C++/CLI übertragen lassen.

    Btw.: Ich hab mich auch schon mal an der 5 Tonfolge versucht, bisher aber mit eher bescheidenem Erfolg. Würd' mich interessieren, welchen Ansatz du verfolgst.
    Was ich gemacht hab:

    1. FFT Transformation (eine FFT Klasse ist bei obigem Link mit dabei) und prüfen, welche Frequenzen vorkommen
      Ergebnis: Erkennungsrate war mehr schlecht als recht, evtl. müsste man aber mit der Puffergröße und der Samplingrate noch etwas rumspielen...
    2. Samples zwischen Nulldurchgängen im Signal zählen und daraus auf die Frequenz zurückrechnen
      Ergebnis: ähnlich schlecht


  • Ja mein erstes Problem war dass ich noch nie mit Audio anwendungen gearbeitet habe...
    Muss mich da jetzt erst mal reinhängen...des problem seh ich eher in der Zeitauswertung der Schleifen mit den 70ms Pause dazwischen...
    Bei Erfolgen schreib ich 🙂


Anmelden zum Antworten