Mit lpt1 eine 8 bit mono soundkarte

Gast #295961
Lesenswert?

Hallo,
ich wollte fragen ob es möglich ist an dem Druckerport lpt1 einen dac
anzuschließen was ja möglich ist aber dann mit 8 bit über die echte
soundkarte im mono was aufnehmen und über den Druckerport abzuspielen
also ich muss mit c++ irgendwie ein Programm schreiben. Also ist es
überhaupt möglich??
Persönliche Seite #295962
Lesenswert?

Ja, ist es.
Aber nicht unter einem aktuellen Betriebssystem, da da der
erforderliche direkte Hardwarezugriff problematisch ist und -noch
kritischer- das wichtige exakte Timing ("Samplerate") nicht
einzuhalten ist.

Theoretisch kannst Du das ganze auch ohne Programm machen: Einfach 'ne
Binärdatei mit

  copy datei.wav /b lpt1:

ausgeben. Damit das funktioniert, müssen einige Handshakeleitungen auf
den korrekten Pegel gelegt werden - und die "Samplerate" dürfte
ziemlich hoch sein.

(Die .wav-Datei sollte 8-Bit-Mono-Format haben; am Anfang stört
kurzzeitig der Dateiheader)
Gast #295963
Lesenswert?

Früher gab es verschiede Soundkarten am Parallelport, die aber auch
wegen der hohen CPU-Last ausgestorben sind.
Man kann mit harte Echtzeit, z. B. Linux +RTAI, bis zu 400 kHz
Sample-Frequenz stabil erreichen, aber mit einer gewöhnlichen
PCI-Soundkarte kann man besseren Sound ausgeben.

Übrigens hat der Parallelport 12 Ausgänge; man kann mono 12-Bit-Sound
ausgeben.
Gast #295964
Lesenswert?

Aber sicher geht das:
http://www.radiolocman.com/electrical-engineering/circuit-cache.html?di=81

Die beiden Schaltungen hab ich in grauer Vorzeit, vor meiner ersten
Adlib-Soundkarte, im Einsatz gehabt. Jeder gute MOD-Player unter DOS
konnte den Sound über den "Centronics-Port" ausgeben. Für damalige
Zeiten hat das nicht mal schlecht geklungen.
Teste aber erst mal mit der Wiederstandsschaltung. Der Aufbau mit
D/A-Wandler lohnt sich nicht wirklich. Ich habe jedenfalls keinen
Unterschied im Klang feststellen können.

Toni
Persönliche Seite #295967
Lesenswert?

Das Ansprechen des Parallelports ist auch nicht das große Problem; das
bekommt man dank Perversionen wie giveio.sys auch unter ernstgemeinten
Windows-Versionen hin.
Alternativ kann man auch einen besseren Devicetreiber dafür verwenden.

Was aber nicht drin ist (und das dürfte auch unter Linux nicht drin
sein), ist das Umbiegen des Timerinterrupts auf eigenen Code sowie das
Umprogrammieren des Timers.
Ohne das gibt es keine Kontrolle über die Abspielgeschwindigkeit der
Audiodaten.
Gast #295969
Lesenswert?

Unter Linux +RTAI wird ein Timer-Interrupt für die harte Echtzeit
benutzt; anders geht es auch gar nicht. Man hat dann nur das Problem
der schwankenden Interruptlatenzzeit, aber bei 400 kHz ist das nicht
hörbar.
Gast #295970
Lesenswert?

Unter Windows 3.1 und noch Win95 gabs einen Treiber, der konnte mit dem
eingebauten Piepser Über Pulsbreitenmodulation Töne ausgeben, auch
wav-Daten. Hat damals allerdings das Windows meines 386SX mit 33MHz
Takt gewaltig ausgebremst, die Maus ruckelte nur noch über den Schirm.
Besonders ärgerlich war das tönende Intro der t-online-Software, ein
modifizierter Netscape-Browser...
73
Christoph
Gast #295971
Lesenswert?

Ja, das kenne ich auch, aber das hat nicht bei jedem PC funktioniert.
Auf einigen hatte man relativ guten Sound, den man gut zum Musik
abspielen nutzen konnte und auf anderen war nicht viel davon zu
erkennen, weil der Sound mieserabel war.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren