AC3 Encoder, Vergleich, Analyse.

  • Ich habe mal mit div. AC3 Encodern ein stereo.wav, OHNE Behandlung des Original, mit folgenden Daten gewandelt (mußte extra bei allen die Norm auf -31db stellen, weil ffmpeg oder BeSweet keine Einstellungen zu lassen)

    Verwendete Encoder:
    * BeSweet, ffmpeg, Nero (ffmpeg-Plugin), Pegasys AC3 Encoder, Sonic Scenarist3(Audio Transcoder), Sonic SoftEncode und der vom Sony SoundForge.

    AC-3 File type: Non-Intel byte order (0x0b)
    Sample rate: 48.000 Hz
    Data rate: 192 kbps
    Audio coding mode: 2/0 (L, R)
    Bit stream mode: Main audio service: Complete main
    Dialog normalization: -31 dB
    Center mix: None
    Surround mix: None

    dann mit SoftEncode decodiert und mit Sox Analysiert (sox datei.wav -e stat):

    Code
    source    besweet     ffmpeg       Nero    Pegasys  Scenarist SoftEncode SoundForge hac3-025a3Samples read:            864000     863232     863232     866304     866304     863232     866304     866304     866304Length (seconds):      9.000000   8.992000   8.992000   9.024000   9.024000   8.992000   9.024000   9.024000   9.024000Maximum amplitude:     0.674042   0.336823   0.335907   0.336670   0.414948   0.658203   0.650970   0.652832   0.510406Minimum amplitude:    -0.671021  -0.355743  -0.363373  -0.358978  -0.430115  -0.703400  -0.703400  -0.695221  -0.534332Midline amplitude:     0.001511  -0.009460  -0.013733  -0.011154  -0.007584  -0.022598  -0.026215  -0.021194  -0.011963Mean    norm:          0.072505   0.035565   0.035560   0.035447   0.024863   0.070432   0.070178   0.068267   0.052553Mean    amplitude:     0.000805   0.000418   0.000414   0.000420  -0.000016   0.000723   0.000719   0.000725   0.000633RMS     amplitude:     0.120801   0.059571   0.059566   0.059498   0.043181   0.117952   0.117743   0.114761   0.088225Maximum delta:         1.002594   0.493622   0.514160   0.518005   0.631989   1.002930   1.002930   0.933228   0.756775Minimum delta:         0.000000   0.000000   0.000000   0.000000   0.000000   0.000000   0.000000   0.000000   0.000000Mean    delta:         0.111365   0.054782   0.054777   0.054631   0.038876   0.107483   0.107107   0.102318   0.080983RMS     delta:         0.171595   0.084571   0.084573   0.084487   0.061589   0.166109   0.165819   0.158958   0.125297Rough   frequency:        10851      10845      10846      10848      10896      10758      10758      10581      10849Volume adjustment:        1.484      [COLOR=Red]2.811[/COLOR]      [COLOR=Red]2.752[/COLOR]      [COLOR=Red]2.786[/COLOR]      [COLOR=Orange]2.325[/COLOR]      1.422      1.422      1.438      1.871

    * hier decodierte SoftEncode sehltsamer weise ein zu großes Dynamic Range, obwohl es NICHT so encodet wurde. Evt. schreibt ja Pegasys auch was komisches ins AC3 rein.


    und hier mal mit BeSweet decodiert und wieder die Sox Analyse:

    Fazit:
    BeSweet, ffmpeg und Nero(ffmpeg) erstellen ein viel zu leises AC3. Auch ein SEHR gut eingesteller Hardware Decoder zeigt dies beim Hörtest.

    Fragen:
    welche Encoder gibt es noch? Welche Analysen kann man den noch machen? Kennst Ihr Spezielle Tools dazu? Gibt es schon einen AC3 Vergleich, der auch noch 5.1 unter die Luppe nimmt? Oder habt Ihr schon mal selber einen vergleich gemacht?

    Anbei, die Source und alle AC3s.

    Edit: hac3-025a3 addiert.

  • Auf jeden Fall gut zu sehen: DarkAvenger hat mehr für die AC3-Encodierung getan als DSPguru (der halt meint: Wäre nicht seine Aufgabe - er benutzt nur, was da ist). :rolleyes:

    Ansonsten: Wusste noch gar nicht, welche Art von Analyse man so mit Sox machen kann. Interessant wie immer, katja!

  • Zitat von DarkAvenger

    katjarella
    Nö, sollte auch OK sein. Danke! So sehe ich endlich mal in Zahlen, daß die dll halbwegs sinnvoll gepatcht wurde. Optimal isses wohl immer noch nicht. :-/


    Du darfst nicht vergessen, das die Source ein weißes und pinkes Rauschen ist. Da muß der Encoder wenigsten arbeiten :)
    Ich frag mich allerdings nur, warum bei den freien Encodern nix weiter einzustellen ist, wie zb bei hier. Ich habe jetzt richtig Angst mal ne echte mehrKanal zu encoden.

    LigH
    naja ich such eigentlich ein Progi, wo man div. Frequenzbilder anschauen kann, oder halt richtige Einstellungen bei CoolEdit. Und am besten noch, wo man verschiedene waves übereinanderlegen kann. Verstehste?

  • Zitat von katjarella


    Ich frag mich allerdings nur, warum bei den freien Encodern nix weiter einzustellen ist, wie zb bei hier. Ich habe jetzt richtig Angst mal ne echte mehrKanal zu encoden.

    Naja, die meisten Parameter sind auf einfache defaults einstellbar bzw einfach ermittelbar. Wo ich mich schon etwas mehr frage, was Sache ist, ist bei der Kodierung der DRC Faktoren. Keine Ahnung, ob der Encoder da etwas sinnvolles macht.

    Evtl willst du das auch mal testen:

    Einen Stück Filmsoundtrack nehmen, den im Original durch verschiedene DRC Stufen dekodieren (evtl auch mit verschiedenen Dekodern).

    Dann mal ein Decode ohne DRC neukomprimieren (mit verschiedenen Enkodern) und ebenfalls wieder mit verschiedenen DRC Einstellungen dekodieren und gucken, wie gut diese den originalen entsprechen.


    Ach ja, wenn man nicht gerade von ac3 in ac3 codiert, fehlt es dem ac3enc zumindest der Möglichkeit die Surrounds mit 90° Phasenverschiebung zu versehen. Properly mastered ac3 sollte dieses haben. Ich kenne zwar den passenden Filter (etwa aus ladspa; Hilbert Filter), doch da das wohl GPL code ist, kann ich den nicht integrieren. Und da ich studiumstechnisch nichts in DSP Richtung gemacht habe, kann ich auch nicht gerade mal so die richtigen Koeff für den passenden FIR Filter berechnen um das gewünschte ohne GPL code zu basteln...(Oder ist es doch LGPL code? Müßte mal da genauer in das plugin nachgucken. LADSPA an sich ist zumidnest LGPL...)

    (Wenn man obiges zuende denkt und berücksichtigt, daß DTS nicht auf downmix ausgelegt ist, so muß man schon ziemlich blöde sein, DTS mal eben so downzumixen ohne einen Hilber Filter vorher anzuwenden (ein kommerzieller Filter sollte aber so schlau sein und das machen; libdts habe ich mir nicht so genau angesehen; kann der downmixen?) und damit die Quali eines DTS downmixes sogar schlechter wird als die eines AC3 Downmixes. Aber es gibt ja genug Spezis, die soweit nicht denken können und unbedingt DTS weiterverarbeiten müssen...)

  • katjarella

    Finde ich interessant, dass es außer mir noch jemanden zu geben scheint, der sich auch mal um die "technische Seite" von Audio-Encodern bemüht.
    Dass sich mal jemand die Mühe macht und die Pegelunterschiede zwischen den diversen AC3-Encodern ermittelt, finde ich wirklich gut.

    Auf deine Frage, was Du noch testen könntest:
    Ich teste Audioencoder auch immer auf ihre technischen Fähigkeiten, also Rauschabstände, Dynamik, Klirrfaktor und Kanaltrennung, denn auch diese Punkte könne einen Einfluss auf die Klangqualität nehmen (nicht nur die Breite und Stabilität des Frequenzganges oder der letztendliche Pegel).
    Rauschabstand und Dynamik sind ja klar, ein hoher Klirrfaktor sorgt oft für hörbare Verzerrungen (die mir gerade bei BeSweet's AC3-Lösung ziemlich auffallen).

    Zum Testen missbrauche ich den Right Mark Audio Analyzer (RMAA).
    Dazu lasse ich erst mal eine Testsignal-Datei erstellen, wandle diese dann mit den diversen Encodern um und muss sie anschließend leider wieder in WAVE umwandeln (RMAA kann nur WAVE lesen).
    Bei AC3 oder AAC geht da natürlich auch nur 2-Kanalton, da RMAA keine 5.1-Dateien erkennt.

    Ich weiß, das Aufspüren solcher Messwerte mag paranoid sein, ich finde es aber sehr interessant.
    Und entgegen der weitverbreiteten Meinung, Messwerte könnten nichts über die Klangqualität aussagen, bin ich davon überzeugt, dass sie dennoch Tendenzen eines Codecs aufzeigen können.
    In diversen von mir durchgeführten Hörtests hat sich das auch bestätigt.
    So empfand ich Ogg Vorbis oder FAAC immer als etwas "rauh" klingend. Kein Wunder, dass gerade diese beiden Codecs in der Klirrfaktor-Messung durchfallen. Bei FAAC liegt es natürlich noch daran, dass erhebliche Pegelschwankungen zu Übersteuerrungsverzerrungen führen.
    WavPack-Hybrid kam mir immer etwas verrauscht vor. Sieht man sich dessen Dynamikwerte an, weiß man auch, dass man sich nicht getäuscht hat.

    Auch bin ich der Meinung, bei in Hörtests gleich klingenden Codecs den mit den besseren Messwerten zu bevorzugen, weil der wohl im "Worst Case" eventuell bessere Karten hat.

    Wäre interessant zu erfahren, inwieweit sich die AC3-Encoder in dieser Hinsicht unterscheiden.

    AC3-Codecs habe ich bislang aber nie getestet, da sich meine Tests immer nur auf Codecs beschränkten, die ich für Musik als geeignet betrachtete. Da gibt es ja bekanntermaßen bessere Lösungen als AC3.

    Übrigens:
    Ein schlechterer Frequenzgang bei gleicher Bitrate muss nicht unbedingt schlechter klingen!
    Oft sind Codecs mit besserem Frequenzgang anfälliger für digitale Artefakte, weil ja ein größerer Frequenzbereich berücksichtigt werden muss. Das kann dann weitaus störender sein, als ein etwas dünnerer Brillanzbereich.
    Messwerte können nun mal lediglich Tendenzen aufzeigen oder im Hörtest festgestellte Mängel belegen, sind aber ganz allein betrachtet nicht aussagekräftig. Ein Hörtest gehört da auf jeden Fall dazu.

  • Ich muß so oder so immer wieder in WAV (ohne DRC) decoden und dann vergleichen, dann gehts auch mit RMAA. Muß ich mir mal anschaun das Progi. Auch ein Mehrkanal ist kein Problem, weil es bestimmt auch 1Kanal verarbeitet. Auch mag ich keine Hörtests, weil erstens jeder anders hört und jeder andere Anlagen, Sound-Einstellungen hat. Ich kenne noch diese Sinnloßen Diskussionen um MP3 und 128k ist CD Quali oder dem Mist von MP3Pro :)

    Eigentlich habe ich den Test gemacht um mal zu schauen, was die Encoder mit dem Signal machen, weil immer wieder div. Beiträge auftauchen ( AC3 ist zu leise, zu laut etc). Natürlich ist es am einfachsten seine 5.1Anlage richtig einzustellen. Jedoch habe ich in letzter Zeit gemerkt, das man bald bei jeder DVD fast alles neu einstellen muß. Oder wenn ich einen Film bei meiner Mutter anschau, die hat keine 5.1Anlage und nur einen normalen DVDPlayer wo man die Kanäle nicht richtig einstellen kann. Dies geht bestimmt vielen so und die Fernbediehung belibt immer in der Hand, weil man immer die Lautstärke nachregeln muß :( WO sind denn die DVDs wie am Anfang geblieben, wo es ein perfekten 2Kanal, 5.1 und evt. noch DTS drauf sind? Heutzutage bekommt man nur noch 5.1 und DTS in div. Sprachen. Mal vom IMMER nur noch Englischen Bildsource abgesehn. Wird sich keine Mühe mehr gegeben, wenigsten das Intro wie zb bei Tombraider auf Deustch zu machen? Wo ich zb Hr. der Ringe eingelgt hab und dann diesen Fremdländischen Schriftzug und wie eine Verarsche als Untertitel: Herr der Ringe unten flimmern sahhh, nenenenenene :( Aber ich schweife ab......

    DarkAvenger
    Ich bin selber mal gespannt DarkAvenger, was bei einem TestSignal in 5.1 passiert, wenn es mit DRC Encodiert und decodiert wird. Denn ich kenne einigie die AC3 Decodieren > ne Lautstärke anhebung machen > und dann das gleiche Ohne irgendwelche Einstellungen (BeSweet) wieder Encodieren. Und sich dann später wundern, warum es irgendwie immer schlimmer wird. :)
    Das mit dem DTS tuh ich mir nicht an, jeder der daran rumfummelt, ist selber schuld, wenn er nur Müll rausbekommt.

  • Der RMAA analysiert nur seine eigene zuvor erstellte Testdatei. Die liegt nur in Stereo vor. Mehrkanal oder Mono wird dabei nicht unterstützt (oder doch? Muss ich glatt noch mal nachschauen...).

    Die Testdatei für einen Codecvergleich erstellst Du am besten mit dem "Speichern"-Symbol. Der "externe Loop-Test" macht bei Codecs keinen Sinn.

    Die erstellte Datei kannst Du dann ganz bequem mit dem jeweiligen Programm in AC3 umwandeln und anschließend, z. B. mit foobar2000, alle AC3-Dateien wieder in WAVE umwandeln.

    Auf einmal lassen sich in RMAA leider nur 4 Codecs miteinander vergleichen.
    Aber man kann ja die Log's speichern oder die Daten in eine Tabelle eintragen (so mache ich das immer).
    Bin schon gespannt, was für Werte Du erzielst.

    Übrigens ist der RMAA eigentlich zur Analyse und zum Testen von Soundkarten gedacht, deshalb schrieb ich auch, dass ich das Programm für meine Codectests "missbrauche".
    Da ich aber alle Codecs mit dem gleichen Programm vergleiche, sind die Messwerte durchaus vergleichbar.

  • Hmm, interessant daß THD und IMD+Noise bei "meiner" dll um den Faktor 10 niedrieger sind als bei den originalen. Ich denke, das liegt an der Änderung zu etwas tiefgreifenderen Benutzung von floating points im Vgl zur original Implementation, die integerbasiert ist.

    tedgo

    Kannst du dieses Resultat subjektiv bestätigen, daß ac3 encodes mit hac3 weniger "rauh" klingen?

  • katjarella
    Hast wohl alles richtig gemacht.

    Sieht so aus, als würde headac3he als einziger der frei erhältlichen AC3-Encoder noch eine ganz gute Figur machen, auch wenn die käuflich zu erwerbenden da noch einen Tacken zulegen.
    Das BeSweet die Messung des Rauschabstandes "verweigert", wundert mich allerdings ein bisschen. So ein Wert (-400dB) kenne ich nur von psychoakustischen Modellen bei niedrigen Bitraten (z. B. bei MP3). Der niedrige Dynamikbereich wundert mich hingegen nicht, auch die relativ hohen Intermodulationsverzerrungen nicht.

    DarkAvenger
    Wie ich schon gepostet habe, hatte ich bislang noch keine ausführlichen Hörtests mit AC3-Encodern durchgeführt.
    Anhand der Messwerte und der zugehörigen Spektren ist aber zu erwarten, dass die Verzerrungen bei headac3he - sichtbar durch die doch recht zahlreichen Störspitzen - unterhalb der Wahrnehmungsgrenze liegen.

    Die Unterschiede zwischen BeSweet, ffmpeg und headac3he können aber auch in der "Vorbehandlung" der Testdatei begründet sein.

    Katjarella: Hast Du irgendwelche Boost- oder Normalisierungen zugeschaltet?
    Die könnten die Messwerte verfälschen. Die Testdatei wird in RMAA ohnehin "normalisiert".

  • ich war auch bei BeSweet erschrochen (-400dB)
    Das encoden nach AC3 ist doch richtig:
    BeSweet.exe -core( -input "Test signal (48 kHz 16-bit).wav" -output "besweet.ac3" ) -ac3enc( -b 192 )

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!