Programmierung der PC Soundkarte

Gast #478302
Hallo,
ich habe schon ne ganze Weile überall gesucht und bin nicht so richtig 
fündig geworden. Also was ich möchte ist, eine im PC eingebaute 
Soundkarte anzusteuern. Am ehesten in einem C Programm. Natürlich gibt 
es in fast jeder Programmiersprache Pakete, um z.B. Wave Dateien 
abzuspielen. Aber das ist nicht das was ich will. Die Abarbeitung soll 
quasi in Echtzeit laufen. So wie man dieses von einem Mikrocontroller 
kommst. Man bekommt alle x Samples automatisch einen Funktionsaufruf, 
der es gestattet, neue Daten an die Soundkarte zu übergeben.
Ich hoffe ich konnte man Bedürfnis klar machen. Hat jemand eine Lösung 
dafür? Vielen Dank...
Gast #478756
ich wollte so lange wie möglich unabhängig bleiben. Wenn es eine Lösung 
für Windows oder Linux gibt, reicht mir das. Ich bin in diesem Falle 
sehr flexibel, da auf dem entsprechenden Rechner beiden gut läuft. Daher 
würde ich die Möglichkeiten durch Festlegung auf ein bestimmtes 
Betriebsystem nicht einschränken wollen.
Vielen Dank...
Gast #478764
Es gibt ein Buch mit Begleit-CD mit einer Studentenversion der Software 
DASYLab (Version 7), die die Soundkarte und die serielle Schnittstelle
mit grafischer Programmierung ähnlich Labview ansteuert:
http://www.amazon.de/Signale-Prozesse-Systeme-Ulrich-Karrenberg/dp/3540241787/sr=8-6/qid=1169111026/ref=sr_1_6/303-1342481-6991418?ie=UTF8&s=books

und ein Programm mit Erweiterungsschnittstelle oder so ähnlich. auch für 
Soundkarte:
http://www.qsl.net/dl4yhf/speclab/index.htm
Persönliche Seite #478778
Unter Windows ist das kein besonderes Problem; die Multimediafunktionen 
eignen sich dafür ganz gut. Und funktionieren daher mit jeder beliebigen 
Soundkarte (so sie denn Waveform-Audio wiedergeben kann).

waveOutOpen öffnet ein Waveform-Audio-Device (sprich: Deine Soundkarte)

Mit dem letzten Parameter kann spezifiziert werden, wie die 
Datenübergabe stattfindet - CALLBACK_EVENT signalisiert ein Event, wenn 
neue Daten benötigt werden. Auf dieses Event kannst Du in einem Thread 
warten und dann per waveOutWrite einen Block mit Daten absetzen.

Mit waveOutPrepareHeader bereitest Du Daten für das gewünschte Format 
vor; das ist vor dem Schreiben mit waveOutWrite erforderlich.


(Alle genannten Funktionen gehören zur Win32-API und sind in mmsystem.h 
deklariert)
Gast #478840
das klingt nicht schlecht. Werde mir das mal anschauen. Gibt es eine 
Möglichkeit, es universell zu getalten? So dass es bei Bedarf portierbar 
ist? Ich denke da an irgendeine Header oder sowas. Habe da nicht so viel 
Anhnung, ihr merkt das sicherlich schon...
Gast #484070
Kann man unter Linux ne Wave nicht direkt an die soundkarte schicken? 
Wenn ja, brauchst du nur das device zu öffnen und die wave reinschreiben 
(alles ist eine datei ;) ).
Gast #484243
Delphi + TAudio

- puffer für eingang und ausgang (zahl einstellbar)
- Interrupt bei Leerlauf (Ausgangspuffer)/Volllaufen (Eingangspuffer)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.