Forum: PC Hard- und Software Virtual COM-Port als Audio-Device


von Test (Gast)


Lesenswert?

Hey Leute,

ich habe hier ein Board wo ein uC mit einem I²S und einem FT232 drauf 
ist.
Ich möchte hier gerne Audio-Samples vom Board in Richtung PC senden 
(Datenrate wäre hier um die 1.6 mbps bei 48k/16Bit -> also durchaus 
realistisch).

Ich habe jetzt schon einiges gegoogelt aber nichts gefunden.
Gibt es einen Windows Audio-Treiber der die UART Audio-Samples empfängt 
und als eine virtuelle Soundkarte im System einhängt?

Danke

: Verschoben durch Moderator
von W.S. (Gast)


Lesenswert?

Test schrieb:
> Ich habe jetzt schon einiges gegoogelt aber nichts gefunden.

Kein Wunder. Viel Freude beim Schreiben deines eigenen Treibers für den 
PC.

W.S.

von Sebastian R. (sebastian_r569)


Lesenswert?

Test schrieb:
> Gibt es einen Windows Audio-Treiber der die UART Audio-Samples empfängt
> und als eine virtuelle Soundkarte im System einhängt?

Warum genau sollte es das geben?

Da wirst du wohl selber entsprechende Treiber bauen müssen.

von Schlaumaier (Gast)


Lesenswert?

Test schrieb:
> Gibt es einen Windows Audio-Treiber der die UART Audio-Samples empfängt
> und als eine virtuelle Soundkarte im System einhängt?

Falsche Richtung.

1. Eine Soundkarte macht Sound, dafür braucht sie einen Treiber.

2. Für den Empfang von Sound braucht eine Soundkarte KEINEN Treiber. Da 
macht sie ohne weil sie weiß wie die Signale aufbereitet sind.

Du kannst wenn du das Protokoll deiner "Karte" da kennst, diese Daten 
problemlos empfangen. Dann brauchst du nur noch ein Programm was diese 
empfangenen Daten in Audio-Daten umwandelt.

Eine Treiber im herkömmlichen Sinn brauchst du NICHT. !!!! Das erledigt 
die Com-Schnittstelle. Wobei ich aber nicht sicher bin, ob die normale 
COM-Schnittstelle diese Datenmenge verarbeiten kann. Wenn nicht, es gibt 
auch schnellere Schnittstellenkarten für den Com-Port.

Alles in allen ein sehr mutiges Projekt. Und wenn du dafür schon hier 
fragen musst, würde ich dir raten. LASS ES.

von Hmmm (Gast)


Lesenswert?

Virtual Audio Cable installieren und in Deiner Software die Samples in 
die Eingangsseite davon schieben, dann kommst Du ohne eigenen Treiber 
aus.

von Test (Gast)


Lesenswert?

Also ich habe es mittlerweile eingesehen, dass es Quatsch ist.
Ich habe mich jetzt nach einer USB-I²S Lösung umgesehen und warte 
bereits auf das EvalBoard dafür.

von rbx (Gast)


Lesenswert?

Erster Google Treffer:
http://midi.teragonaudio.com/tech/sds.htm

(Suchwort: Sample Dump Standard)

von klaus (Gast)


Lesenswert?

rbx schrieb:
> (Suchwort: Sample Dump Standard)

Das ist aber nur als Übertragung von Samples gedacht, die als 
Klangquelle für Synthesizer dienen. Das ist keine kontinuierliche 
Audio-Übertragung!

von Guido K. (Firma: Code Mercenaries GmbH) (thebug)


Lesenswert?

Das geht schon deshalb nicht weil die Com-Class Bulk Transfer benutzt 
und die Audio-Class Isochronous-Transfer.

Bulk bekommt keine garantierte Bandbreite, ist also nicht 
echtzeittauglich und damit für Audio wertlos.

von FragenFragenFragen (Gast)


Lesenswert?

Ich habe hier für den STM32F103 einen funktionierenden
Audiotreiber. Bislang kommt das "Audio" vom intermem ADC
und ausgangsseitig macht eine PWM die "Wellen".
Dem ARM ist es ja prinzipiell egal ob da Werte vom ADC
eingetütet werden, oder Daten von einer SPI.

Das die Daten ordentlich angeliefert werden müssen
versteht sich wohl von selbst, wenn man keine "Hickser"
hören will.

von Rolf M. (rmagnus)


Lesenswert?

Schlaumaier schrieb:
> Test schrieb:
>> Gibt es einen Windows Audio-Treiber der die UART Audio-Samples empfängt
>> und als eine virtuelle Soundkarte im System einhängt?
>
> Falsche Richtung.
>
> 1. Eine Soundkarte macht Sound, dafür braucht sie einen Treiber.
>
> 2. Für den Empfang von Sound braucht eine Soundkarte KEINEN Treiber. Da
> macht sie ohne weil sie weiß wie die Signale aufbereitet sind.

Oh Mann… der Schlaumeier wieder. Eine Soundkarte braucht einen Treiber, 
damit der Rechner mit ihr reden kann. Es macht dabei absolut keinen 
Unterschied, ob man Sound ausgeben oder aufnehmen will.

> Du kannst wenn du das Protokoll deiner "Karte" da kennst, diese Daten
> problemlos empfangen. Dann brauchst du nur noch ein Programm was diese
> empfangenen Daten in Audio-Daten umwandelt.

Das kann man natürlich machen. Dann ist es allerdings nicht als 
Soundkarte im System eingebunden, sondern nur als UART. Das bedeutet, 
dass dann nur dieses eine Programm damit umgehen kann und nicht alle, 
die Sound entgegennehmen können.
Es war aber ausdrücklich gefordert, dass das Gerät sich als Soundkarte 
ansprechen lässt.

> Eine Treiber im herkömmlichen Sinn brauchst du NICHT. !!!! Das erledigt
> die Com-Schnittstelle. Wobei ich aber nicht sicher bin, ob die normale
> COM-Schnittstelle diese Datenmenge verarbeiten kann. Wenn nicht, es gibt
> auch schnellere Schnittstellenkarten für den Com-Port.

Du hast aber gesehen, dass er von einem "virtual COM-Port" mit 1,6 
MBit/s gesprochen hat?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.