Seite 1 von 1
Was erwartet ihr von einer Sound-Engine
Verfasst: 14.07.2010, 07:11
von Brainsmith
Ich beschäftige mich seit einiger Zeit mit XAudio2 und schreibe derzeitig meine eigene kleine Sound-Engine. Beim ganzen Design, wie was gemacht wird bin ich mir über viele Sachen noch unsicher.
Zunächst einmal möchte ich herausfiltern, was das Ding am Ende können soll. Auf Effekte werde ich wahrscheinlich verzichten, da ich bisher für mein Projekt keine Anwendung dafür sehe.
Dennoch würde ich gerne wissen, was ihr erwarten würdet, wie das Ding funktioniert:
- Wollt ihr selber festlegen, wieviel Speicher maximal für Sounds allokiert wird?
- Wollt ihr selbst die Anzahl der verfügbaren Voices bestimmen?
- Benutzt ihr Effekte?
- Würdet ihr es auch bevorzugen, alle Sounds am Anfang zu registrieren, um dann mit Indizes zu arbeiten?
Im großen und ganzen geht es darum, was ihr selbst machen wollt oder was die Engine übernehmen soll.
Für Antworten wär ich dankbar.
Fabbo
Re: Was erwartet ihr von einer Sound-Engine
Verfasst: 14.07.2010, 08:21
von Schrompf
Kanäle sind mir wurscht, solange ich es in 3D oder Wunsch-2D kriege. Die interne Verwaltung ist ebenso herzlich schnuppe. Nimm, was auch immer schnelle Performance liefert und die öffentlichen Header frei von Deinen Implementationsdetails hält. Das wird dann üblicherweise ein Array-Index oder ein Handle, was intern ein typedef auf MeineStruktur* ist.
Meine Orientierung ist da primär fmodex - die Lib ist einfach gut. Funktioniert auf allen Systemen, hört sich überall genauso an, kostet praktisch keine Rechenzeit. In Sachen Resourcen hat man die freie Wahl, ob man komplett vorladen und entpacken, laden und live entpacken oder komplett live streamen will. Für ein MP3 oder OGG, wo die Dekromprimierung durchaus anspruchsvoll ist, sähe das so aus:
a) Datei vorab von Platte laden, komplett dekomprimieren, fertigen Sound im Speicher halten. Der Standardweg für kurze, oft benötigte Sounds wie GUI-Geräusche, Waffen, Schritte, wasweißich
b) Datei vorab von Platte laden, aber OnTheFly entpacken. Z.B. Soundtrack von CDROM, wo einmalig vorher geladen wird, um weitere Seektimes zu vermeiden, das Dekomprimieren aber häppchenweise nach Notwendigkeit passiert, weil das Gesamtstück zu groß wäre.
c) Datei nach Bedarf laden und entpacken: Streaming-Musik, z.B. wenn sie von Platte oder aus dem Netz kommt. Standardmethode für Soundtrack oder Sprechertext in PC-Spielen, denke ich.
Re: Was erwartet ihr von einer Sound-Engine
Verfasst: 14.07.2010, 09:48
von TGGC
Meine Prioritaeten neuerdings:
- Timing (ist z.b. bei Fmod ziemlich Schrott)
- Zugriff auf Triggering einzelner Instrumente
Re: Was erwartet ihr von einer Sound-Engine
Verfasst: 14.07.2010, 10:02
von jgl
Oh ja, Streaming aus Netz wäre echt ein tolles Feature!
Re: Was erwartet ihr von einer Sound-Engine
Verfasst: 14.07.2010, 10:23
von Brainsmith
@TGGC
Wär nett, wenn du mir deine beiden Punkte näher erläutern könntest. Was zB meinst du mit Timing genau?
Re: Was erwartet ihr von einer Sound-Engine
Verfasst: 14.07.2010, 11:18
von TGGC
Timing: Ich will von jedem Sound/ Musik erfragen koennen, bei welchem Sample er gerade ist. Bei FMod habe ich da z.b. die Erfahrung gemacht, das der Timer einmal sehr stark springt und zweitens das er manchmal einfach stehen bleibt, obwohl der Sound weiter laeuft.
Trigger: Nimm z.b. das hier:
http://www.youtube.com/watch?v=27CSdR_dwjg Immer wenn auf einem der Percussion Tracks was gespielt wird, triggere ich damit einen Effekt (Verformung der Geometrie oder Aenderung der Beleuchtung)
Re: Was erwartet ihr von einer Sound-Engine
Verfasst: 14.07.2010, 11:42
von Brainsmith
Danke erstmal für die Ideen. Falls noch jemand etwas vermisst, das hier noch nicht aufgeführt wurde, dürft ihr die gerne posten.. bin für jede Idee zu haben.