Atualmente, estou procurando adicionar som ao meu jogo. Eu vi o OpenAL e o SDL, mas gostaria de saber o que mais existe por aí. Você pode recomendar boas APIs de áudio entre plataformas para o desenvolvimento de jogos?
Atualmente, estou procurando adicionar som ao meu jogo. Eu vi o OpenAL e o SDL, mas gostaria de saber o que mais existe por aí. Você pode recomendar boas APIs de áudio entre plataformas para o desenvolvimento de jogos?
Respostas:
Pergunta do Stack Overflow: "API de som de plataforma cruzada para jogos?"
Eu concordo com a resposta aceita:
Eu sou um grande fã da Biblioteca SFML. Ele fornece recursos gráficos e de rede adicionais, mas o que é relevante para essa questão é que ele também possui um pacote de áudio limpo.
Os recursos de áudio são:
- Usa aceleração de hardware sempre que possível
- Pode carregar e salvar formatos de som padrão: ogg, wav, flac, aiff, au, raw, paf, svx, nist, voc, ircam, w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k , rf64
- Pode carregar todos os recursos de áudio diretamente de arquivos na memória
- Espacialização do som 3D
- Interface fácil para capturar áudio
- Gerencia a memória com eficiência, para que você não precise se preocupar com a vida útil ou o armazenamento dos recursos
- Suporta streaming para arquivos grandes; você pode até escrever sua classe de streaming personalizada para qualquer fonte (rede, ...)
- Suporta formatos multicanais (mono, estéreo, 4.0, 5.1, 6.1, 7.1)
Website: http://www.sfml-dev.org/
O tipo de API de fato para implementação de som nos jogos nos dias de hoje é o FMOD .
É gratuito para usos não comerciais e relativamente barato para o desenvolvimento "casual" (leia-se: indie).
É um pouco exagerado o simples requisito "reproduzir esse som", mas fornece um conjunto enorme de recursos que é bem testado em todos os tipos de plataformas.
Eu realmente gosto do OpenAL como uma biblioteca de áudio multiplataforma. A API é um nível um pouco baixo, mas você pode facilmente envolvê-la em uma interface mais agradável do mecanismo. É verdadeiramente multiplataforma, com suporte de primeira classe para: iPhone, Android, MacOSX, Windows e Linux.
Veja o código de som do Djinn Engine . Dois arquivos, talvez 300 linhas entre eles (contando comentários, etc.) e você tem um sistema de som viável.
Como nunca desenvolvi um jogo centrado em áudio, o OpenAL pode não ser o ideal se for necessário controle extremo.
Se o FMOD não é uma opção, o Audiere é uma boa alternativa de código aberto. Não é atualizado há muito tempo, mas é multiplataforma, fácil de usar e possui um bom conjunto de recursos .
Além do FMOD, existe o Audiokinetic Wwise , que é cada vez mais usado na indústria de jogos como uma ferramenta profissional de design de som e plataforma multiplataforma. Possui uma grande variedade de efeitos (incluindo reverb de convolução), sistema de lógica de som complexo, camadas de som, criação de perfil, ferramentas de música interativa, etc ... Fornece uma boa seleção de algoritmos de decodificação e também é gratuito para projetos não comerciais.
O mecanismo Kowalski é uma biblioteca de áudio multiplataforma orientada a dados, liberada sob a licença zlib.
libsoundio é de baixo nível, mas é multiplataforma e se concentra na robustez. É uma camada mínima entre o seu jogo e o back-end de áudio do sistema.