Suggestions d'API audio multiplateforme


20

Je cherche actuellement à ajouter du son à mon jeu. J'ai vu OpenAL et SDL, mais j'aimerais savoir ce qu'il y a d'autre. Pouvez-vous recommander de bonnes API audio multiplateformes pour le développement de jeux?


1
"bon" est subjectif. Il serait utile que vous ayez des exigences spécifiques afin que les réponses puissent être un peu plus adaptées à vos besoins particuliers.
Tetrad du

Réponses:


13

Stack Overflow question: "API sonore multiplateforme pour les jeux?"

Je suis d'accord avec la réponse acceptée:

Je suis un grand fan de la bibliothèque SFML. Il fournit des fonctionnalités graphiques et réseau supplémentaires, mais ce qui est pertinent pour cette question, c'est qu'il a également un package audio soigné.

Les fonctionnalités audio sont:

  • Utilise l'accélération matérielle dans la mesure du possible
  • Peut charger et enregistrer des formats sonores standard: ogg, wav, flac, aiff, au, raw, paf, svx, nist, voc, ircam, w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k , rf64
  • Peut charger toutes les ressources audio directement à partir des fichiers en mémoire
  • Spacialisation du son 3D
  • Interface facile pour capturer l'audio
  • Gère efficacement la mémoire, afin que vous n'ayez pas à vous soucier de la durée de vie ou du stockage des ressources
  • Prend en charge la diffusion en continu de gros fichiers; vous pouvez même écrire votre classe de streaming personnalisée pour n'importe quelle source (réseau, ...)
  • Prend en charge les formats multicanaux (mono, stéréo, 4.0, 5.1, 6.1, 7.1)

Site Web: http://www.sfml-dev.org/


Merci pour vos commentaires. J'ai recherché dans Game Development des questions existantes de ce type, mais pas Stack Overflow.
reverbb

Apparemment, vous ne pouvez pas voter pour fermer avec une référence à un message sur un autre site SE, donc approuver cette réponse est probablement le meilleur résultat possible pour la question.

3
Et quoi qu'il en soit, il n'a pas nécessairement besoin d'être fermé. Certaines personnes pourraient soutenir le choix de Tetrad de FMOD, par exemple, qui n'a pas été mentionné dans la question SO. J'ai seulement posé la question pour m'en inspirer, pas pour suggérer qu'il s'agit d'un double exact, car l'audience de développement de jeux n'est pas un double exact de l'audience SO. :)
Ricket

Je ne suis pas d'accord; il doit être fermé et redirigé vers la question SO. Sinon, nous divisons les réponses futures entre deux endroits. Et c'est exactement la même question - il s'agit de "Suggestions d'API audio multiplateforme [pour le développement de jeux]", et l'autre est "API sonore multiplateforme pour les jeux?"

2
Nous obtenons ici la réponse du développeur du jeu (qui, dans ce cas, se trouve être la même). Personne n'est venu sur ce site pour obtenir des réponses sur Stack Overflow, il voulait l'avis de professionnels spécifiquement intéressés à soutenir une communauté de développeurs de jeux. S'ils sont identiques, tant pis, car ce ne sera certainement pas toujours le cas, et c'est en partie la raison pour laquelle ce site est utile. Voir meta.gamedev.stackexchange.com/questions/3/… pour plus d'explications.
Christopher Horenstein

10

Le type d'API de facto pour une implémentation saine dans les jeux de nos jours en ce qui me concerne est FMOD .

Il est gratuit pour les utilisations non commerciales et relativement peu coûteux pour le développement "occasionnel" (lire: indépendant).

C'est un peu exagéré pour la simple exigence de "lecture de ce son", mais il fournit un ensemble de fonctionnalités énorme qui est bien testé sur toutes sortes de plates-formes.


2
Re: "C'est un peu exagéré pour la simple exigence de" lecture de ce son "- je pense qu'il est grand temps que les développeurs dépassent la simple" lecture de ce son "! Peu de gens se contentent d'une API graphique qui autorise uniquement les sprites 2D et je pense que nous devons également commencer à exiger davantage de notre audio.
Kylotan

1
Malheureusement, FMOD est très bogué et les développeurs sont lents à répondre aux problèmes. Pour un simple "jouer ce son", c'est bien, mais une fois que vous commencez vraiment à l'utiliser, les lacunes commencent vraiment à se manifester.
dash-tom-bang

Aussi quand ils disent multiplateforme, ils le pensent vraiment. La seule chose que je sache qui fonctionne dans plus d'endroits est Unity.
coderanger

J'ai utilisé FMod dans plusieurs projets iPhone et je ne l'ai pas trouvé particulièrement bogué tant que je m'en suis tenu à l'API de bas niveau. FMod Designer est bien sûr une bête différente. J'ai aussi trouvé les forums assez bons et le personnel très sympathique. J'ai entendu dire que les versions console de FMod sont moins stables (et beaucoup plus chères) que PC / Mac / iPhone mais je n'ai pas d'expérience avec celles-ci.
martinpi

9

OpenAL

J'aime vraiment OpenAL en tant que bibliothèque audio multiplateforme. L'API est un peu bas, mais vous pouvez facilement l'envelopper dans une interface plus conviviale pour les moteurs. C'est vraiment une plateforme croisée avec un support de première classe pour: iPhone, Android, MacOSX, Windows et Linux.

Jetez un œil au code sonore de Djinn Engine . Deux fichiers, peut-être 300 lignes entre eux (en comptant les commentaires, etc.) et vous avez un système audio fonctionnel.

Je n'ai jamais construit un jeu centré sur l'audio, donc OpenAL pourrait ne pas convenir si un contrôle extrême est nécessaire.



4

En plus de FMOD, il y a Audiokinetic Wwise , qui est de plus en plus utilisé dans l'industrie du jeu comme outil de conception sonore multi-plateforme professionnel et API. Il a une large sélection d'effets (y compris la réverbération à convolution), un système de logique sonore complexe, la superposition du son, le profilage, des outils musicaux interactifs, etc ... Il fournit une bonne sélection d'algorithmes de décodage et est également gratuit pour les projets non commerciaux.



0

Comme vous êtes simplement curieux de savoir d'autres choses là-bas, je ne vois aucune mention de Miles ici encore. Je ne l'ai pas utilisé moi-même (même si nous l'avons utilisé il y a de nombreuses années sur un jeu), mais ces jeux l' utilisent.


0

libsoundio est de bas niveau, mais il est multiplateforme et se concentre sur la robustesse. C'est une couche minimale entre votre jeu et le backend audio du système.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.