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
Was erwartet ihr von einer Sound-Engine
- Brainsmith
- Establishment
- Beiträge: 109
- Registriert: 04.09.2009, 13:52
- Echter Name: Fabbo
- Schrompf
- Moderator
- Beiträge: 4927
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Was erwartet ihr von einer Sound-Engine
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.
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.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
- TGGC
- Establishment
- Beiträge: 569
- Registriert: 15.05.2009, 18:14
- Benutzertext: Ich _bin_ es.
- Alter Benutzername: TGGC
- Echter Name: Ich _bin_ es.
- Wohnort: Mainz
- Kontaktdaten:
Re: Was erwartet ihr von einer Sound-Engine
Meine Prioritaeten neuerdings:
- Timing (ist z.b. bei Fmod ziemlich Schrott)
- Zugriff auf Triggering einzelner Instrumente
- Timing (ist z.b. bei Fmod ziemlich Schrott)
- Zugriff auf Triggering einzelner Instrumente
Re: Was erwartet ihr von einer Sound-Engine
Oh ja, Streaming aus Netz wäre echt ein tolles Feature!
- Brainsmith
- Establishment
- Beiträge: 109
- Registriert: 04.09.2009, 13:52
- Echter Name: Fabbo
Re: Was erwartet ihr von einer Sound-Engine
@TGGC
Wär nett, wenn du mir deine beiden Punkte näher erläutern könntest. Was zB meinst du mit Timing genau?
Wär nett, wenn du mir deine beiden Punkte näher erläutern könntest. Was zB meinst du mit Timing genau?
- TGGC
- Establishment
- Beiträge: 569
- Registriert: 15.05.2009, 18:14
- Benutzertext: Ich _bin_ es.
- Alter Benutzername: TGGC
- Echter Name: Ich _bin_ es.
- Wohnort: Mainz
- Kontaktdaten:
Re: Was erwartet ihr von einer Sound-Engine
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)
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)
- Brainsmith
- Establishment
- Beiträge: 109
- Registriert: 04.09.2009, 13:52
- Echter Name: Fabbo
Re: Was erwartet ihr von einer Sound-Engine
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.