Buffer lenght 0 ms bei Full file buffering geht nicht

Begonnen von Richy, 21. April 2012, 13:39:26

Vorheriges Thema - Nächstes Thema

Richy

Buffer lenght 0 ms bei Full file buffering geht nicht.
Ich habe unter Full "file buffering"  600000 kB eingetragen.
Musik Dateien auch in CD-Image Größe sollten bei dieser Größeneinstellung vollständig ins RAM geladen werde, wenn ich alles richtig verstanden habe.
Da die Musik Dateien nun im RAM sind wollte ich die Buffer lenght auf 0 ms stellen damit nicht Teile dieser Dateien nochmals in den Speicher geladen werden. Das geht schon mal nicht. Der Minimalwert ist 50 ms.
Bei diesem Wert werden Livealben bei Trackwechsel jedoch nicht ohne Unterbrechung wiedergegeben. Für die Unterbrechungsfreie Wiedergabe muß ich "Buffer lengh" ca. 800 ms einstellen um sicher zu gehen, trotz Full file buffering.
Mir scheint das mehrfache in den RAM laden und im RAM hin- und hergeschiebe ziemlich unökonomisch hinsichtlich der Recourcen zu sein.

Zumal ich bei der Musikwiedergabe über den S/PDIF-Ausgang einer  ASUS Xonar Essence immer wieder mal Sound dropouts habe, egal welche Buffer Einstellung ich vornehme. Dabei spielt es auch keine Rolle ob ich den Direct Sound oder den ASUS Asio Treiber für die Wiedergabe verwende.
Der DPC Latency Checker zeigt auf meinem System 10 us Latency an und meldet "This machine should be able to handle real-time streaming of audio and/or video data without drop-outs."
Mit einem anderen RAM-Player (cPlay) gibt es via ASUS Asio (Treibereinstellung 32bit/1ms) definitiv gar keine Sound dropouts.

Da ich Foobar als Organisationstool für Musik sehr schätze würde ich meine Musik auch gerne darüber abspielen. Geht aber aus den beschriebenen Gründen nicht.
Ist Foobar2000, was die Wiedergabe betrifft, einfach schlecht programmiert oder habe ich vielleicht eine versteckte Einstellung übersehen?


Richy

Mit der RAM-Disk muß ich für die unterbrechungsfreie Wiedergabe bei Live-Tracks die "Buffer lengh" auf nunmehr ca. 300 ms einstellen.
Nach durchlesen der entsprechenden Threads stelle ich fest, daß ich mit Foobar Sound dropouts erzeuge, obwohl der synchrone oder asynchrone Modus meines DAC keine Rolle spielt, da ich den S/PDIF Ausgang meiner Soundkarte benutze.
Da werde ich wohl bis auf weiteres cPlay für die Wiedergabe benutzen müssen. Mit diesem Player taucht übrigens auch nicht die hier beschriebene...
http://foobar-users.de/index.php?topic=3201.0
Problematik auf.

Klasse wäre, wenn ich in Foobar selektierte Tracks an cPlay übergeben könnte, geht sowas?



TomPro

Es würde mich einfach mal interessieren wofür Du eine Low Latenz Maschine brauchst um Musik wieder zu geben. Low Latenz ist ausnahmslos doch nur für das Aufnehmen sinnvoll, damit für den Musiker sich das Gefühl der Synchronität einstellt. (alles etwas einfach beschrieben) An sonsten belastet ein hochgetunter Low Latenz ASIO Rechner doch nur das komplett System. Wenn Du eine Latenz von sagen wir mal 5000 ms Einstellen würdest, dann würde sich dieser Umstand nur in einem einzigen Fall bemerkbar machen. Wenn Du 4 sec. vor Schluß eines Liedes z.B. den Zusand "Stop after Current" einschaltest (oder den Shufflemodus änderst), bezieht dies Foobar schon auf das nächste Lied, da ja schon 1 sec im Buffer geladen sind und damit "Verwaltungstechnisch" das Nächste Lied schon von HD gestreamt wird.

Das einstellen von hohen Latenzen bei reinen Wiedergabemaschinen sorgt dafür, das die Anderen Aufgaben des Rechners wie die Grafik zum Beispiel den Audiostream nicht stören können. Ausserdem, stellst Du die Latenz innerhalb von Foobar ein so bezieht sich dieses ja nur auf die Softwarelatenz. Foobar benötigt hallt ein paar Rechenschritte für z.B. die Datenbankzugriffe die Foobar ja Taging freundlich machen, oder für die Herstellung der tollen "Skins". Diese Softwarelatenz hat ja nichts im geringsten mit der ASIO Latenz der Hardwarebuffer der Soundkarte zu tun. Tiefer will ich jetzt nicht in das Thema einsteigen, da es ist wie es ist "Latenz" ist nur ein Oberbegriff für alles was mit Verzögerung der Systembedingten Art zu tun hat.

Richy

#4
Hallo TomPro,
vielen Dank für deine Antwort.

Der DPC Latency Checker gab mir die Auskunft das ich eine Low Latenz Maschine habe und daß dies angeblich wichtig für die unterbrechungsfreie Wiedergabe der Musik wäre. Durch Einstellen der Größe der Buffer in Foobar oder meinetwegen auch im Asio-Treiber läßt sich die niedrigst mögliche Latenz der Musikwiedergabe durch den PC auch nicht beeinflussen.

Mit Foobar habe ich jedoch trotz meiner Low Latenz Machine immer mal wieder kurze Aussetzer beim Musikhören, sowohl via Asio wie auch DS.
Da ich mit cPlay gar keine Aussetzer wahrnehme und der DPC Latency Checker meinem System einwandfreie Voraussetzungen bescheinigt kann es nur an Foobar liegen. Möglicherweise benötigt Foobar halt ein paar Rechenschritte und ein paar Buffer Zuviel für alles mögliche, aber das ist nur Spekulation. Die Latenz ist mir wirklich schlichtweg egal, die ständigen Aussetzer beim Musik hören sind's die mich an Foobar nerven.

Da ich Foobar als Organisationstool für Musik sehr schätze, wegen der Musikaussetzer damit aber nicht wiedergeben kann, wäre es klasse wenn ich in Foobar selektierte Tracks an cPlay übergeben könnte. Das würde meine Probleme lösen und darauf zielte auch meine Fragestellung ab.

Also TomPro, wie kann ich die Tracks übergeben?

TomPro

Zitat von: Richy in 23. April 2012, 22:02:06Der DPC Latency Checker gab mir die Auskunft das ich eine Low Latenz Maschine habe und daß dies angeblich wichtig für die unterbrechungsfreie Wiedergabe der Musik wäre.

Ich versuchte Dir zu vermitteln, das dies nicht stimmt. Low Latenz ist für das Recorden Wichtig, wenn du im Mehrspurbetrieb zu vorhanden Material weiteres dazuspielen willst.

Zum Abspielen kannst Du auch eine Latenz von 10 Stunden einstellen, dies hätte nur Programm interne Auswirkungen wie ich versuchte zu beschreiben.

Stell eine höhere Latenz (ich benutze 5000 ms) in Foobar ein, Foobar braucht halt einige zusätzliche Ressourcen (in Abhängigkeit der verwendeten Plug Ins und der Oberflächengestalltung) und gut ist.

Richy

#6
Hallo TomPro,

der DPC Latency Checker gibt die von Dir beanstandete Auskunft und nicht ich. Da der DPC Latency Checker jedoch so etwas wie ein im englischen wie sowohl im deutschen Foobar Forum anerkanntes Referenztool in Sachen Messung der Latenz für störungsfreie Musikwiedergabe ist, vertraue ich ehrlich gesagt, zumindest in diesem Punkt, eher dessen Information als Deiner werten Auskunft. Ich bin auch der Meinung, daß es sich hier im Prinzip um ein Mißverständnis handelt, da wir über zwei verschiedene Sachen diskutieren. Zum einen handelt es sich um die minimal mögliche Latenz, welche der DPC Latency Checker misst und Du sprichst von der manuell eingestellten Latenz durch Veränderung der "Buffer lengh". Generell gilt aber, je geringer die mit der Maschine mögliche Latenz, desto besser ist es.

Die "Buffer lengh" habe ich schon vor geraumer Zeit testweise ohne positives Resultat auf höhere Werte gestellt. Auch auf die von Dir erwähnten 5 Sekunden. Leider ist es damit aber nicht gut. :tickedoff:

Weiter oben hat Grimes Links ins englische Forum installiert. Dort wird darüber diskutiert, daß unter bestimmten Umständen die Aussetzer in der Musikwiedergabe bei Erhöhung der "Buffer lengh" sogar zunehmen. Leider ist der Foobar Programmierer Peter aber bisher nicht dazu aufgelegt etwas zu ändern. Man muß also abwarten. :top:

Also TomPro, noch ein Versuch, wie kann ich die Tracks an cPlay übergeben? ::)

TomPro

Zitat von: Richy in 24. April 2012, 14:02:31
der DPC Latency Checker gibt die von Dir beanstandete Auskunft und nicht ich. Da der DPC Latency Checker jedoch so etwas wie ein im englischen wie sowohl im deutschen Foobar Forum anerkanntes Referenztool in Sachen Messung der Latenz für störungsfreie Musikwiedergabe ist, vertraue ich ehrlich gesagt, zumindest in diesem Punkt, eher dessen Information
Kannst Du ja auch. Du erhältst einen Messwert. Aber Interpretieren musst Du Ihn halt selber. Ich habe lediglich gesagt, das dieser Messwert für Dein Vorhaben keinerlei Relevanz darstellt. Du hättest auch schreiben können das Deine Zimmerdecke 2 Meter 64 Hoch ist. Auch diese würde ich Dir glauben hat aber genau so viel Relevanz für Dein Problem.

Zitat von: Richy in 24. April 2012, 14:02:31
als Deiner werten Auskunft.
So ist das nun mal mit Foren, man kennt sich ja nicht wirklich. Übrigens opfere ich hier nur meine Zeit um Dir zu helfen.

Zitat von: Richy in 24. April 2012, 14:02:31
Ich bin auch der Meinung, daß es sich hier im Prinzip um ein Mißverständnis handelt, da wir über zwei verschiedene Sachen diskutieren. Zum einen handelt es sich um die minimal mögliche Latenz, welche der DPC Latency Checker misst und Du sprichst von der manuell eingestellten Latenz durch Veränderung der "Buffer lengh". Generell gilt aber, je geringer die mit der Maschine mögliche Latenz, desto besser ist es.
Und genau das ist falsch. Zum dritten mal: eine geringe Latenz ist nur bei der Aufnahme in einem Mehrspursystem nötig nicht für eine Wiedergabe, dort kann sie sogar ehr hinderlich sein.

Zitat von: Richy in 24. April 2012, 14:02:31
Die "Buffer lengh" habe ich schon vor geraumer Zeit testweise ohne positives Resultat auf höhere Werte gestellt. Auch auf die von Dir erwähnten 5 Sekunden. Leider ist es damit aber nicht gut. :tickedoff:
Dann wissen wir jetzt, das foobar nicht primär das Problem ist sondern das Zusammenspiele von foobar und deinem Rechner. Durch eben diese "Try and Error Methodik" kreist man Fehler ein.

Übrigens durch folgende Aussage:

Zitat von: Richy
Ich habe unter Full "file buffering"  600000 kB eingetragen.
Musik Dateien auch in CD-Image Größe sollten bei dieser Größeneinstellung vollständig ins RAM geladen werde, wenn ich alles richtig verstanden habe.
Da die Musik Dateien nun im RAM sind wollte ich die Buffer lenght auf 0 ms stellen damit nicht Teile dieser Dateien nochmals in den Speicher geladen werden.

Hast Du bei mir nur Verwirrung ausgelöst. Der Buffer wird gefüllt wenn Du auf Play drückst und dann vorrangig, mit höchster Priorität (im Konfliktfall vorrangig vor Grafikberechnungen) für die Datenweitergabe an die Soundkarte gebraucht. Dieser Buffer wird Kontinuierlich dann nachgefüllt wenn der Player auch läuft.


Zitat von: Richy in 24. April 2012, 14:02:31
Weiter oben hat Grimes Links ins englische Forum installiert. Dort wird darüber diskutiert, daß unter bestimmten Umständen die Aussetzer in der Musikwiedergabe bei Erhöhung der "Buffer lengh" sogar zunehmen. Leider ist der Foobar Programmierer Peter aber bisher nicht dazu aufgelegt etwas zu ändern. Man muß also abwarten. :top:
Da Englisch nicht meine Sprache ist kann ich dazu nichts sagen.

Zitat von: Richy in 24. April 2012, 14:02:31
Also TomPro, noch ein Versuch, wie kann ich die Tracks an cPlay übergeben? ::)

Keine Ahnung, sonnst hätte ich Dir auch Dabei geholfen.

Richy

#8
@TomPro
ZitatKeine Ahnung, sonnst hätte ich Dir auch Dabei geholfen.

Ich habe eine konkrete Frage gestellt zu der Du dich überhaupt nicht geäußert hast.
24 Stunden und drei Deiner Posts später kommt heraus, daß Du keine Ahnung hast.
Entschuldige bitte, das ist Deine eigene Schuld wenn Du deine Zeit für so etwas opferst. Das hättest Du wirklich schon im ersten Post zugeben können, oder am besten Du hättest dich zu dem Thema gar nicht geäußert. Damit hättest Du unserer beider Zeit gespart.
Ende @TomPro

Meine Frage ist also immer noch offen.
Gibt es eine Möglichkeit in Foobar markierte Tracks an einen anderen Player (z.B. cPlay) zu übergeben?

fbuser

Zitat von: Richy in 24. April 2012, 17:47:10Meine Frage ist also immer noch offen.
Wer so beratungsresistent ist wie du und offensichtlich auch Verständnisprobleme hat, braucht sich nicht zu wundern, wenn seine Fragen nicht beantwortet werden. (Ja, das beantwortet deine Frage auch nicht, aber es ist Zeitverschwendung unsinnige Lösungsansätze zu unterstützen).

Eine größere Pufferlänge kann nur bei ASIO zu Problemen führen aber nicht bei Verwendung von DS, was ohnehin zu bevorzugen ist. Auch 5s Puffer können u.U. zu kurz sein, wenn die Dateien auf einem langsamen Netzwerklaufwerk liegen. Wenn du den Puffer auf 30s einstellst und DS verwendest, bezweifele ich, daß du noch Aussetzer hast. Und "full file buffering" solltest du auch ausschalten, wenn du "gapless playback" haben willst.

Ansonsten hilft dir foo_ramdisk eventuell auch weiter.

TomPro

Geholfen hatte ich Dir nur hattest Du weit mehr als eine Konkrete Frage gestellt und all dein schreiben wies darauf hin das Du nicht weist wovon Du schreibst.

Richtig, Deine ABSCHLIESSENDE Frage kann ich Dir nicht beantworten, und ich lehne mich jetzt mal aus dem Fenster und glaube, das NIEMAND das kann.

Da Du aber anscheinend SOOOOOOOOOOOOOOOOOOOOOOOO auf Deine ABSCHLIESSENDE Frage fokussiert bist hast Du die Hilfe die ich Dir geboten habe gar nicht erst zur Kenntnis genommen.

Ich arbeite seit über 25 Jahren Professionell als Tontechniker, habe die Digitale Audiotechnik von den Kinderschuhen bis heute begleitet, und habe zu dem Thema wohl schon mehr wieder vergessen als Du jemals lernen wirst. Ich hatte mich mit Dir beschäftigt, leider kann man es anders herum nicht erkennen, mea culpa wenn ich mich irre, aber in einem liegst Du vollkommen Richtig, für MICH ist hier Schluss, nichts desto trotz hoffe ich das Dir durch andere Hilfe widerfahren wird.

mfg

TomPro

Richy

#11
Post zensiert wegen Beleidigung - grimes

fooamp

#12
Da ich von diesem Thema keine Ahnung habe, aber aus Erfahrung um die Kompetenz von TomPro und fbuser weiß, schließe ich diesen thread. Das wird hier nichts mehr.

Die Schreibrechte wurden Richy aufgrund massiver Beschimpfungen (Verstoß gegen unsere Nutzungsbedingungen) vorerst entzogen. Es ist ja schließlich nicht das erste mal; wir mußten bereits einen thread von Richy wegen Beleidigung aus dem öffentlichen Bereich nehmen. So jemanden kann kein Forum auf die Dauer gebrauchen.

Tut mir Leid für TomPro und fbuser, daß wir damals nicht konsequenter reagiert haben, das hätte euch neuerliche "Arbeit für umsonst" erspart.

Edit

Account wurde auf Anfrage gelöscht.