PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sound-Ausgabe in Fahrsimulatoren


joeb
2008-10-01, 23:38:07
Hallo,

wir haben hier ein Forum, das sich auf (3D-)Graphik spezialisiert hat,
vieleicht kann mir aber trotzdem einer Tipps zu meinem Sound-Problem
geben.

Ich möchte einen Fahrsimulator um Soundausgabe erweitern. von
mehreren Simulatoren (z.B. GTR1/2..) vermute ich, dass 3 Sounds
(wenig/mittel/viel Gas) gesampelt und dann in der Simulation je nach
Gas entsprechend gemixt und ausgegeben werden. Im Programmieren
unter Direct3D bin ich eigentlich fit genug, ich suche mehr ein
allgemeines Vorgehen, ob z.B. meine Vermutung richtig und sinnvoll
ist.

Gruss und schon mal vielen Dank

Joeb

Monger
2008-10-01, 23:48:46
So viel ich darüber weiß, macht man das üblicherweise so dass man z.B. in DirectSound mehrere Sound-Loops (also im Prinzip Tonspuren) im Hintergrund lädt, und dann schlicht die Lautstärke für jede Tonspur reguliert.

Zumindest damals war die Erklärung, dass ein abspielen einer einzelnen Sounddatei immer mit einer gewissen Verzögerung verbunden ist. Insbesondere bei Geräuschen wo eine Verzögerung von Sekundenbruchteilen bereits negativ auffallen würde, lädt man diese lieber stillschweigend im Hintergrund, und blendet dann geschickt zwischen verschiedenen Spuren hin und her.

Ob diese Trickserei immer noch notwendig ist, weiß ich nicht. Für z.B. XNA sollte es auch recht gute Tutorials dafür geben.

Avalox/Gast
2008-10-02, 09:25:04
mehreren Simulatoren (z.B. GTR1/2..) vermute ich, dass 3 Sounds
(wenig/mittel/viel Gas) gesampelt und dann in der Simulation je nach
Gas entsprechend gemixt und ausgegeben werden.

Du benötigtst einen schönen Loop eines Motorsounds, welcher so gestalltet ist, dass man kein klicken am Ende/Neuanfang hört.
Dieser Sound wird in der Tonhöhe je von der Drehzahl abängig geändert.
Dieses wird über die Anpassung der Samplerate realisiert. Da das Sample je nach Samplerate unterschiedlich lang gespielt wird, wird sich irgendwann ein Verhältnis einstellen in dem der Ton nicht mehr realistisch klingt. Ab diesen Drehzahlbereich wird ein neuer nativer Sampleloop benötigt.
Es ist eine Tüftellei dort eine entsprechende Samplebank zu erstellen. Da aber Motorsound ein sehr gebrächliches Thema ist, wird es sehr viele fertige Quellen dafür geben. Muss man mal im Inet Samplebänke suchen.
Richtig gut wird es wenn man diese Samples mit weiteren Sounds des Motors mixt. Z.B. ob er unter Last steht, die Drehzahl zu niedrig ist usw.

Eine Anleitung zu XACT ist hier zu finden http://msdn.microsoft.com/en-us/library/bb174772.aspx

Aber vielleicht findest du ja auch OpenAL eingänglicher.
http://www.devmaster.net/articles.php?catID=6

joeb
2008-10-03, 17:23:48
Ich bin Heute endlich mal dazu gekommen, verschiedene Ansätze
durchzuprobieren. Das Grundgerüst in DSound zu schreiben war kein
Problem. Ich habe einfach mal drei Tonspuren mit unterschiedlichen
Soundsamples (Gas Niedrig/Mittel/Hoch) endlos laufen lassen und je
nach Drehzahl per Volumeeinstellung entsprechend zusammengemixt.
Für das Motorstarten oder zusätzliche Knatter-,Eischlag,..-Geräusche
können noch zusätzliche Soundspuren aktiviert werden.

Beim Sampeln von Sounddaten hat man wohl das selbe Problem wie
bei periodischen Texturen, sollte aber nicht allzu schwer zu lösen sein.

Gruss und Danke

Joeb