Sugerencias de API de audio multiplataforma

20

Actualmente estoy buscando agregar sonido a mi juego. He visto OpenAL y SDL, pero me gustaría saber qué más hay disponible. ¿Me puede recomendar alguna buena API de audio multiplataforma para el desarrollo de juegos?

reverberación
fuente
1
"bueno" es subjetivo. Sería útil si tuviera algunos requisitos específicos para que las respuestas puedan estar un poco más orientadas a sus necesidades particulares.
Tetrad

Respuestas:

13

Pregunta de desbordamiento de pila: "¿API de sonido multiplataforma para juegos?"

Estoy de acuerdo con la respuesta aceptada:

Soy un gran admirador de SFML Library. Proporciona funciones gráficas y de red adicionales, pero lo que es relevante para esta pregunta es que también tiene un paquete de audio ordenado.

Las características de audio son:

  • Utiliza aceleración de hardware siempre que sea posible
  • Puede cargar y guardar formatos de sonido estándar: ogg, wav, flac, aiff, au, raw, paf, svx, nist, voc, ircam, w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k , rf64
  • Puede cargar todos los recursos de audio directamente desde archivos en la memoria
  • Espacialización de sonido 3D
  • Interfaz fácil para capturar audio
  • Administra la memoria de manera eficiente, para que no tenga que preocuparse por la vida útil de los recursos o el almacenamiento
  • Admite la transmisión de archivos grandes; incluso puedes escribir tu clase de transmisión personalizada para cualquier fuente (red, ...)
  • Admite formatos multicanal (mono, estéreo, 4.0, 5.1, 6.1, 7.1)

Sitio web: http://www.sfml-dev.org/

revs Ricket
fuente
Gracias por sus comentarios. Busqué Desarrollo de juegos para preguntas existentes de este tipo, pero no Stack Overflow.
reverberación
Aparentemente, no puede votar para cerrar con una referencia a una publicación en otro sitio de SE, por lo que aprobar esta respuesta es probablemente el mejor resultado posible para la pregunta.
3
E independientemente, no necesariamente necesita ser cerrado. Algunas personas podrían apoyar la elección de FMOD de Tetrad, por ejemplo, que no se mencionó en la pregunta SO. Solo planteé la pregunta para desarrollarla, no para sugerir que es un duplicado exacto, ya que la audiencia de desarrollo de juegos no es un duplicado exacto de la audiencia SO. :)
Ricket
Estoy en desacuerdo; debe cerrarse y redirigirse a la pregunta SO. De lo contrario, dividimos las respuestas futuras entre dos lugares. Y es exactamente la misma pregunta: esta es "Sugerencias de API de audio multiplataforma [para el desarrollo de juegos] ', y la otra es" API de sonido multiplataforma para juegos? "
2
Estamos obteniendo la respuesta del desarrollador del juego aquí (que, en este caso, es el mismo). Nadie vino a este sitio para obtener respuestas de Stack Overflow, querían opiniones de profesionales específicamente interesados ​​en apoyar a una comunidad de desarrolladores de juegos. Si son iguales, que así sea, porque ciertamente no siempre será así, y esa es parte de la razón por la que este sitio es útil. Consulte meta.gamedev.stackexchange.com/questions/3/… para obtener más explicaciones.
Christopher Horenstein
10

El tipo de API de facto para la implementación de sonido en los juegos en estos días en lo que a mí respecta es FMOD .

Es gratis para usos no comerciales y relativamente económico para el desarrollo "casual" (léase: indie).

Es un poco excesivo para el simple requisito de "reproducir este sonido", pero proporciona un gran conjunto de características que está bien probado en todo tipo de plataformas.

Tétrada
fuente
2
Re: "Es un poco excesivo para el simple requisito de" reproducir este sonido ". Creo que ya es hora de que los desarrolladores vayan más allá de" reproducir este sonido ". Pocas personas se conforman con una API de gráficos que solo permite sprites 2D y creo que también debemos comenzar a exigir más de nuestro audio.
Kylotan
1
Lamentablemente, FMOD tiene muchos errores y los desarrolladores tardan en responder a los problemas. Para "reproducir este sonido" simple está bien, pero una vez que empiezas a usarlo realmente, las deficiencias comienzan a mostrarse.
dash-tom-bang
Además, cuando dicen multiplataforma, lo dicen en serio. Lo único que sé de eso se ejecuta en más lugares es la Unidad.
coderanger
He usado FMod en varios proyectos de iPhone y no lo encontré particularmente defectuoso siempre y cuando me mantuve en la API de bajo nivel. FMod Designer, por supuesto, es una bestia diferente. También encontré que los foros eran bastante buenos y que el personal era muy solidario. Escuché que las versiones de consola de FMod son menos estables (y mucho más caras) que PC / Mac / iPhone, pero no tengo experiencia con ellas.
martinpi
9

OpenAL

Realmente me gusta OpenAL como una biblioteca de audio multiplataforma. La API tiene un nivel un poco bajo, pero puede incluirla fácilmente en una interfaz más amigable para el motor. Es verdaderamente multiplataforma con soporte de primera clase para: iPhone, Android, MacOSX, Windows y Linux.

Echa un vistazo al código de sonido de Djinn Engine . Dos archivos, quizás 300 líneas entre ellos (contando comentarios, etc.) y obtendrá un sistema de sonido viable.

Nunca he creado un juego centrado en audio, por lo que OpenAL podría no cumplir con los requisitos si se necesita un control extremo.

deft_code
fuente
5

Si FMOD no es una opción, entonces Audiere es una buena alternativa de código abierto. No se ha actualizado en mucho tiempo, pero es multiplataforma, fácil de usar y tiene un buen conjunto de características .

Firas Assaad
fuente
4

Además de FMOD, hay Audiokinetic Wwise , que se usa cada vez más en la industria de los juegos como una herramienta profesional de diseño de sonido multiplataforma y API. Tiene una gran selección de efectos (incluida la reverb de convolución), sistema de lógica de sonido complejo, capas de sonido, creación de perfiles, herramientas de música interactivas, etc. Proporciona una buena selección de algoritmos de decodificación y también es gratuito para proyectos no comerciales.

Decasteljau
fuente
3

El motor Kowalski es una biblioteca de audio multiplataforma basada en datos lanzada bajo la licencia zlib.

perarnetron
fuente
0

Como solo tienes curiosidad por otras cosas, todavía no veo ninguna mención de Miles aquí. No lo he usado yo mismo (aunque lo usamos hace muchos años en un juego), sin embargo, estos juegos lo usan.

Roger Perkins
fuente
0

libsoundio es de bajo nivel, pero es multiplataforma y se centra en la robustez. Es una capa mínima entre su juego y el backend de audio del sistema.

andrewrk
fuente