2010-03-08 1 views
8

weiß jemand über eine Open-Source-Sound-Bibliothek in C++ oder eine andere populäre Sprache, die in Open-Source-Spielen für die Nachbildung von Sounds und insbesondere in Autorennen verwendet werden kann, um Motorsound neu zu erstellen?Open-Source-Bibliotheken für Soundeffekte in Spielen

Dank

Antwort

5

Vor langer Zeit gab es OpenAL und war mäßig erfolgreich auf Linux.

Es ist ziemlich einfach, modelliert um die Prinzipien der OpenGL-Bibliothek. auch eine gute Unterstützung für Sound und Grafik

PortAudio ist auch eine gute Option

+5

... und das Projekt ist immer noch sehr lebendig und beliebt heute ... – seanhodges

+0

Um ehrlich zu sein, habe ich es nicht angesehen, seit ich diese Szene vor einigen Jahren verlassen habe. –

+0

Danke, aber sie gehören mir nicht. –

1

Ich habe nur trivialer damit stocherte, aber SDL ist ein sehr beliebtes, plattformübergreifende C++ Spiel dev Bibliothek. Es beinhaltet Unterstützung für Grafik, Sound, Eingabe.

Ich erinnere mich auch, dass es sehr modular ist. Das heißt, es ist weniger ein Framework und mehr eine Bibliothek als einige andere Lösungen. Schau es dir an.

1

Gibt es einen bestimmten Grund, warum Sie eine Open Source benötigen, oder ist "Quelle verfügbar" gut genug? Eine beliebte ist fmod http://www.fmod.org

Es ist kostenlos für nicht-kommerzielle Produkte und bietet auch Quellcode unter einer Lizenz. Es ist sehr beliebt und wird in vielen bekannten Spielen verwendet.

+0

FMod ist sehr, sehr gut. Wahrscheinlich eine der besten Bibliotheken, die ich jemals benutzt habe. Tolle Dokumentation und sehr geradlinig. – mfperzel

0

SDL ist eine gute Option für Grafik/Sound

QT Rahmen der Arbeit hat

+0

Während ich stimme zu, dass PortAudio eine gute Alternative war: "Der aktuelle Vorschlag ist die V19-Version in 1 Monaten (4. Juni 2006) abzuschließen." Es ist tot :( – Andreas

1

Die irrKlang Tonerzeugung amoung unabhängigen Entwicklern sehr beliebt . Es ist kostenlos für nicht-kommerzielle Nutzung und immer noch sehr günstig, wenn Sie mit Ihrem Spiel etwas Geld verdienen wollen.

Es unterstützt alle wichtigen Plattformen (Windows, Linux, Mac) und verfügt über APIs für C++ und .Net-Sprachen.

2

Während Sie ein paar Antworten bezüglich der Ausgabe von Sound bekommen haben, glaube ich, dass das nicht Ihre Frage war.

Wenn ich Ihre Frage richtig verstanden habe, denke ich "Sound Synthesis" ist, was Sie suchen.

Alles, was Sie brauchen, ist eine Reihe von Generatoren (z. B. Sinus, Sägezahn, Rauschen) und Filter (niedrig, hoch, Band); Und kombinieren Sie diese.

Im nächsten Schritt werden LFOs (Low-Frequency-Oscillators) hinzugefügt, um die Parameter der Generatoren und Filter zu modulieren.

Ich bin mir bewusst, dass dies nicht die vollständige Antwort, die Sie suchten, aber Sound-Synthese ist eine Wissenschaft für sich und die oben genannten Keywords sollten Sie auf dem richtigen Weg zu bekommen.

Wie für Echtzeit-Synthese von SFX für Spiele. Einfache Antwort: Tun Sie es nicht!

Es ist eine Verschwendung von Ressourcen und - wenn Sie nicht sehr strenge Größenbeschränkungen haben - die Größe der für SFX verwendeten Proben wird Sie nicht töten.

Für unser aktuelles Spiel hat das durchschnittliche Sample eine Größe (n auf Platte) von ungefähr 7KB. (Wir verwenden 16KHz, Mono, ADPCM Wavs die meiste Zeit.)

1

Ich weiß, es ist eine alte Frage, aber ich denke, SFML muss hier dargestellt werden. SFML ist in C++, C, .NET (C#, VB.Net, C++/CLI usw.), Python, D und Ruby verfügbar und wurde entwickelt, um klein und schnell zu sein.

Features spezifisch Audio:

  • Verwendet Hardware-Beschleunigung, wann immer möglich
  • Kann Standard-Sound-Formate laden und speichern: OGG, WAV, FLAC, AIFF, AU, roh, paf, svx, nist , voc, IRCAM, w64, MAT4, MAT5 pvf, htk, sds, avr, SD2, Café, wve, mpc2k, RF64
  • Kann alle Audio-Quellen direkt von Dateien in den Speicher laden
  • 3D-Sound Verräumlichung
  • Einfache Schnittstelle für Aufnahme von Audiodaten
  • Speicher effizient verwaltet, so dass Sie über Ressourcen Lebensdauer nicht oder Lagerung sorgen müssen
  • Unterstützt große Dateien Streaming; Sie können sogar Ihre individuelle Streaming-Klasse für jede Quelle (Netzwerk, ...)
  • Unterstützt Multi-Kanäle Formate (Mono, Stereo, 4.0, 5.1, 6.1, 7,1)

Für die spezifische Frage schreiben Reconstructing Engine-Sounds, Spiele in der Regel einen einzigen Loop-Sound und stellen Sie die Tonhöhe. Ein Open-Source-Spiel, das dies sehr gut macht, ist VDrift.