PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : BeSweet; Resampling 44,1 -> 48 kHz


Axel.S
14.08.2004, 11:05
Hallo...

Problem: Beim Wandeln eines Audiostreams ist im Ausgabefile ein leichtes Knistern zu hören.

Ich muss gestehen, ich habe bisher nie mit BeSweet gearbeitet. Die Dokumentation muss man sich mühsam zusammensuchen und die Befehle änderten sich wohl auch anders als dokumentiert (toolame vs. 2lame, usw.). Zum Wandeln habe ich u. a. folgenden Befehl verwendet (V1.4):

E:\Applikationen\BeSweet\BeSweet.exe -core( -input "f:\temp\1.mp2" -output "f:\temp\1resampnorm.mp2" -logfilea "E:\Applikationen\BeSweet\BeSweet.log" ) -ota( -g max ) -ssrc( --rate 48000 ) -2lame( -m s -b 256 -e )

Mit den ota-Parametern habe ich gespielt, da es sich für mich nach Clipping anhört - jedoch erfolglos. Nachdem ich einige Zeit investiert hatte, hab ich den Stream durch TMPEG laufen lassen. Das hat dann funktioniert.

Ist das ein Problem der Einstellungen (also vor dem PC :D ), oder macht Besweet (oder besser SSRC) hier Probleme?

dvb.matt
14.08.2004, 11:35
guckst du hier (http://forum.dvbtechnics.info/viewtopic.php?t=757&highlight=besweet) , hier (http://forum.doom9.org/showthread.php?s=&threadid=72375) oder hier (http://forum.gleitz.info/showthread.php?p=82667#post82667)

viell. hatts ja damit auch zu tun...

akapuma
14.08.2004, 11:46
Hallo Axel.S,

Deine ota-Parameter machen ein sog. Postgain. Es wird während des Transcodierens ein Verstärkungsfaktor ermittelt, der nach dem Transcodieren in einem "Postgain-tag" im Header abgelegt wird. Meiner Meinung nach läßt sich clipping hierduch nicht richtig vermeiden, da der Faktor besser zwischen De- und Encodieren angewandt würde. (PS: Ich bin Postgain-Hasser)

Hybridgain wird oft als Post- und Pregain bezeichnet, ist aber in Wirklichkeit nur ein Postgain-DeLuxe.

Ich würde eher Pregain verwenden -ota( -norm 0.97), allerdings macht BeSweet dann (logischerweise) 2 Durchläufe.

Ob das Dein Problem löst, weiß ich allerdings nicht. Ich benutze auch -ssrc, allerdings zum Downsamplen von 48 auf 44,1kHz, das funktioniert. Der umgekehrte Weg ist nicht möglich, dazu braucht man die SSRC.exe, die aber nicht als Parameter in BeSweet verwendet werden kann:

http://forum.gleitz.info/showpost.php?p=112697&postcount=12

Gruß

akapuma

Axel.S
14.08.2004, 14:33
Danke für's Feedback. Sehr nützliche Links. Irgendwie trotzdem frustrierend für mich, da ich ja ne gute Stunde rumgegoogelt und Boards durchflöht habe - anscheinend mit falschem System.

Ich habe auch mal mit Pre-Gain und Hybrid-Gain (was letzteres genau macht, habe ich auch noch nicht herausgegeoogelt) probiert, auch mit dem "norm"-Befehl (da gab's nen Satz Fehlermeldungen). Blieb aber bei dem Geknackse. So wie's ausschaut, muss man doch den Umweg über *.wav und ssrc gehen.

Die Beta probiere ich auch noch aus.

Falls das nix bringt, muss ich mir dann doch das MPEG genauer anschauen. Ich schätze, das hier: http://forum.gleitz.info/showpost.php?p=112697&postcount=12
trifft den Nagel wohl auf den Kopf.

Also, nochmal thanks.

Axel

Öhm, edit: -g macht doch Pre-Gain? Guck, mal akapuma, das steht in der ota-readme der Version 1.4 !!??:

-g GAIN
-------

Default: 1.0 (or 0db)

This option controls the overall track PreGain. The value can be given
in db's (by specifying "db" after the argument) or a positive numerical
value. Examples: -g -3db, -g 5.3, -g 6db

-g max, is a special switch for finding maximum gain. (Normalize)

Axel.S
15.08.2004, 09:19
...so, hier der "Abschlussbericht":

Mit der V1.5b29 und der Defaulteinstellung "...MP for DVD" knackst es nicht mehr. Die shibatch.dll ist in der Beta neueren Datums.

Weiterer Vorteil der Beta: Die Dokumentation passt nun zu den Befehlen. ;)

Da denkt man "nimm bloß nicht die Beta" da man mit einer stable version ja auf der sicheren Seite liegt... Pustekuchen...

akapuma
15.08.2004, 14:07
Hallo,

zu -g:
Du hast recht! Allerdings wird oft empfohlen, nicht auf 100%, sondern nur auf 97% zu normalisieren. Das sollte auch ein paar Fehlermeldungen weniger geben.

Bei BeSweet gilt: erst die Stable installieren, darüber die Beta!!!

War das Knacksen am Anfang? Hier hatten ältere BeSweet-Versionen ein Problem wenn
- das Quellmaterial MP2 ist
und gleichzeitig
- Pregain verwendet wurde.

Siehe hier (http://forum.doom9.org/showthread.php?s=&threadid=72375&)

Gruß

akapuma

Axel.S
15.08.2004, 21:39
Als default stand -hybridgain im ini-File vom GUI. Hybridgain macht wohl u. a. Pregain mit 97%. Mangels Zeit habe ich mich aber noch nicht intensiv mit befasst. Vielleicht geht's auch ganz ohne Pegelschrauberei. Auf jeden Fall funktioniert es so.

Das Knacksen (besser Knistern) war im gesamten File zu hören.

akapuma
15.08.2004, 23:33
Hybridgain macht wohl u. a. Pregain mit 97%.

NEIN!!!

Postgain:
Das Quellmaterial wird decodiert und sofort wieder encodiert. Dabei wird der maximal vorhandene Pegel ermittelt. Liegt er nur bei 50%, müßte er zur maximalen Aussteuerung mit den Faktor 2 (6dB) verstärkt werden. Hierzu wird im Header der Zieldatei (im Postgain-Tag) der Faktor 2 bzw. 6dB eingetragen. Beim Abspielen liest der Player zuerst den Faktor und multipliziert die Werte beim decoden mit 2. Die aufgezeichneten Audiodaten selbst haben aber nur 50% des max. möglichen Wertes.

Pregain:
Das Quellmaterial wird erst einmal komplett decodiert und hierbei der Faktor ermittelt, der für die max. Aussteuerung notwendig wäre, in unserem Beispiel 2. Danach wird das Quellmaterial nochmals decodiert, als Fließkommazahl mit 2 multipliziert und dann encodiert. In das Postgain-Tag der Zieldatei wird 0dB oder Faktor 1 geschrieben. Die aufgezeichneten Audiodaten selbst haben 100% des max. möglichen Wertes.

Wie unterscheidet man Pregain und Postgain?
- Pregain benötigt 2 Durchläufe, Postgain nur einen.
- Bei Pregain ist das Postgain-Tag immer 1=0dB, bei Postgain nicht.

Was macht Hybridgain?
- nur einen Durchlauf
- Postgain-Tag meist <>1 bzw. 0dB

Also macht Hybridgain kein Pregain. Was Hybridgain genau macht, weiß keiner so genau, ich vermute mal, daß es zwischen De- und Encodieren zwar auch einen Faktor ansetzt, der aus Headerinformationen gesammelt wird. Also ein Postgain-DeLuxe und noch lange kein Pregain. Wie ich bereits schrieb, ich bin PostGain-Hasser. Und sollte Dich der Zeitverlust des 2-ten Duchlauf's stören: Es dauert nicht doppelt so lange, sondern geht viel schneller. Und den Zeitverlust bekommst Du schnell wieder raus, wenn Du BeSweet einfach im Vollbild (http://forum.gleitz.info/showthread.php?t=14855) laufen läßt.

Gruß

akapuma

Axel.S
16.08.2004, 17:20
NEIN!!!


Schlecht geschlafen? :D

Ok, Postgain. Hast ja recht. Steht sogar im Log... ;)

Zum Hybridgain... hatte nun mal Zeit, um genauer zu lesen.


-hybridgain

apply absolute pre-gain and relative post-gain normalization ("hybridgain")

if inputfile is a stereo ac3, disable dialog normlization and pregain

if inputfile is six channels ac3, enable dialog normilzation and apply pregain in accordance to dynamic range compression level :

no compression : 7db. light compression : 8db. normal compression : 10db. heavy compression : 14db. inverse compression : 5db.

if outputfile is mp3, set lame's scale switch to 1.

if outputfile is mp2/mp3/ogg, apply postgain of 97% on the processed file

if output file is not mp2/mp3/ogg, "-hybridgain" will act like "-g max"


Die vorletzte Zeile dürfte für meinen Fall zutreffend sein.

Hab jetzt übrigens mal komplett ohne ota-Parameter gewandelt. Das tut's in meinem Fall auch. Da das Input-File nicht bis zum Anschlag ausgesteuert ist, dürfte das auch ausreichend sein. Ein, zwei dB Luft nach oben haben noch nie geschadet.