Soundkarten ansteuern



  • Hallo NGler,

    ich möchte in C++ ein Programm schreiben das von einer Soundkarte (z.B. über Mikrophon) ein Sprachsignal aufnehmen und dieses Signal zeitgleich wieder über die andere Soundkarte wieder ausgeben kann.

    Bisher habe ich mich mit den Funktionen waveInOpen, waveOutOpen etc. herumgeschlagen aber leider ohne nennenswerte Ergebnisse zu erzielen.
    Bin ich damit auf dem richtigen Weg?

    Vielleicht kann mir jemand von Euch ein wenig auf die Sprünge helfen oder hat sogar ein ähnliches Proggie geschrieben das ich mir mal ansehen kann.

    Danke schon im Voraus



  • Probiers mal mit diesem Link:
    http://www.experts-exchange.com/Programming/Programming_Languages/Cplusplus/Q_10305110.html

    Aber so richtig helfen kann ich Dir nicht.



  • hat ja auch nix mit std c++ zu tun, da std c++ nicht wirklich irgendwelche devices kennt. geh in das deiner plattform entsprechende forum, also z.b. ins winapi forum, wenn du unter win arbeitest

    cu todo



  • FAQ Sonstiges: Wohin mit meiner Frage?

    [ Dieser Beitrag wurde am 27.02.2003 um 17:15 Uhr von nman editiert. ]



  • Thread verschoben ins WinApi Forum. WinAPI



  • Eigentlich sollte das damit schon gehen! Was für (nicht nennenswerte) Ergebnisse hast du denn schon erzielt?
    Ein bisschen Code wär auch net schlecht 😉

    @Tetabyte: Bitte keine Cross-Postings! Du wirst schon verschoben, falls du mal falsch bist 😉

    [ Dieser Beitrag wurde am 27.02.2003 um 23:10 Uhr von flenders editiert. ]



  • "...ich möchte in C++ ein Programm schreiben das von einer Soundkarte (z.B. über Mikrophon) ein Sprachsignal aufnehmen und dieses Signal zeitgleich wieder über die andere Soundkarte wieder ausgeben kann..."

    Geht nicht, ein Delay zwischen Aufnehmen und Ausgeben ist
    1. programmtechnisch bedingt (Länge und Anzahl der Input- und Output-Buffer),
    2. auf Grund der Zwischenspeicherung der Ausgabe-Daten im Output-Device (keine Ahnung, warum nur dort), und
    3. wegen des nicht echtzeitfähigen OS (Windows) nicht konstant und bestimmbar.
    Und außerdem mit ca. 300 ms zu groß.

    Die kleinst-möglichen Verzögerungszeiten werden kurioserweise nicht von Soundkarten, sondern von Mainboards mit integriertem Chipsatz erbracht. Mit ca. 30 bis 40 ms (unabhängig vom Prozessortakt) ist diese Verzögerung aber immer noch deutlich hörbar.
    Wenn Du einen eigenen Treiber für den Chipsatz oder die Soundkarte schreibst, sollte es aber möglich sein, das Delay auf unter 5 ms zu drücken.

    NoSound<



  • Kleiner Nachtrag:
    Mit DirectSound ist zumindest die Ausgabe schneller.

    NoSound<



  • Original erstellt von <NoSound>:
    Wenn Du einen eigenen Treiber für den Chipsatz oder die Soundkarte schreibst, sollte es aber möglich sein, das Delay auf unter 5 ms zu drücken.

    Hehe, mach mal! 😃


Anmelden zum Antworten