Stille-Elemente in Build 1180

Irgendwas ist komisch mit den Stille-Elementen im neuesten Snapshot. Trage ich als Länge 1 Sekunde ein und spiele das Element im Cue-Editor ab, dauert es gefühlt länger als eine Sekunde. Außerdem lassen sich die Elemente nicht auf eine Länge unter 1 Sekunde eincuen. Sie entladen sich dann nicht mehr aus dem Player.

Hm, das ist merkwürdig.

Es hat sich in der Tat etwas Grundlegendes geändert bei den Stille-Elementen. Und zwar übernimmt nicht mehr mAirList selbst das “Abspielen” der Elemente (mittels eines Timers, der die Cuepunkte meldet), sondern die BASS.DLL. Und zwar gaukelt mAirList dieser eine leere WAV-Datei in der entsprechenden Länge vor. Diese WAV-Datei wird nicht wirklich irgendwo erzeugt, weder auf der Festplatte noch im RAM, sondern mAirList generiert sie “on the fly” so wie von BASS angefragt. An sich muss dazu nur der passende WAV-Header erzeugt werden, der Rest sind Nullbytes.

Warum das Ganze? So ließ es sich erreichen, dass Stille-Elemente jetzt auch im Mix Editor, in Containern und im Mixdown verwendet werden können. Sind ja “ganz normale Dateien”, aus Sicht der BASS.DLL.

Ich habe das sehr umfangreich getestet, will aber natürlich nicht ausschließen, dass ich irgendein Problem übersehen habe. Es wäre zunächst zu erörtern, ob das Problem schon beim Generieren der WAV-Datei besteht (Fehler im Header? etc.), oder erst bei der Übergabe an BASS.

Ich habe daher im neuen Build 1181 folgendes gemacht: Wenn man den Debug-Modus aktiviert (Verschiedenes -> Optionen), dann wird die jeweils letzte Erzeugte Stille-Datei tatsächlich als WAV auf der Festplatte abgelegt, und zwar unter dem Namen debug-silence.wav im Datenordner.

Mich würde nun interessieren, ob du die Probleme reproduzieren kannst, wenn du mit dieser WAV-Datei anstelle des Stille-Elementes arbeitest.

Gerade getestet: Die Wave-Datei verhält sich genauso wie von mir oben beschrieben.

Dann lass mir selbige doch bitte einmal zukommen.

Ist unterwegs!

Ist angekommen, danke. Läuft bei mir problemlos…

Jetzt generiere mal mit einem Audioeditor deiner Wahl eine identische Datei, mit 1 Sekunde Stille. Gleicher Effekt dann?

Ich habe den Eindruck, es liegt gar nicht an der Datei, sondern an einem anderen “Phantom-Bug”, von dem ich schon mehrfach gehört habe, dem ich aber selbst bislang nicht begegnet bin. Und zwar soll mAirList (oder BASS) teilweise Probleme mit “sehr kurzen” Dateien haben, mit ähnlichen Effekten wie von dir beschrieben.

Interessant wäre in dem Zusammenhang die Frage, wie du ausspielst: WDM oder ASIO? Und wenn WDM, dann Hardware- oder Software-Mixing?

Was heißt denn “läuft problemlos”? Kannst du sie z.B. auf 0:00.950 eincuen? Wird sie dann beim Abspielen wieder entladen?

Ich habe eine identische Datei generiert. Gleicher Effekt.

Ausgespielt wird über WDM, Hardware-Mixing.

Ja, alles mögliche ausprobiert, verhält sich ganz normal.

An dem “WAV-Generator” scheint es dann jedenfalls nicht zu liegen, wenn sich das auch mit anderen kurzen Dateien reproduzieren lässt.

Auf was steht die BASS-Puffergröße bei dir?

Hier ist übrigens der Thread zum Thema kurze Dateien: http://forum.mairlist.com/index.php/topic,5227.msg37455.html#msg37455

Ich werde versuchen das bei mir zu reproduzieren.

Puffergröße steht bei 500 ms.

Folgendes habe ich noch herausgefunden: Für meine On-Board-Soundkarte sind die kurzen Stille-Elemente kein Problem, für meine Terratec Aureon 7.1 USB dagegen schon. Wenn ich allerdings Software-Mixing für die Terratec einschalte, gibt’s keine Probleme mehr. Hat das irgendwelche Nachteile?

Mit “Software-Mixing” meinst du konkret die Einstellung “Software-Mixing auf Anwendungsebene”, ja? Die zu aktivieren ist grundsätzlich kein Problem, man sollte dann nur die Puffergröße herabsetzen, weil diese einen direkten Einfluss auf die Latenz hat. Anders als beim Hardware-Mixing, wo man den Puffer ruhig sehr groß wählen kann.

Ich habe den Eindruck, der Bug hängt etwas davon ab, wie die Soundkarten die Daten verarbeiten. Vielleicht damit, wieviel Daten schon in den Soundkarten-Puffer geschoben wurden.

Die Puffergrößen waren für beide Karten identisch eingestellt?

Ich habe auch irgendwo noch so eine Aureon-USB-Karte rumfliegen. Vielleicht lässt es sich mit der reproduzieren.

Oh, und häng doch bitte mal eine MMD-Datei mit den Cuepunkten an, mit denen du das reproduzieren kannst.

Schließlich: Mach bitte sicherheitshalber noch ein Update auf die aktuellste BASS.DLL von www.un4seen.com.

Wenn es mit der noch immer auftritt, würde ich mich an Ian wenden. Möglicherweise kann der eine Debug-Version zur Verfügung stellen, um herauszukriegen, woran genau es liegt. Du müsstest dann vielleicht als Versuchskaninchen herhalten.

Ja.

Ich habe jetzt ja wieder mit einem Stille-Platzhalter gearbeitet, sodass sich die Cuepunkte nicht in eine MMD-Datei exportieren lassen. Es reicht aber, wenn du die Länge der Datei auf eine Sekunde festlegst und den Cue In bei 0:00.990 setzt.

[quote=“Torben, post:14, topic:7612”]Schließlich: Mach bitte sicherheitshalber noch ein Update auf die aktuellste BASS.DLL von www.un4seen.com.
Wenn es mit der noch immer auftritt, würde ich mich an Ian wenden. Möglicherweise kann der eine Debug-Version zur Verfügung stellen, um herauszukriegen, woran genau es liegt. Du müsstest dann vielleicht als Versuchskaninchen herhalten.[/quote]
Auch mit der neuesten BASS-Version besteht das Problem.

Ich habe dir hier mal ein kleines Testprogramm hingelegt: http://www.mairlist.com/download/misc/silencetest/

Bitte prüfe mal, ob sich das Problem damit reproduzieren lässt. Einfach die silencetest.exe ins mAirList-Verzeichnis kopieren (damit die bass.dll mitverwendet werden kann), und die silencetest.wav ebenso (das ist 1s Stille die kannst du aber au

Es handelt sich um eine Konsolen-Anwendung, die mit bis zu vier Parametern gestartet werden kann:

silencetest.exe [device] [initflags] [fileflags] [cuepunkt]

Device ist die Nummer der Soundkarte, default ist 1 - siehe devices.ini für die anderen Nummern bei dir im System.

initflags und fileflags lass mal zunächst beide auf 0

cuepunkt ist der Cue In in ms, default 990

Das Programm lädt nun die Datei, spielt sie ab, und wartet auf das Erreichen des Endes (es wird “EndSync” angezeigt). Das Ganze in einer Schleife, bis man Ctrl+C drückt.

Die Frage wäre nun, ob das bei dir irgendwann stehenbleibt, weil der EndSync nicht kommt.

Ich habe die Datei jetzt ohne Parameter ganz normal gestartet. Das läuft ziemlich lange, aber stehen bleibt nix…

Ohne Parameter bedeutet Device 1 - ist das deine Onboard-Karte?

Nee, das ist die USB-Karte!