2010-03-08 37 views
8

是否有人知道C++或其他一些流行開源語言,可以用於開源遊戲來重現聲音,特別是在賽車遊戲中重現發動機聲音?開放源代碼的遊戲音效庫

感謝

回答

5

很久以前,有OpenAL,在Linux上取得了中等的成功。

這是相當容易的,圍繞OpenGL庫原則建模。

+5

...這個項目今天仍然非常活躍和流行... – seanhodges 2010-03-08 08:50:48

+0

說實話,自從我幾年前離開那個場景以來,我一直沒有看過它。 – 2010-03-08 09:21:51

+0

謝謝,但他們不是我的。 – 2010-03-08 10:48:13

1

我只是平凡戳它周圍,但SDL是一個非常受歡迎的,跨平臺的,C++遊戲開發庫。它包括對圖形,聲音,輸入的支持。

我還記得它非常模塊化。也就是說,與其他一些解決方案相比,它的框架更少,更像是一個庫。看一看。

1

是否有您需要開源的特定原因,或者「源可用」足夠好?一個流行的是fmod http://www.fmod.org

它是免費的非商業產品,並且還提供許可證下的源代碼。它非常受歡迎,並在許多知名遊戲中使用。

+0

FMod非常非常好。可能是我曾經使用過的任何類型的最好的圖書館之一。優秀的文檔和非常直接。 – mfperzel 2010-03-10 16:57:39

0

SDL是圖形/聲音

QT框架工作好的選擇有聲音,也很好地支持圖形

PortAudio也是不錯的選擇

+0

儘管我同意PortAudio是一個很好的選擇: 「目前的提議是在1個月內(2006年6月4日)完成V19的發佈。」 它死了:( – Andreas 2010-03-16 16:01:35

1

irrKlang聲音引擎是amoung獨立開發商很受歡迎。它是免費的非商業用途,並且仍然非常便宜,如果你想開始與你的遊戲賺取一些錢。它支持所有主要平臺(Windows,Linux,Mac),並且具有C++和.Net語言的API。

2

雖然你有幾個關於如何輸出聲音的答案,但我相信這不是你的問題。

如果我正確地得到了你的問題,我認爲「聲音合成」是你在找什麼。所有你需要的是一堆發生器(例如正弦波,鋸齒波,噪聲) 和濾波器(低,高,帶);並結合這些。

下一步將添加低頻振盪器(低頻振盪器)來調節發生器和濾波器的參數。

我知道這不是您尋找的完整答案,但聲音合成本身就是一門科學,上面的關鍵詞應該讓您開始走上正確的道路。

至於遊戲的SFX的實時綜合。簡單的回答: 不要這樣做!

這是浪費資源和 - 除非你有非常嚴格的大小限制 - 用於SFX的樣本大小不會殺死你。

對於我們目前的遊戲來說,平均樣本的磁盤大小約爲7KB。我們在大多數時間使用16KHz單聲道ADPCM波形。)

1

我知道這是一個老問題,但我認爲SFML需要在這裏表示。 SFML可以在C++,C,.Net(C#,VB.Net,C++/CLI等),Python,D和Ruby中使用,並且設計得體積小,速度快。

Features具體到音頻

  • 使用硬件加速儘可能
  • 可以載入和保存標準音頻格式:OGG,WAV,FLAC,AIFF,AU,原,PAF,SVX,NIST ,VOC,IRCAM,W64,MAT4,mat5 PVF,HTK,SDS,AVR,SD2,CAF,WVE,mpc2k,rf64
  • 可以直接從文件加載所有的音頻資源在內存
  • 3D音效spacialization
  • 用於捕獲音頻
  • 有效地管理內存,這樣你就不必擔心資源的壽命或存儲
  • 支持流媒體大文件輕鬆連接;你甚至可以編寫自定義數據流類任何源(網絡,...)
  • 支持多聲道格式(單聲道,立體聲,4.0,5.1,6.1,7.1)

有關的具體問題重新制作引擎聲音,通常遊戲會採用單一循環聲音並調整音高。這樣做的開源遊戲是VDrift