www.mikrocontroller.net

Forum: PC Hard- und Software Programmierung der PC Soundkarte


Autor: Stephan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Betriebssystem?

Autor: Stephan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

Autor: Christoph Kessler (db1uq) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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-Ulri...

und ein Programm mit Erweiterungsschnittstelle oder so ähnlich. auch für 
Soundkarte:
http://www.qsl.net/dl4yhf/speclab/index.htm

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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)

Autor: Stephan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

Autor: Gast2 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
SDL vielleicht

Ansonsten bietet sich je nach Anwendung vielleicht Octave oder Scilab 
an...

Autor: SiO2 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 ;) ).

Autor: Andreas Weschenfelder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Delphi + TAudio

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.