![]() |
Preview: Audorra Digital Audio Library (23.08.09)
Liste der Anhänge anzeigen (Anzahl: 2)
Audorra - eine OpenSource Audiobibliothek für Spiele
Was ist das, bzw. was wird es werden? Audorra ist eine Cross Plattform Audiobibliothek, die es ermöglicht Musik und Soundeffekte in Spielen (oder anderen Audio-Anwendungen) wiederzugeben. Dabei liegt volle Unterstützung für 3D-Surround Sound und Positionierung von Audioquellen im 3D-Raum vor. Audorra ist modular aufgebaut: Sowohl die Ausgabebibliothek ("driver", also z.B. WaveOut, DirectSound oder OpenAL) als auch die Decoder können über ein Pluginsystem statisch oder dynamisch gelinkt werden. Warum dieses Projekt? Audorra soll als Ergänzung zu meiner 2D-Grafikbibliothek ![]() ![]() Wie weit ist es? Tja, da liegt der Haken bei der ganzen Sache: Das Projekt fliegt in seinem jetzigen Status schon seit gut zwei/drei Monaten auf meiner Platte rum. Jedoch habe ich momentan Aufgrund anderer Aktivitäten keine Zeit daran (und auch an Andorra) großartig weiter zu entwickeln. Das wird sich erst in den Sommerferien (hoffentlich) wieder ändern. Um trotzdem meine bisherige Arbeit zu präsentieren (Wiedergabe von Musik mittels funktionierendem Filtergraphsystem über Waveout unter Verwendung eines nativen WAV-"Decoders" und Acinerella), habe ich mich entschlossen diesen Thread hier zu öffnen und das Projekt mit einem kleinen Demoprogramm hochzuladen. Unterstützte Audioformate:
Systemanforderungen: Prozessor: Erfolgreich getestet auf einem 900Mhz Pentium III, Speicher: braucht ca. 1MB RAM pro Stream. Betriebsystem: Windows 2000 oder höher, Linux (MacOS sollte auch funktionieren - mangels MacOS aber noch nicht getestet) IDE: Delphi >=6 oder Lazarus Lizenz: Das ganze Projekt ist unter der MPL lizenziert. Die GPL oder die LGPL dürfen aber ebenfalls verwendet werden. Es wäre schön wenn jemand das angehängte Testprogramm (im Ordner "bin") testen könnte. Wenn ihr irgendwo noch einen uralt PC stehen habt, dann würde mich interessieren, ob es auch darauf läuft, besonders wenn die CPU-Auslastung auf 100% getrieben wird. ![]() ![]() ![]() ![]() Viel Spaß damit, ich bin auf eure Reaktionen gespannt, Andreas |
Re: Preview: Audorra - Opensource Audiobibliothek für Spiele
Hallo,
funzt super! :thumb: Endlich mal eine richtig gute OpenSource-Audiobibliothek. Da müsste dann noch eine Teil zum Aufnehmen rein, ich könnte mir gut vorstellen, das zu erweitern. Sonst noch keine Bugs gefunden, außer das das Format geprüft werden sollte. Marius |
Re: Preview: Audorra - Opensource Audiobibliothek für Spiele
Ich habs mal kurz auf Vista 64bit und 32bit mit verschiedenen Formaten getestet.
Ist dieser Slowmotioneffekt in der \bin\Simple.exe gewollt? Bei .MPG, .MPE, .mpeg war es am deutlichsten rauszuhören. MP3´s konnte ich mir schon recht gut anhören. :thumb: Edit: Die Zeitanzeige läuft auch etwas zu lahm, nach 30 Sekunden zeigte die Simple.exe an, dass er sich gerade bei 00:00:22,5XX befindet. |
Re: Preview: Audorra - Opensource Audiobibliothek für Spiele
Hallo,
erstmal Danke für das Feedback. Alle Videos, die ich bis jetzt getestet hatte liefen ohne Probleme - selbst diejenigen mit 5.1 Sound. "Slow Motion"-Effekte hatte ich bis jetzt eigentlich nicht. Das Problem mit der Zeitanzeige ist mir allerdings bekannt. Das liegt allerdings an Acinerella/FFMpeg. Bei WAVE-Dateien (deren native Dekoderschnittstelle vollständig implementiert ist, also auch Dinge wie Seeking unterstützt) sollte es solche Probleme nicht geben. Edit: Vielleicht liegt ersteres Problem ja an Windows Vista... Ich habe es nur mit Windows 2000 und Windows XP probiert. |
Re: Preview: Audorra - Opensource Audiobibliothek für Spiele
Also ich habe leider sehr stark "stotternden" Sound :(
Mal ein paar Eckdaten zu meinem System: Das System ist etwa ein Jahr alt. Windows Vista 32 Bit, 3GB Ram, 2.4Ghz Quadcore (dachte erst, es könnte am Performancecounter liegen, falls der überhaupt verwendet wird. Zuornden zu einem Kern brachte aber keine Besserung), Soundkarte wird im Gerätemanager als "SigmaTel High Definition Audio CODEC" (Treiberupdates steltl die Firma leider nicht mehr bereit) angezeigt. Ich vermute mal, dass es an Vista liegt. Ich habe es mit verschiedenen MP3s aus meiner Sammlung versucht, alle hatten das gleiche Problem. Das ist das erste Programm, mit dem ich diese Probleme habe. Prinzipiell halte ich eine Audiobilbiothek für Spiele aber für eine gute Idee! Aber solange diese Probleme nicht behoben sind, würde ich doch eher zur bass.dll greifen :wink: |
Re: Preview: Audorra - Opensource Audiobibliothek für Spiele
Seltsam - wie oben geschrieben läuft es auf unserem 10-Jahre alten Laptop ohne Probleme. Irgendwas scheine ich wohl falsch zu machen.
|
Re: Preview: Audorra - Opensource Audiobibliothek für Spiele
Habs auf ner ziemlich alten Röhre (Pentium 4) mit XP SP3 getestet. Läuft, soweit ich das auf die schnelle beurteilen kann, einwandfrei!
|
Re: Preview: Audorra - Opensource Audiobibliothek für Spiele
Unter Vista 64Bit läuft es nur bedingt. Die Dateien werden verlangsamt abgespielt und es knackt wie bei einem schlecht eingestelleten Radiosender. :(
|
Re: Preview: Audorra - Opensource Audiobibliothek für Spiele
Zitat:
Zitat:
|
Re: Preview: Audorra - Opensource Audiobibliothek für Spiele
Liste der Anhänge anzeigen (Anzahl: 1)
Kein Problem, ich habe den Ausgabebuffer jetzt einfach mal Testweise von 4 * 1024 auf 16 * 4096 Samples erhöht, also ca. 2 Sekunden. Systembedingt ist das Peakmeter und die Lautstärkeregelung nun jedoch ziemlich träge.
|
Re: Preview: Audorra - Opensource Audiobibliothek für Spiele
Zitat:
|
Re: Preview: Audorra - Opensource Audiobibliothek für Spiele
Liste der Anhänge anzeigen (Anzahl: 1)
Ok, danke für die Info. Probiere mal das angehängte Programm. In die beiden Edits kannst du Blockanzahl und Sampleanzahl eintragen.
Die Änderungen wirken sich erst auf jede neu geöffnete Datei aus.(!) In den Hints der Edits sollte alles erklärt sein. Probiere die Werte so klein wie möglich zu halten, bevor es beginnt zu stottern. |
Re: Preview: Audorra - Opensource Audiobibliothek für Spiele
Zitat:
Höhrt sich perfekt an! :dance: Jetzt läuft auch die Zeit synchron mit der meiner G15-Stoppuhr. Vielen dank von mir, das Projekt kommt gerade wie gerufen. :stupid: Edit: Jop, 4/2048 und 8/1024 läuft perfekt. (sogar 6/1024 geht) Stresstest sagt: Prozess auf CPU[3] gelegt, 3 Minuten lang den Kern auf 100% gejagt und das Resultat war: Alles was auf dem Kern lief hat gestockt, aber die Tonausgabe von deinem Programm lieft sauber weiter. |
Re: Preview: Audorra - Opensource Audiobibliothek für Spiele
Bei mir ist die Kombination 4/2048 optimal.
Edit: Übrigens scheint bei dieser Einstellung auch der Lautstärkereglerin Echtzeit zu funktionieren. Das war vorher nicht der Fall. Oder hast du etwas verändert? |
Re: Preview: Audorra - Opensource Audiobibliothek für Spiele
Danke für die Antworten,
könnt ihr mal noch 8*1024 ausprobieren? Funktioniert das? Mir wäre nämlich eigentlich lieber, wenn der erste Wert anstatt dem zweiten erhöht wird. EDIT: Und stresst das System dabei vielleicht mal noch ein bisschen... Irgend ein 3D-Spiel, der Virenscanner oder eine Endlosschleife (100% Auslastung pro CPU) sollte es tun. |
Re: Preview: Audorra - Opensource Audiobibliothek für Spiele
Zitat:
Stresstest kommt noch... [edit] Hab mit einem schnell geschriebenen Testprogramm alle meine 4 Kerne vollständig ausgelastet. Auf die Wiedergabe hat das keinen Einfluss. Beim beobachten mit dem Taskmanager ist mir aber etwas anderes aufgefallen: Wenn ein Lied fertig abgespielt wurde, erzeugt dein Programm 25% CPU Last (also umgerechnet auf einen kern 100%). Während des Abspielens passiert das nicht. Woran liegt das? [/edit] |
Re: Preview: Audorra - Opensource Audiobibliothek für Spiele
Hi Andreas,
Als Unbedarfter habe ich da doch mal ne Frage: Wo liegen die Anwendungsmöglichkeiten oder die Vorteile deiner Bib gegenüber BASS und FMOD? Zumindest die Demo sieht für mich aus, als wäre es etwas in Richtung BASS. Oder liegt der Schwerpunkt eher auf der Unterstützung für Spieleentwickler, die mehrere Audioquellen im virtuellen Raum benötigen? |
Re: Preview: Audorra - Opensource Audiobibliothek für Spiele
Zitat:
|
Re: Preview: Audorra - Opensource Audiobibliothek für Spiele
Zitat:
|
Re: Preview: Audorra - Opensource Audiobibliothek für Spiele
Hallo,
Zitat:
Bereits implementiert aber in der Demo nicht vorhanden ist die Möglichkeit statische (also komplett im Audiospeicher liegende) Sounds wiederzugeben (ähnlich der Soundliste in DelphiX). Die BASS.dll ist schön und gut (und auch von mir in vielen Projekten verwendet) aber eben nicht OpenSource, nicht kostenlos für kommerzielle Projekte und nicht nativ in Pascal geschrieben geschweige denn für Linux (ok, FMOD ist es) verfügbar. Achso, außerdem wird Audorra sich nahtlos in Andorra 2D integrieren. @NamenLozer Das mit 100% CPU-Auslastung ist mir auch gerade aufgefallen. Ich denke, dass der Audiotreiber ständig neue Daten anfordert, obwohl keine da sind. Ich habe noch kein "Stopp-Callback" implementiert. Die Buffergröße habe ich jetzt standardmäßig auf 8x1024 festgesetzt. |
Re: Preview: Audorra - Opensource Audiobibliothek für Spiele
Ah ok,
Sowas wollte ich hören. ;) Dann viel Erfolg, bist aufm guten Weg. :thumb: |
Re: Preview: Audorra - Opensource Audiobibliothek für Spiele
Was spricht gegen
![]() |
Re: Preview: Audorra - Opensource Audiobibliothek für Spiele
Siehe erster Post: keine 3D-Sound und Surround Unterstüzung. ;-)
Außerdem habe ich vor einige Teile aus ACS zu verwenden (auch wenn der Quellcode größtenteils nicht oder nur äußerst mau kommentiert ist und zudem teilweise seltsam verschachtelt (inc-Dateien etc.)). |
Re: Preview: Audorra - Opensource Audiobibliothek für Spiele
Wunderschön! :)
Demo funktiniert einwandfrei, das selbst Benutzen ist ein bisschen schwierig, weil der Beispielcode nicht kommentiert ist, aber das meiste erklärt sich ja, vielleicht könntest Du trotzdem ein kleines Tutorial für die Initialisation schreiben wenn du ein bisschen Zeit findest. Coole Sache, auf sowas hat die Welt gewartet ! Gruß Spiderpig |
Re: Preview: Audorra - Opensource Audiobibliothek für Spiele
Das meiste ist noch nicht kommentiert, da ich mit der Schnittstellenimplementierung teilweise nicht so zufrieden bin - die wird sich also noch ändern. Bevor es also noch kein offizielles Release gibt, wird es auch keine Dokumentation geben.
Ich habe übrigens Acinerella mit FFMpeg 0.5 kompiliert und kann jetzt auch (wieder) WMA, WMV und AC3 problemlos wiedergeben. Außerdem baue ich das Filtergraphsystem auf 32-Fließkommazahlen um, da die dauernde Konvertierung innerhalb der einzelnen Filtergraphblöcke sowohl Leistung als auch Qualität frisst. |
Re: Preview: Audorra - Opensource Audiobibliothek für Spiele
Ok, dann warte ich geduldig :D
|
Re: Preview: Audorra - Opensource Audiobibliothek für Spiele
Hi Igel,
ich könnte deine Audiobibliothek gerade wirklich gebrauchen! Ich hatte zuerst vor, die Bass.dll zu benutzen, mit der ich schon mal vor längerer Zeit was gemacht hatte, habe dann aber gemerkt, dass ich sie wegen der Lizenz abhaken kann. Mir ist klar dass dein Projekt noch am Anfang steht, meine Anforderungen sind jedoch nicht sehr groß. Eigentlich geht es mir nur darum, mehrere Sounds gleichzeitig abspielen zu können. Leider werde ich aus den Sourcen nicht ganz schlau. TAuPlayer kann ja anscheinend immer nur einen Sound abspielen, wenn ich das richtig sehe. Muss ich dann für jeden Sound einen einzelnen TAuPlayer erzeugen, oder gibt es da eine andere Möglichkeit? Bei der Bass.dll kann man mehrere Channels erzeugen, um mehrere Streams gleichzeitig abzuspielen. Was ist das Äquivalent dazu bei Audorra? Vielen Dank schon mal :) |
Re: Preview: Audorra - Opensource Audiobibliothek für Spiele
Hallo, du hast glück, dass ich gestern ein bisschen an Audorra gebastelt habe - dazu nachher mehr.
Momentan existiert nur eine Klasse zum Abspielen von Streams (TAuPlayer) - davon kannst du mehrere erzeugen. Einzelne Sounds werden noch nicht - so doof das klingt - von der Anwendungs-Abstrahierungsebene unterstützt. |
Re: Preview: Audorra - Opensource Audiobibliothek für Spiele
Liste der Anhänge anzeigen (Anzahl: 1)
Also, ich habe mal eine neue Version hochgeladen (siehe erster Post) - neu daran ist:
Changelog: - 32-Bit Genauigkeit im Filtergraphsystem - OpenAL Unterstützung (eine OpenAL Bibliothek für Windows liegt bei) - Verwendung verschiedener Devices in die Demo eingebaut - Läuft mit Linux - Verwendet Acinerella 1.2 Im Anhang ist ein kleines Bild von Audorra unter Linux. Wenn ihr die Demo(s) mit "WaveOut" verwenden wollt, löscht einfach die "soft_oal.dll" aus dem "bin" Ordner. Um die Bibliothek mit Linux zu verwenden, muss auch dort OpenAL installiert sein (in /lib/ oder /usr/lib/ sollte eine "libopenal.so" liegen - wenn nur eine "libopenal-1.so" oder so ähnlich vorhanden ist, mit ln eine Verknüfung darauf erstellen). Acinerella lässt sich einfach kompilieren, sobald FFMpeg unter Linux installiert ist. Wie immer bin ich auf eure Kommentare gespannt, Andreas |
Re: Preview: Audorra - Opensource Audiobibliothek (18.04.09)
Mal gut das du den ReportMemoryLeaksOnShutdown anhast :|
Code:
Und dabei hab ich nur die bin gestartet -> einen Track geöffnet -> Programm geschlossen.
---------------------------
Unexpected Memory Leak --------------------------- An unexpected memory leak has occurred. The sizes of unexpected leaked medium and large blocks are: 9260 --------------------------- OK --------------------------- Du findest wahrscheinlich schneller das fehlende free als ich. :-D Edit: Hmm wenn ich jetzt während des Liedes lauter stelle kommt bei +5db bis +10db ein immer lauteres rauschen. Das war in deiner alten Version nicht so. |
Re: Preview: Audorra - Opensource Audiobibliothek (18.04.09)
Das Memoryleak ist mir bekannt - ich habe aber noch nicht aktiv danach gesucht. Liegt vermutlich irgendwo in Acinerella. Ein Rauschen kann ich nicht bestätigen - nur, dass die Wiedergabe übersteuert (bei der letzten Version konnte man nicht so laut Reglen)
|
Re: Preview: Audorra - Opensource Audiobibliothek (18.04.09)
Ich habs gerade erst gesehen, super Arbeit die Du da leistest.
Zitat:
|
Re: Preview: Audorra - Opensource Audiobibliothek (18.04.09)
Zitat:
Zitat:
|
Re: Preview: Audorra - Opensource Audiobibliothek (18.04.09)
Ich hab grad och was entdeckt, wenn auch nicht so wichtig.
Wenn ich bei deinem Beispiel etwas wiedergebe und gleichzeitig im WMP12, und die beiden Programme nebeneinander in der Taskbar liegen, wenn man dann mit der Maus immer zwischen den Einträten bewegt, kommt ein knacken aus den Lautsprechern :mrgreen: |
Re: Preview: Audorra - Opensource Audiobibliothek (18.04.09)
Kann gut sein - Hängt mit der Kernelauslastung zusammen. Da unter Windows >= Vista die Audiodaten sowieso erstmal im Kernel gemixt werden und keine Soundhardwareunterstützung mehr vorliegt, ist das Ganze sowieso schlimmer. Du kann nur mal versuchen die soft_oal.dll zu löschen. Dann wird WaveOut und nicht OpenAL (DirectSound) verwendet.
|
Re: Preview: Audorra - Opensource Audiobibliothek (18.04.09)
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
irgendwie ist das nich wirklich sinnvoll mit mehreren TAuPlayern. Die Player brauchen so lange zum Laden, dass die Sounds teilweise nicht mal mehr abgespielt werden (bei sehr kurzen Sounds). Zudem kommt es manchmal dazu, dass sich das Programm aufhängt, was allerdings auch an meinem Code liegen kann. Das Problem ist, dass ich das ganze für ein Billardspiel brauche, bei dem nun gerade der Zusammenstoß zweier Kugeln akustisch dargestellt werden soll, also ein kurzer Klicksound. Wie könnte ich den Umweg über den TAuPlayer vermeiden, und das ganze "direkt" angehen? Habe mal meinen stümperhaften Versuch angehängt. |
Re: Preview: Audorra - Opensource Audiobibliothek (18.04.09)
Wie gesagt - für kurze Sounds ist der TAuPlayer nicht geeignet - dafür wird es Später ein extra Sound Objekt geben.
EDIT: Ich kann deinen Sound auch mit anderen Playern nicht richtig abspielen. MP3 ist für Sounds auch nicht richtig geeignet. |
Re: Preview: Audorra - Opensource Audiobibliothek (18.04.09)
Zitat:
Wie auch immer, ich werde dann wohl erstmal den hässlichen Weg über PlaySound gehen :pale: Trotzdem Danke und viel Erfolg mit deinem Projekt :cheers: |
Re: Preview: Audorra - Opensource Audiobibliothek (18.04.09)
Ich höre Sound mit Foobar2000 nicht - damit habe ich es ja getestet.
|
Re: Preview: Audorra - Opensource Audiobibliothek (26.04.09)
Ich habe eine neue Version hochgeladen. Geändert habe ich folgendes:
Changelog: - Synchronisierung der Visualisierung mit der Soundkarte - Hinzufügen des "Analyzer"-Klassenkonstrukts - Hinzufügen von zwei neuen Events zur "TAuPlayer" Klasse (OnStateChange und OnStop) - Hinzufügen einer Playlist zur Demo - Hinzufügen von zwei neuen Visualisierungen zur Demo (umschalten durch klicken auf die Visualisierung) Bekannte "Bugs": - Memoryleaks in Acinerella (werden beim Beenden angezeigt) - Probleme mit sehr kurzen Dateien - Das Demoprogramm für Lazarus hat noch keine Funktionalität! Wie immer bin ich gespannt auf euer Feedback, Downloads und aktualisierten Screenshot gibt es im ersten Post, Andreas |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz