Saran API Audio Lintas Platform

20

Saat ini saya sedang mencari cara menambahkan suara ke game saya. Saya telah melihat OpenAL dan SDL, tetapi saya ingin tahu apa lagi yang ada di luar sana. Bisakah Anda merekomendasikan Audio API lintas platform yang baik untuk pengembangan game?

reverbb
sumber
1
"baik" itu subjektif. Akan membantu jika Anda memiliki beberapa persyaratan khusus sehingga jawaban dapat sedikit lebih diarahkan pada kebutuhan khusus Anda.
Tetrad

Jawaban:

13

Pertanyaan Stack Overflow: "API suara lintas platform untuk game?"

Saya setuju dengan jawaban yang diterima:

Saya penggemar berat Perpustakaan SFML. Itu memang menyediakan fitur Grafik dan Jaringan tambahan, tetapi yang relevan dengan pertanyaan ini, adalah bahwa ia juga memiliki paket Audio yang rapi.

Fitur audio adalah:

  • Gunakan akselerasi perangkat keras jika memungkinkan
  • Dapat memuat dan menyimpan format suara standar: ogg, wav, flac, aiff, au, raw, paf, svx, nist, voc, ircam, w64, mat4, pvf mat5, htk, sds, avr, sd2, caf, wve, mpc2k , rf64
  • Dapat memuat semua sumber daya audio langsung dari file di memori
  • Spasialisasi suara 3D
  • Antarmuka yang mudah untuk menangkap audio
  • Mengelola memori secara efisien, sehingga Anda tidak perlu khawatir tentang sumber daya seumur hidup atau penyimpanan
  • Mendukung streaming untuk file besar; Anda bahkan dapat menulis kelas streaming khusus untuk sumber apa pun (jaringan, ...)
  • Mendukung format multi-saluran (mono, stereo, 4.0, 5.1, 6.1, 7.1)

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

Ricket
sumber
Terima kasih atas tanggapan Anda. Saya mencari Pengembangan Game untuk pertanyaan yang ada dari jenis ini tetapi tidak Stack Overflow.
reverbb
Tampaknya, Anda tidak dapat memilih untuk menutup dengan referensi ke posting di situs SE lain, jadi menyetujui jawaban ini mungkin adalah hasil terbaik untuk pertanyaan tersebut.
3
Dan bagaimanapun, itu tidak perlu ditutup. Beberapa orang mungkin mendukung pilihan Tetrad tentang FMOD, misalnya, yang tidak disebutkan dalam pertanyaan SO. Saya hanya mengajukan pertanyaan untuk membangun di atasnya, bukan untuk menyarankan itu duplikat yang tepat, karena penonton pengembangan game bukan duplikat yang tepat dari penonton SO. :)
Ricket
Saya tidak setuju; itu harus ditutup dan diarahkan ke pertanyaan SO. Kalau tidak, kami membagi jawaban masa depan antara dua tempat. Dan itu adalah pertanyaan yang sama persis - ini adalah "Saran API Audio Cross-Platform [untuk pengembangan game] ', dan yang lainnya adalah" API suara lintas-platform untuk game? "
2
Kami mendapatkan jawaban pengembang game di sini (yang, dalam hal ini, kebetulan sama). Tidak ada yang datang ke situs ini untuk mendapatkan jawaban Stack Overflow, mereka menginginkan pendapat dari para profesional yang secara khusus tertarik untuk mendukung komunitas pengembang game. Jika mereka sama, maka jadilah demikian, karena hal itu tentu tidak akan selalu menjadi masalah, dan itulah bagian dari alasan mengapa situs ini bermanfaat. Lihat meta.gamedev.stackexchange.com/questions/3/… untuk penjelasan lebih lanjut.
Christopher Horenstein
10

Jenis de-facto API untuk implementasi suara dalam game hari ini sejauh yang saya ketahui adalah FMOD .

Gratis untuk penggunaan non-komersial, dan relatif murah untuk pengembangan "kasual" (baca: indie).

Ini sedikit berlebihan untuk persyaratan sederhana "putar ulang suara ini", tetapi memang menyediakan serangkaian fitur besar yang diuji dengan baik pada semua jenis platform.

Tetrad
sumber
2
Re: "Ini agak berlebihan untuk sederhana" memutar kembali "persyaratan suara" ini - saya pikir sudah saatnya pengembang bergerak lebih dari sekadar "putar suara ini"! Hanya sedikit orang yang puas dengan API grafik yang hanya memungkinkan sprite 2D dan saya pikir kita perlu mulai menuntut lebih banyak dari audio kita juga.
Kylotan
1
Sayangnya, FMOD sangat bermasalah dan para pengembang lambat untuk menanggapi masalah. Untuk "memainkan suara ini" sederhana, tidak apa-apa, tetapi begitu Anda mulai benar-benar menggunakannya, kekurangannya akan mulai terlihat.
dash-tom-bang
Juga ketika mereka mengatakan cross-platform, mereka benar-benar bersungguh-sungguh. Satu-satunya hal yang saya ketahui tentang berjalan di lebih banyak tempat adalah Unity.
coderanger
Saya telah menggunakan FMod di beberapa proyek iPhone dan tidak merasa bermasalah terutama selama saya tetap menggunakan API tingkat rendah. Perancang FMod tentu saja adalah binatang yang berbeda. Saya juga menemukan forum yang cukup bagus dan staf di sana sangat mendukung. Saya mendengar versi konsol FMod kurang stabil (dan jauh lebih mahal) daripada PC / Mac / iPhone tetapi tidak memiliki pengalaman dengan itu.
martinpi
9

OpenAL

Saya sangat suka OpenAL sebagai pustaka audio lintas platform. API agak rendah levelnya tetapi Anda dapat dengan mudah membungkusnya dengan antarmuka ramah mesin yang lebih bagus. Ini benar-benar lintas platform dengan dukungan kelas satu untuk: iPhone, Android, MacOSX, Windows, dan Linux.

Lihatlah kode suara Mesin Djinn . Dua file, mungkin 300 garis di antara mereka (menghitung komentar dll) dan Anda akan mendapatkan sistem suara yang bisa diterapkan.

Saya tidak pernah membuat game audio centric, jadi OpenAL mungkin tidak cocok dengan tagihan jika kontrol ekstrim diperlukan.

deft_code
sumber
5

Jika FMOD bukan opsi maka Audiere adalah alternatif sumber terbuka yang baik. Ini belum diperbarui dalam waktu yang lama tetapi bersifat lintas platform, mudah digunakan, dan memiliki serangkaian fitur yang baik .

Firas Assaad
sumber
4

Selain FMOD, ada Audiokinetic Wwise , yang semakin banyak digunakan dalam industri game sebagai alat desain suara dan API lintas platform profesional. Ini memiliki banyak pilihan efek (termasuk konvolusi reverb), sistem logika suara yang kompleks, pelapisan suara, pembuatan profil, alat musik interaktif, dll ... Ini menyediakan pilihan algoritma decoding yang baik dan juga gratis untuk proyek-proyek non-komersial.

decasteljau
sumber
3

Mesin Kowalski adalah pustaka audio lintas platform yang didorong data yang dirilis di bawah lisensi zlib.

perarnetron
sumber
0

Karena Anda hanya ingin tahu tentang hal-hal lain di luar sana, saya belum melihat penyebutan tentang Miles di sini. Saya belum menggunakannya sendiri (walaupun kami sudah menggunakannya bertahun-tahun yang lalu pada sebuah game), namun game ini menggunakannya.

Roger Perkins
sumber
0

libsoundio adalah level rendah, tetapi bersifat lintas platform dan berfokus pada ketahanan. Ini adalah lapisan minimal antara gim Anda dan backend audio sistem.

andrewrk
sumber