Seite 1 von 1

Audio-Bibliothek

BeitragVerfasst: 15.04.2018, 16:02
von Jonathan
Hey,

ich wollte mal wieder mein altes Projekt kompilieren, welches noch fmod für die Tonausgabe verwendet. Jetzt ist mir aufgefallen, dass fmod mal wieder nerviger geworden ist, und man sich registrieren soll, um die Downloads überhaupt erst sehen zu können. Es hat mir ja noch nie so ganz gepasst, dass es ein kommerzielles Produkt ist, aber früher war die Lizenz immer noch so, dass ich mir keine großen Sorgen machen musste und es lies sich letztendlich auch ganz gut benutzen.

Es gibt ja so ein paar offensichtliche Alternativen (irrKlang, OpenAL), aber bevor ich mir die jetzt auch alle stundenlang anschaue, wollte ich einfach mal eure Meinung hören. Was benutzt ihr so, und warum findet ihr es gut / schlecht?

Zum Projekt: Ein kleines Spielchen, das derzeit in C++ mit OpenGL unter Windows entwickelt wird. Alle anderen Abhängigkeiten sind derzeit OpenSource und plattformübergreifend, auch wenn es keine Builds für andere Systeme gibt, würde ich mir die Option zumindest prinzipiell für die Zukunft gerne offen halten.

Re: Audio-Bibliothek

BeitragVerfasst: 15.04.2018, 19:44
von Schrompf
Ich benutze immer noch FModEx, aber habe seit Jahren nicht mehr nach einer neuen Version geschaut. Du kannst mal gucken, ob es bei bugmenot.com einen Login dafür gibt.

Ansonsten scheinen viele OpenAL zu benutzen, was wohl nicht mehr weiterentwickelt wird. Aber es gibt jemanden, der eine Minimalversion davon reimplementiert hat. Ein einzelnes C-File, also kein "Download and install CMake", aber baut auf SDL auf... ich weiß nicht, wie nützlich das Ding ohne SDL ist: https://hg.icculus.org/icculus/mojoAL Abgesehen davon gibt es OpenAL-Soft, eine stabile Software-Implementation von OpenAL, aber die ist halt ein massiver Klumpen Code mit CMake und allem Scheiß.

Re: Audio-Bibliothek

BeitragVerfasst: 16.04.2018, 05:55
von joggel
Also ich benutze auch FMod.
Jetzt erähle ich bestimmt etwas mist, aber egal^^
SFML kommt auch mit einer kleinen Audioabteilung daher; simples abspielen von Sounds eben.
Nur weiß ich jetzt nicht, ob man dazu die ganzen anderen sachen von SFML benötigt, sprich: SFML-Window und so, oder ob das ohne Abhängigkeit funktioniert. Das müsste ich mal probieren wenn ich wieder PC habe...

Nachtrag:
Habe gerade YSE gefunden, vlt ist das etwas:
http://www.attr-x.net/yse/

Was mir auch noch eingefallen ist, als ich mir dieses YSE angeschaut habe, ist JUCE.
Das ist eine Lib mit der man eher Soundmanipulation/PlugIns macht. Scheint auch sehr etabliert zu sein.
https://juce.com

Gruß

Re: Audio-Bibliothek

BeitragVerfasst: 19.04.2018, 13:43
von Jonathan
Das OpenAL tot ist, ist natürlich ein bisschen schade, andererseits war es auch nervig, wenn man immer erst diesen Installer ausführen musste. Naja.

Aber YSE sieht echt interessant aus. Ich habe gerade kurz die Demo runter geladen, es scheint alles zu können, was ich will und macht einen halbwegs soliden Eindruck. Gut, auf der ersten Seite der Dokumentation wird erklärt, warum Singletons (die dort Functors genannt werden...) toll sind und überall benutzt werden, und standardmäßig wird es wohl als DLL eingebunden (und dlls sind ja vom Teufel), aber das sind jetzt erstmal keine prinzipiellen Hindernisse. Etwas kritischer ist vielleicht, dass das Ding den Eindruck eines wenig etablierten Nischenproduktes erweckt, es wird zwar scheinbar derzeit aktiv weiterentwickelt, aber wie es in der Zukunft aussieht, kann man nicht sagen.
Ich werde mal schauen, wie einfach es zu benutzen ist (bezüglich Abhängigkeiten und Co.) und es dann gegebenenfalls verwenden. Vielen Dank für den Tipp!

Re: Audio-Bibliothek

BeitragVerfasst: 20.04.2018, 09:54
von Jonathan
YSE benutzt Juce und Juce ist GPL - zu restriktiv für mich. Außerdem gibt es nur eine VC Solution die nicht auf Anhieb kompilieren will, und das ganze Projekt sieht halbwegs komplex aus - ich will eigentlich nicht einen ganzen Nachmittag verschwenden, um es ans laufen zu kriegen.
Ich gucke mir jetzt erstmal irrKlang an. Das ist zwar genauso kommerziell wie fmod, aber die Webseite ist nicht so nervig modern (viel weniger Bullshitbingo und man kann alles direkt runterladen). Mal schauen inwieweit ich damit glücklich werde.

Re: Audio-Bibliothek

BeitragVerfasst: 20.04.2018, 10:50
von joggel
Das verwirrt mich. Ich dachte YSE sei unter der Eclipse Public License.
Zitat: "Best of all: YSE is open source. It is released with the Eclipse Public License, making it usable by open source as well as commercial developers."
Ich dachte, man kann das in seinen Projekten ohne Probleme verwenden?!
Aber wie gesagt: ich habs nur überflogen.

Und ich dachte, dass JUCE YSE verwendet. Aber andersrum ist der Fall....

Aber gut zu wissen :)

Re: Audio-Bibliothek

BeitragVerfasst: 20.04.2018, 11:13
von Schrompf
Wie gesagt: es gibt eine gut gepflegte und aktuelle Software-Implementation von OpenAL, die Du einfach so bauen und linken kannst.

Re: Audio-Bibliothek

BeitragVerfasst: 06.06.2018, 11:55
von Jonathan
Ja danke, das hatte ich beim ersten mal tatsächlich überlesen. Habs jetzt auch mal getestet, bin aber nur mäßig überzeugt: Unter Windows braucht es halt irgendein Backend, es scheint, als müsste man erst noch das ganze DX SDK installieren, damit er DirectSound benutzen kann. Und dann wird es doch wieder fummelig.

Ich habe jetzt irrKlang getestet. Viel mehr als den ersten Sound abzuspielen habe ich damit noch nicht gemacht, aber zumindest war es vollkommen problemlos einzubauen.

Aber ein bisschen kurios ist das schon. DirectSound ist ja wohl auch deprecated, was benutzen Spiele denn heute dann standardmäßig? Bis auf fmod erscheinen mir ja auch alle hier genannten Alternativen eher Nischenprodukte zu sein.

Re: Audio-Bibliothek

BeitragVerfasst: 06.06.2018, 13:37
von joggel
Ich kenne mich da leider nicht aus, und Du hast ja auch gefragt, was heute so stanndardmäßig verwendet wird.
Da habe ich auch keine Ahnung...

Vlt ist hier noch etwas dabei:
https://github.com/ciconia/awesome-musi ... -libraries

Re: Audio-Bibliothek

BeitragVerfasst: 07.06.2018, 00:52
von Jonathan
In der Liste war viel für andere Sprachen (JavaScript und so). Das einzige was ungefähr in die Richtung ging erschien mir PortAudio zu sein. Potentiell interessant, aber ziemlich lowlevel, es kann nicht mal wav-Dateien direkt laden und man hantiert explizit mit Parametern wie Sampling-Rate. Vermutlich eher für Audio-Processing gedacht als für Spiele.

irrKlang greift unter Windows übrigens auch auf DirectSound zurück, aber das ist ja in den neueren Windows-Versionen vorinstalliert (und man braucht kein DX-SDK). Scheinbar bedeutet das aber leider auch, dass Effekte wie Hall nur unter Windows laufen. Ich muss mich da immer noch ein bisschen reinlesen,, aber ich vermute ich werde sicherheitshalber eine dünne Kapslung dafür schreiben, falls ich es doch nochmal austauschen will (und sei es auch nur für einen eventuellen Linux-Port).

Re: Audio-Bibliothek

BeitragVerfasst: 09.06.2018, 22:11
von Krishty
EAX und OpenAL werden auf Windows durch DirectSound emuliert, sofern keine Hardware verbaut ist. DirectSound und XAudio 2 werden wiederum durch WASAPI emuliert.

Wenn du also die allmächtige API suchst, die alles kann und bei der alles zusammenläuft, hast du sie nun.