Plattformübergreifende Audio-API-Vorschläge

20

Ich bin gerade dabei, meinem Spiel Sound hinzuzufügen. Ich habe OpenAL und SDL gesehen, aber ich würde gerne wissen, was es sonst noch gibt. Kannst du gute plattformübergreifende Audio-APIs für die Spieleentwicklung empfehlen?

Hall
quelle
1
"gut" ist subjektiv. Es wäre hilfreich, wenn Sie einige spezielle Anforderungen hätten, damit die Antworten ein bisschen mehr auf Ihre speziellen Bedürfnisse zugeschnitten sind.
Tetrad,

Antworten:

13

Stack Overflow-Frage: "Plattformübergreifende Sound-API für Spiele?"

Ich stimme der akzeptierten Antwort zu:

Ich bin ein großer Fan von SFML Library. Es bietet zusätzliche Grafik- und Netzwerkfunktionen, aber was für diese Frage relevant ist, ist, dass es auch ein ordentliches Audiopaket hat.

Audiofunktionen sind:

  • Verwendet nach Möglichkeit Hardwarebeschleunigung
  • Kann Standardtonformate laden und speichern: ogg, wav, flac, aiff, au, roh, paf, svx, nist, voc, ircam, w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k , rf64
  • Kann alle Audio-Ressourcen direkt aus Dateien im Speicher laden
  • 3D Sound Spacialization
  • Einfache Schnittstelle für die Aufnahme von Audio
  • Verwaltet den Speicher effizient, sodass Sie sich keine Gedanken über die Lebensdauer oder den Speicher der Ressourcen machen müssen
  • Unterstützt Streaming für große Dateien; Sie können sogar Ihre eigene Streaming-Klasse für jede Quelle (Netzwerk, ...) schreiben.
  • Unterstützt Mehrkanalformate (Mono, Stereo, 4.0, 5.1, 6.1, 7.1)

Website: http://www.sfml-dev.org/

Ricket
quelle
Vielen Dank für Ihre Rückmeldung. Ich habe in der Spieleentwicklung nach bestehenden Fragen dieser Art gesucht, aber nicht nach Stack Overflow.
Hall
Anscheinend können Sie nicht wählen, ob Sie mit einem Verweis auf einen Beitrag auf einer anderen SE-Site schließen möchten. Die Genehmigung dieser Antwort ist daher wahrscheinlich das bestmögliche Ergebnis für die Frage.
3
Und trotzdem muss es nicht unbedingt geschlossen sein. Einige Leute könnten zum Beispiel Tetrads Wahl von FMOD unterstützen, was in der SO-Frage nicht erwähnt wurde. Ich habe die Frage nur gestellt, um darauf aufzubauen und nicht um vorzuschlagen, dass es sich um ein genaues Duplikat handelt, da das Publikum, das Spiele entwickelt, kein genaues Duplikat des SO-Publikums ist. :)
Ricket
Ich stimme dir nicht zu; Es sollte geschlossen und zur SO-Frage umgeleitet werden. Ansonsten teilen wir zukünftige Antworten auf zwei Stellen auf. Und es ist genau die gleiche Frage - dies ist "Cross-Platform Audio API Suggestions [für Spieleentwicklung]", und das andere ist "Cross-Platform Sound API für Spiele?"
2
Hier erhalten wir die Antwort des Spieleentwicklers (was in diesem Fall auch so ist). Niemand kam auf diese Site, um Antworten auf Stack Overflow zu erhalten. Sie wollten Meinungen von Fachleuten, die speziell an der Unterstützung einer Spieleentwickler-Community interessiert sind. Wenn sie gleich sind, sollte es so sein, denn das wird sicherlich nicht immer der Fall sein, und das ist ein Teil des Grundes, warum diese Seite nützlich ist. Weitere Erklärungen finden Sie unter meta.gamedev.stackexchange.com/questions/3/… .
Christopher Horenstein
10

Die Art von De-facto-API für die Sound-Implementierung in Spielen ist FMOD .

Es ist kostenlos für nichtkommerzielle Zwecke und relativ günstig für die "Gelegenheits" -Entwicklung (sprich: Indie).

Es ist ein bisschen übertrieben für die einfache Anforderung "Diesen Sound wiedergeben", bietet aber einen riesigen Funktionsumfang, der auf allen Arten von Plattformen getestet wurde.

Tetrade
quelle
2
Betreff: "Es ist ein bisschen übertrieben für die einfache Anforderung" Diesen Sound wiedergeben "- Ich denke, es ist höchste Zeit, dass Entwickler über" Diesen Sound wiedergeben "hinausgehen! Nur wenige Leute entscheiden sich für eine Grafik-API, die nur 2D-Sprites zulässt, und ich denke, wir müssen auch mehr von unserem Audio verlangen.
Kylotan,
1
Leider ist FMOD sehr fehlerhaft und die Entwickler reagieren nur langsam auf Probleme. Für ein einfaches "Play this Sound" ist es in Ordnung, aber sobald Sie anfangen, es wirklich zu benutzen, beginnen sich die Mängel wirklich zu zeigen.
Dash-Tom-Bang
Auch wenn sie plattformübergreifend sagen, meinen sie es ernst. Das einzige, von dem ich weiß, dass es an mehr Orten läuft, ist Einigkeit.
Coderanger
Ich habe FMod in mehreren iPhone-Projekten verwendet und fand es nicht besonders fehlerhaft, solange ich mich an die Low-Level-API hielt. FMod Designer ist natürlich ein anderes Biest. Ich fand auch die Foren ziemlich gut und die Angestellten dort waren sehr hilfsbereit. Ich habe gehört, dass die Konsolenversionen von FMod weniger stabil (und weitaus teurer) als PC / Mac / iPhone sind, habe aber keine Erfahrung damit.
Martinpi
9

OpenAL

Ich mag OpenAL wirklich als plattformübergreifende Audiobibliothek. Die API ist ein bisschen niedrig, aber Sie können es leicht in eine schönere Engine-freundliche Oberfläche einbinden. Es ist wirklich plattformübergreifend und bietet erstklassige Unterstützung für: iPhone, Android, MacOSX, Windows und Linux.

Schauen Sie sich den Soundcode von Djinn Engine an . Zwei Dateien, vielleicht 300 Zeilen dazwischen (zähle Kommentare usw.) und du hast ein funktionsfähiges Soundsystem.

Ich habe noch nie ein audio-zentriertes Spiel entwickelt, daher passt OpenAL möglicherweise nicht in die Rechnung, wenn extreme Kontrolle erforderlich ist.

deft_code
quelle
5

Wenn FMOD keine Option ist, ist Audiere eine gute Open-Source-Alternative. Es wurde schon lange nicht mehr aktualisiert, ist aber plattformübergreifend, einfach zu bedienen und verfügt über gute Funktionen .

Firas Assaad
quelle
4

Zusätzlich zu FMOD gibt es Audiokinetic Wwise , das in der Spielebranche zunehmend als professionelles plattformübergreifendes Sounddesign-Tool und API eingesetzt wird. Es verfügt über eine große Auswahl an Effekten (einschließlich Faltungshall), ein komplexes Soundlogiksystem, Sound Layering, Profiling, interaktive Musiktools usw. Es bietet eine gute Auswahl an Decodierungsalgorithmen und ist auch für nichtkommerzielle Projekte kostenlos.

decasteljau
quelle
3

Die Kowalski-Engine ist eine datengesteuerte plattformübergreifende Audiobibliothek, die unter der Lizenz zlib veröffentlicht wird.

perarnetron
quelle
0

Da Sie nur neugierig auf andere Dinge sind, sehe ich hier noch keine Erwähnung von Miles . Ich habe es nicht selbst verwendet (obwohl wir es vor vielen Jahren für ein Spiel verwendet haben), aber diese Spiele verwenden es.

Roger Perkins
quelle
0

libsoundio ist auf niedrigem Niveau, aber plattformübergreifend und auf Robustheit ausgerichtet. Es ist eine minimale Schicht zwischen Ihrem Spiel und dem Audio-Backend des Systems.

andrewrk
quelle