16-Bit-Sound unter DOS: Nützlich oder überflüssig?

Auswahl, Einrichtung und Betrieb von Rechnern und Komponenten
elianda
DOS-Übermensch
Beiträge: 1150
Registriert: Mi 31. Jan 2007, 19:04
Wohnort: Halle
Kontaktdaten:

Re: 16-Bit-Sound unter DOS: Nützlich oder überflüssig?

Beitrag von elianda »

DOSferatu hat geschrieben:Weil es in diesem Thread unter anderem auch um das direkte Auslesen von CDs ging und gesagt wurde, daß dies unter DOS nicht möglich ist:
Ein Kumpel hat mir irgendwann (JAHRE her) gesagt, daß es mit manchen CD Laufwerken geht und mit manchen nicht. Das wäre wohl irgendso ein spezieller Modus. Und er hatte damals wohl ein Programm, mit dem das unter DOS ging, allerdings nur, wenn das CD Laufwerk an SCSI angeschlossen ist, weil das Programm nur SCSI unterstützt hat.
Ich kann den ja nochmal nach genaueren Dingen fragen, falls Interesse.
Klar ist das unter DOS moeglich. Das Laufwerk muss den Transfer der Rohdaten nur per Firmware koennen. Das Laufwerk muss dazu nicht zwangsweise SCSI sein.
Vor MP3 war das jedoch nicht soo sinnvoll, weil man sich die Platte mit riesigen WAV Dateien vollgepackt hat.
Diverse Retro-Computer vorhanden.
wobo
DOS-Guru
Beiträge: 614
Registriert: So 17. Okt 2010, 14:40

Re: 16-Bit-Sound unter DOS: Nützlich oder überflüssig?

Beitrag von wobo »

a) 16-bit-Sound unter Dos:
Wie DosFeratu schon geschrieben hat, verwendet Doom 8-bit/11 khz Samples, was auch für die Ableger Heretic, Hexen und Strife gilt. Auch alle übrigen Dos-Spiele, die ich kenne (1988-1996) verwenden 8-bit-Samples, die alle max. 22 khz aufweisen. Traffic Departement verwendet sogar nur 4-bit-packed-Samples (4 khz!); Apogee Jump 'n Runs verwenden 8-bit (i.d.R. 11 khz) usw.

Ich kann mir auch nicht vorstellen, dass es Dos-Spiele gibt, die eine 16-bit-Soundkarte verlangen. Schließlich wurden SB 2.0 - kompatible Karten bis 1993/1994 locker verkauft. Die erhältlichen SB-Clones waren alle allenfalls SB Pro kompatibel. Ich kann mir bei dieser Marktlage nicht vorstellen, dass es Spiele mit 16-bit-Samples gab....


b) SB PRO
Ich kann mich daher nur Maulwurf1977 anschließen: Für Dos-Spiele genügt (anfangs) auf alle Fälle eine SB Pro/kompatible. Sie kann stereo (was für 2.5D-Shooter/3D gut ist), sie rauscht nicht (auch meine SB-Pro - Kompatiblen rauschen nicht, im Gegensatz zu meinen zwei 16bit-PCI-Soundkarten!), und sie ist wohl ziemlich bug-frei. Jedenfalls bei eigenen Programmierversuchen mit SB-Pro-Karten oder bei Spielen hatte ich nie irgendwelche Probleme, noch habe ich von Dritten von irgendwelchen Bugs der SB Pro gehört. Im Gegensatz übrigens zu den SB 1.0, 1.5, 2.0 und eben der SB 16 (8-bit-Stereo-bug).

Und auch mit dem OPL3 auf der SB Pro ist man m.E. bestens bestückt.

Die SB Pro scheint eine wirklich ausgereifte 8-bit-Soundkarte zu sein. Ich persönlich bin mit der SB Pro (unter Dos) bisher immer so zufrieden gewesen, dass ich (unter Dos) niemals eine andere Karte eingesetzt habe.

Dies gilt m.E. jedenfalls im Vergleich zur SB-16 (Roland, Gus etc. sind ja nicht Thema dieses Threads).


c) MOD-Player bzw- Echtzeit-Soundengine
Was anderes ist natürlich, wenn man unter DOS mp3 oder wenigstens mod/s3m/xm etc. Files abspielen will (was auch einige Games anstelle von FM-Musik tun).

Hier sollte man meinen, dass dann eine SB-16 eine erhebliche bessere Musikqualität gewährleisten sollte, wenn die PLayer-Software die SB-16 unterstützt.
Zwar sind die in MOD- und S3M-Files enthaltenen Instrumente alle mit 8-bit gesampelt (bei xm defacto meistens auch, obwohl xm als Format auch 16bit-Samples zuläßt). Beim Software-Vermischen der abzuspielenden Instrumente sind Qualitätsverluste eigentlich zwangsläufig. Vermische ich per CPU z.B. ein 4-channel-MOD, dann addiere ich die Sampledaten einfach. Da die Sampledaten einen Bereich von 8-bit (0..255) haben, werden meine durch Addition gemischten Sampledaten einen 10-bit-Bereich (0..1020) ausmachen. 10-bit kann die SB/SB Pro aber nicht ausgeben. Deswegen muss ich meine gemischten Sampledaten wieder durch die Anzahl der Stimmen (hier also 4) teilen, damit ich den Ausgabebereich wieder auf 8-bit zurückführe. Effektiv geht daher jedes meiner 4 Samples/Instrumente nur mit 6-bit-Auflösung in den Gesamtsound ein.

Habe ich nun einen 12-bit DAC (12-bit langen vollkommen!), kann ich mir das Zurückführen meines Gesamtausgabesounds auf die 8-bit sparen, d.h. ich kann die 8-Bit-Samples in voller Auflösung auch wieder ausgeben. Mit einem 12-bit-Stereo-DAC kann ich also ein 32-Channel-Mod (16 Channel links und 16 rechts) insoweit verlustfrei abspielen.

Das ist zwar alles nur Theorie (mein Mod-Player vermixt nur 4-Channels+1 Sfx und rauscht furchtbar und ist auch sonst die Katastrophe), es sollte aber genauso für eine Soundeffekte-Engine gelten, die mehrere Soundeffekte in Echtzeit vermischt. Auch wenn hier die Samples lediglich in 8-bit vorliegen, sollte der Vermischungsverlust eben bei einer 12-bit- Karte nicht auftreten, wenn diese 12-bit auch genutzt werden.

In der Theorie sollte also eine SB-16 mit 12-bit erhebliche bessere Soundeffekte hervorbringen, wenn sie wie z.B. Doom in Echtzeit vermixt (Lucas-Arts-Adventure haben m.W. keine Echtzeit-Vermischung, sondern spielen immer nur einen einzigen Soundeffekt ab. Da bringen dann 12-bit nix.). In der Praxis glaube ich aber eher nicht, dass die Spielehersteller die Soundengines derart aufwendig auf die SB-16 optimiert haben.

Außerdem glaube ich auch nicht, dass ich persönlich während eines Games den Unterschied hören würde, ob 8-Bit-Soundeffekte (Explosionen, Schüsse, Schritte, Maschinengeräusche etc.) zu einem 8-Bit-Gesamtsound oder zu einem 12-Bit-Gesamtsound vermixt werden. Allenfalls bei MOD/S3M etc. Files könnte dies anders sein. Aber auch das ist nur Theorie, weil ich - wie gesagt - nur SB/SB Pro verwende.

Ich bleibe also dabei, dass die SB PRO für Dos-Spiele gegenüber der SB 16 vorzugswürdig, weil vollkommen ausreichend und stabil, ist.

wobo
elianda
DOS-Übermensch
Beiträge: 1150
Registriert: Mi 31. Jan 2007, 19:04
Wohnort: Halle
Kontaktdaten:

Re: 16-Bit-Sound unter DOS: Nützlich oder überflüssig?

Beitrag von elianda »

Deine Theorie bei Trackerfiles gilt nur, wenn man die Rohsamples und die Ausgabesamples mit derselben Frequenz vorliegen hat bzw. abspielt. Sobald man jedoch wie oft üblich z.B: 8 kHz oder 11 kHz Rohsamples hat, man aber mit 44.1 kHz abspielt geht die einfache Rechnung mit (c1+c2+c3+c4)/4 nicht mehr auf, da man resamplen muss. Das gilt auch sofort, sobald man das Instrumentensample nicht mit der Default Note C-1 abspielt.
Durch die dazu notwendige Interpolation (welcher Art auch immer) spielt die Bitgenauigkeit des Zieldatenstroms eine Rolle.
Diverse Retro-Computer vorhanden.
wobo
DOS-Guru
Beiträge: 614
Registriert: So 17. Okt 2010, 14:40

Re: 16-Bit-Sound unter DOS: Nützlich oder überflüssig?

Beitrag von wobo »

elianda hat geschrieben:Deine Theorie bei Trackerfiles gilt nur, wenn man die Rohsamples und die Ausgabesamples mit derselben Frequenz vorliegen hat bzw. abspielt. Sobald man jedoch wie oft üblich z.B: 8 kHz oder 11 kHz Rohsamples hat, man aber mit 44.1 kHz abspielt geht die einfache Rechnung mit (c1+c2+c3+c4)/4 nicht mehr auf, da man resamplen muss. Das gilt auch sofort, sobald man das Instrumentensample nicht mit der Default Note C-1 abspielt.
Dass das stark vereinfacht von mir war, ist mir klar.

Hinsichtlich einer Soundeffekte-"Engine" ging ich allerdings davon aus, dass das Resampling (Du meinst damit, die Konvertierung eines z.B. 8 kHz-Samples auf eine Frequenz von z.B. 11 kHz?) beim Laden des Soundeffekts durchgeführt wird. Zumindest würde ich es so machen - wenn ausreichend RAM vorhanden ist - , da die Ausgabefrequenz zu diesem Zeitpunkt (Ausführung des Programms) bekannt ist. Dann müsste ich im Rahmen der Echtzeit-Soundausgabe meine alle auf die Ausgabefrequenz konvertierten Samples doch tatsächlich nur addieren - und dann wieder dividieren. Den durch die Division entstehenden Qualitätsverlust (und nur diesen!) müßte ich also durch die Verwendung eines besseren DACs verhindern können...

Dass das Ganze für einen Mod-Player oder besseres nicht mehr unverändert gilt, ist mir schon klar. Da ich dort ständig andere Tonhöhen habe und ggf. noch Tonhöhen-relevante Effekte wie Vibrato etc., muss ich meine Samples auch ständig in Echtzeit resamplen.

Aber auch in diesem Fall gilt m.E., dass ich den durch Division entstehenden Qualitätsverlust (und nur diesen) - der allein schon deswegen entsteht, weil ich die resampleten Stimmen und/oder Soundeffekte auf einen (oder, bei stereo, zwei) Ausgabekanäle reduzieren muss - verhindern kann, wenn der DAC mehr als 8-bit hat. Nur um diesen Qualtitätsverlust ging es mir.

elianda hat geschrieben: Durch die dazu notwendige Interpolation (welcher Art auch immer) spielt die Bitgenauigkeit des Zieldatenstroms eine Rolle.
Weißt Du dazu mehr? Ich würde dann gerne einen Thread unter Programmierung aufmachen, wenn ich meine Fragen dazu ein wenig katalogisiert habe.

Was versteht man unter Bitgenauigkeit des Zieldatenstroms?

(Mein Mod-"Player" - der enorme Unzulänglichkeiten hat und den Namen Player eigentlich nicht verdient - vermixt 4 Stimmen, indem er pro Stimme das Instrumentensample auf die im Mod-Song angegebene Tonhöhe unter Berücksichtigung der Ausgabefrequenz konvertiert (einfaches Resampling) und dann eben - wie oben beschrieben - die vier Stimmen auf den Ausgabekanal reduziert. Das Resampling ist dabei eine einfache Streckung/Stauchung des Rohsamples auf die Frequenz, die ich als Zielfrequenz eben aus der Tonhöhe unter Berücksichtigung der Ausgabefrequenz errechnet hatte. Klappt auf meinem 386sx16 gerade noch mit 16 KHZ, 8-bit, mono.

Eine Interpolation findet bei mir nicht statt. Wenn ich jetzt die Soundausgabe meines PLayers mit z.B. Inertia-Player 1.22 vergleiche, habe ich subjektiv das Gefühl, die Ausgabe von Inertia-Player ist mind. doppelt so gut. (Anm.: mein Mod-Player unterstützt noch kein Finetuning und auch nicht alle Effekte; der Qualitätsunterschied ist in diesem Fall unendlich!). Ich hoffe derzeit, dass mir eine lineare Interpolation zur Verbesserung der Soundqualität helfen könnte....)

wobo
Benutzeravatar
Doctor Creep
DOS-Guru
Beiträge: 972
Registriert: Di 27. Jan 2009, 19:33

Re: 16-Bit-Sound unter DOS: Nützlich oder überflüssig?

Beitrag von Doctor Creep »

Wenn ich mich recht entsinne klingt die SB16 bei Tracker-Songs *wesentlich* besser als zumindest die SB 2.0. Und auch z.B. bei einer Flugsim klangen die FX deutlich besser (muss den Titel endlich mal raussuchen).

Doc
wobo
DOS-Guru
Beiträge: 614
Registriert: So 17. Okt 2010, 14:40

Re: 16-Bit-Sound unter DOS: Nützlich oder überflüssig?

Beitrag von wobo »

Doctor Creep hat geschrieben:Wenn ich mich recht entsinne klingt die SB16 bei Tracker-Songs *wesentlich* besser als zumindest die SB 2.0. Und auch z.B. bei einer Flugsim klangen die FX deutlich besser (muss den Titel endlich mal raussuchen).

Doc
Das stützt eigentlich meine Theorie. Wenn man auf einer SB-16 einen Stereo-Mode haben will, muss man sie so oder so im SB-16-Mode programmieren. Dann drängt es sich eigentlich auf - wenn man mehrere SFX oder MusicChannels vermixen will - auch bei 8-bit-Samples den 16-/12-bit DAC zu nutzen. Weil eben der durch das bloße Vermixen entstehende Qualitätsverlust verhindert werden kann. Dass andere Ursachen für einen Qualitätsverlust (Frequenzänderung, Effekte wie Hall, Echo etc.) dadurch nicht verhindert werden, versteht sich eigentlich von selbst: Diese sind nicht unmittelbare Folge einer hardwaremäßigen 8-Bit-Ausgabe, sondern Folge der Samplemanipulation an sich.


wobo
Benutzeravatar
schlang
DOS-Guru
Beiträge: 503
Registriert: Di 23. Dez 2008, 04:56
Wohnort: Medellin

Re: 16-Bit-Sound unter DOS: Nützlich oder überflüssig?

Beitrag von schlang »

CptKlotz hat geschrieben:Ich glaube, Du meinst etwas anderes als ich... Der Mixer, den Du meinst, ist der, der die verschiedenen Soundquellen der Karte mischt (also Soundblaster digital, OPL3, Line-In, CDROM usw.).
ich glaube die GUS ist die einzige die einen hardwareseitigen mixer hat oder?
PC#1: K6-III+ 400 | 512MB | Geforce4 | Voodoo1 | SB Live | AWE64 | GUS PNP Pro
PC#2: 486DX2-66 | 64MB | Riva128 | AWE64 | GUS PNP | PAS16
PC#3: 386DX-40 | 32MB | CL-GD5434 | SB Pro | GUS MAX | PAS16
MIDI: MT-32 | SC-55 | Mu-50
Benutzeravatar
CptKlotz
Admin a.D.
Beiträge: 2947
Registriert: Mo 7. Mär 2005, 23:36
Wohnort: Dorsten
Kontaktdaten:

Re: 16-Bit-Sound unter DOS: Nützlich oder überflüssig?

Beitrag von CptKlotz »

Die GUS kann mehrere Digital-Kanäle in Hardware mischen und interpolieren und befreit somit die CPU von dieser Aufgabe, wenn das Spiel die GUS entsprechend benutzt.


Der Mixer bei anderen Soundkarten ist normalerweise eher ein eingebautes "Mischpult", in dem man eben bestimmt, wie laut die Quellen wie OPL3, digitale Samples, CD-Audio, General MIDI, Line-In usw. auf den Audio-Ausgang gegeben werden.
“It is impossible to defeat an ignorant man in argument.” (William G. McAdoo)
tom4DOS
BIOS-Flasher
Beiträge: 390
Registriert: Do 24. Feb 2011, 17:20
Wohnort: München

Re: 16-Bit-Sound unter DOS: Nützlich oder überflüssig?

Beitrag von tom4DOS »

ich glaube die GUS ist die einzige die einen hardwareseitigen mixer hat oder?
Eigentlich müsste jede Soundkarte, die Wavetable-Synthese bietet, auch Hardware-Mixing, also das digitale Zusammenfügen mehrerer Samples oder PCM-Daten, beherrschen. Irgendwann müssen ja die Instrumente zum Ausgangssignal zusammengemischt werden...
Die Frage ist nur, ob einem das irgendwie nützt: Falls die Instrumentensamples nur aus einem ROM gelesen werden, kann man dem Synth-Chip keine eigenen Daten unterjubeln. Also werden wohl nur (ISA-)Karten mit RAM überhaupt dazu in der Lage sein, mehrere PCM-Datenströme gleichzeitig wiederzugeben. Die GUS-Chips GF1 und Interwave können das, der SAM9407 (z.B. auf den EWS64-Karten) kann das auch. Beim EMU8000 bin ich mir gerade nicht sicher, ob man den auch mit etwas anderem füttern kann als Instrumentensamples. Zumindest gibt (gab) es wohl auch MOD-Player, die den EMU-Chip als Synth angesprochen haben.
Alle anderen Karten, die Hardwaremixing können, sind, glaube ich, alles PCI-Karten (EMU10k, Vortex 1&2, X-Fi,...).
Benutzeravatar
CptKlotz
Admin a.D.
Beiträge: 2947
Registriert: Mo 7. Mär 2005, 23:36
Wohnort: Dorsten
Kontaktdaten:

Re: 16-Bit-Sound unter DOS: Nützlich oder überflüssig?

Beitrag von CptKlotz »

Ich meine, daß der EMU8K so ein bißchen Creatives Antwort auf die GUS war und auch ähnliche Funktionen hat.

In der Praxis wurde er von Spielen wohl meist als GM-Synthi benutzt, wahrscheinlich, weil es einfacher war, den vorhandenen GM-Soundtrack auf der AWE abzuspielen.

Spiele, die wirklich nativ für die GUS optimiert sind, gibt's ja auch nicht so viele und oft sind es welche, die entweder vom Amiga oder aus der Demoszene kommen (z.B. Pinball Dreams) oder solche, die aus dem Shareware-Bereich kommen (Epic, Apogee).
“It is impossible to defeat an ignorant man in argument.” (William G. McAdoo)
Antworten