Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Jo, ich habe fast direkt nach meinem Post angefangen, das ganze auf OpenGL umzubauen. Sieht nun so aus: (sorry für den VSync mitten drin, aber es ist so gut wie unmöglich da ein VSync-Problem-Freies Bild zu bekommen)
und läuft bei ner MP3 mit 12% CPU last, bei FLAC mit 30%. Also ähnlich wie FMOD. Nur dass es besser klingt .
Die Visualisierungen sind selber gebaut. Oben Waveform, Cyan = 1. Kanal, Rot = 2. Kanal, additiv geblendet. Unten links FFT Analyse, Cyan sind die exakten Werte, Rot sind durchschnittswerte über den Block, ebenfalls additiv geblendet.. Unten rechts die History der FFT-Werte als HSV-Ausgabe, Hue ist logischerweise der (allerdings invertierte, damits bei 0-werten nicht so aggresiv rot aussieht) Ausschlag des FFT, S und V sind beide konstant 1.0. Die History scrollt nach oben. Auch die Canvas-Versionen waren schon handgeschrieben im Timer, hab den großen Teil des Codes der Canvas-Versinoen aus meinem alten FMod-Projekt übernommen. Mit GL läuft das ganze aber doch deutlich fluffiger.
greetings
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2623 Wohnort: Berlin
Programmiersprache: Go, C/C++
Probier mal mit yield statt sleep, dass sollte noch ein bisschen was bringen. Sleep ist unter windows sehr ekelig langsam und braucht wie schon mehrfach im Forum erwähnt ca 16ms(Taktfrequenz vom Windows Timer, wenn man diesen nicht per API extra anpasst). Yield ist eine Threadfunktion, die erstmal sich auf eis legt, ein anderen thread vor lässt und wenn kein anderer Thread im OS arbeiten muss kehrt er sofort zurück. Dies hat den Vorteil, das bei Vollast das Programm nicht so Diva haft verhält.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2623 Wohnort: Berlin
Programmiersprache: Go, C/C++
Noch ein Vorschlag hab ich zu bieten. Schau dir mal http://www.fftw.org/ libfftw wenn noch nicht getan, das ist mit abstand die schnellste fft implementierung, welche selbst intel für OpenCV und einige Video/Audio Codecs verwenden. Vieleicht wäre das nochmal eine Verbesserung in der Performance.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Ich habe mir mal intensiv audorra angeschaut und bin echt beeindruckt.
Habs sogar ohne große mühe unter Delphi 7 kompiliert bekommen (simple_vcl).
Im großem und ganzem läuft das auch sehr robust. Dauert nur manchmal ziemlich lange, bis er erkennt das er eine Datei nicht abspielen konnte.
Würde ich ein neues Xenorate machen, was ich definitiv vorhabe dann würde ich nicht mehr Bass als Audiobibliothek verwenden sondern Audorra =)
Xenorate müsste aber dann mind. unter der MPL 1.1 Lizenz stehen ne um das zu nutzen oder ? Sprich es müsste Opensource sein, nicht Freeware bleiben so wie es jetzt in version 2.x ist.
Bin auf jedemfall sehr beeindruckt, hut ab. Mach weiter so.
Imho ist die MPL dateibasiert. D.h. wenn du an Audorra nichts änderst, musst du auch nichts open source veröffentlichen. Sie ist jedenfalls nicht so "viral" wie die GPL. Und im Zweifel kann man Audorra nicht als Bibliothek gegenlinken?
LG Ziz
_________________ Denn wer nur schweigt, weil er Konflikte scheut, der macht Sachen, die er hinterher bereut. Und das ist verkehrt, denn es ist nicht so schwer, jeden Tag zu tun als ob's der letzte wär’. Und du schaust mich an und fragst ob ich das kann. Und ich denk, ich werd' mich ändern irgendwann. _________________Farin Urlaub - Bewegungslos
Registriert: So Mai 11, 2003 10:36 Beiträge: 285 Wohnort: Oldenburg
Programmiersprache: Object Pascal
Nach dem ich es unter Lazarus endlich zum laufen gebracht hatte, war ich enttäuscht: Die MP3 Datei wurde viel zu schnell wieder gegeben. Außerdem stürze das Programm bei OGG Dateien ab. (Ich musste eine neue Version aus dem SVN Laden)
An Sich finde ich die Leistung von Audorra auch beeindruckend. Alleine der Aufwand für sowas. Ich hoffe das die Linux Unterstützung sich noch Verbessern wird.
Ich verwende KUbuntu 10.10 mit XFCE4 als Desktop und ich nutze Lazarus 0.9.29.
_________________ MFG<br> Michael Springwald, <br>
Bitte nur Links in Deutsch, nutze überwiegend Lazarus
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Ich habe unter Linux (Fedora 14, x86_64) keine derartigen Probleme. MP3 (auch gestreamt), OGG und FLAC laufen hier wunderbar. Nutzt du Acinerella oder direkt AuOgg und AuMPG123?
greetings
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Es sieht so aus als ob OpenAL nicht unter 64 Bit Windows 7 läuft. Bei Audorra / openAL bekommt man einen Fehler direkt beim start:
Ich verwende eine Aktuelle Lazarus version 0.9.3 / 30229 / FPC: 2.4.3 Der Fehler liegt wohl am 64 Bit. Bei 32 Bit funktioniert alles. Allerdings will ich nicht auf 32 Bit umstellen. Denn das Packt der Debugger nicht - dh ich müsste auf diesen Verzichten...
Code:
Die Anwendung konnte nicht korrekt gestartet werde (0xc000007b).
simple_lcl Der fehler tritt auf bevor der Erste eintrag aus OnCreate ausgeführt wird...
Was ich schon versucht habe ist überall wo {$IFDEF WIN32} steht in {$IFDEF WINDOWS} umzuwandeln, hat aber nichts geholfen...
Registriert: Do Jun 28, 2007 17:58 Beiträge: 193
Programmiersprache: Pascal, C
Ich würde dir sowieso nicht empfehlen OpenAL zu verwenden - da Audorra bei 3D-Sound nicht die Hardware-Beschleunigung nutzt, bringt dir dies auch keinen mehrwehrt.
Unter Windows ist die WASAPI oder DirectSound-Schnittstelle zu bevorzugen, unter Linux der ALSA-Treiber.
ok, Ich hab keihne Ahung von audorra. Aber ich nehme an das unterstützt aus WASAPI ? aubgrund einiger units die so heißen... Was ich sagen wollte ist, das das Standart Lazarus-lcl-simple projekt unter Windows 7 64 Bit nicht klappt , allerdings unter Windows 32 Bit funktioniert. Ich hab keihne AHnung ob dieses Projekt automatisch OpenAL oder WASAPI nutzt, aber ich habe OpenAL in mein Post geschrieben, da ich den gleichen fehler auch da hatte...
Registriert: Di Apr 29, 2008 18:56 Beiträge: 1213
Programmiersprache: Delphi/FPC
Hey,
ich hab mich in den letzten 2 Tagen mal bisl mit Audorra beschäftigt, weil wir es evtl für unser Projekt benutzen wollen. Leider hab ich es noch nicht wirklich zum laufen bekommen. Da wir mit Lazarus arbeiten hab ich mir erstma die "simple_lcl" Demo vorgenommen. Nachdem ich es endlich soweit geschaft hab, das es kompiliert und startet kommt jetzt n Fehler sobald ich versuch eine Datei zu öffnen (AuPlayer.Open; Z.439; main_laz.pas). Kann mir da jmd helfen?
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Welcher Fehler?
grüße
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.