Guter DVD-Sound für Ihren Film selbst gemacht
  Teil 6 - AC3

 

In der letzen Folge, in der wir uns mit dem "encoden" von Sound in Richtung MPEG-1 Audio (Layer II) beschäftigt hatten, haben wir gesehen, dass es trotz Steigerung der Datenrate nicht möglich war, die Bandbreite über einen bestimmten Bereich hinaus zu erhöhen.

Mehr als knapp 20,4 kHz war nicht aus TooLAME oder vergleichbaren Encodern herauszubekommen.

Nun wissen wir, dass es - wie bei der Audio-CD - unkomprimierten Ton gibt, oder wie bei der DVD-Audio verlustfreie, reversible Kompressionsverfahren (vergleichbar mit Komprimierungen wie sie beim ZIP-Format eingesetzt werden).

MPEG-1 Layer II und auch Dolby Digital - nachstehend nur noch AC3 genannt - nutzen aber Komprimierungen, die sich an der akustischen Wahrnehmung orientieren. Die lassen also einfach etwas weg und zwar, wie wir oben sehen können, u.a. Frequenzen über 20.000 Hz.

Damit wird MPEG-1 Layer II nie so richtig gut klingen. Und auch oft im Vergleich zum Layer III (auch bekannt als MP3) unterliegen. Für Einzelheiten zu MP3 lesen Sie bitte meinen schon etwas betagten Tipp zum Thema Internetradio. Und einen Klangvergleich mit den guten alten Vinyl-Platten wird der so komprimierte Sound, meiner Meinung nach, auch immer haushoch verlieren.

Nicht viel anderes hinsichtlich der Bandbreite ist es nun bei AC-3.

Recherchiert man im Internet nach Dolby Digital, so kann man viele richtige aber auch halbrichtige Sachen lesen. Auf einer Webseite stand z.B., das dies "ein komprimiertes Digital-Audio-Format mit 6 Kanälen für Raumklang" sei.

Ja, und nein!

Fangen wir mal ganz leicht an:

Da gibt es einmal Dolby Digital 1.0. Das ist im Prinzip reines Mono und das sagt uns auch die 1 vor dem Punkt (1.x)

Dann finden wir Dolby Digital 2.0. Reines klares Stereo. Das aber auch z.B. mit "Dolby Surround" oder "Dolby Surround Pro Logic" daherkommen kann. Seien Sie mir nicht böse, aber auf "Pro Logic" will ich hier nicht eingehen. Dazu gibt es genug Material im Internet und Dolby Surround habe ich schon erklärt.

Ja, und dann gibt es da noch Dolby Digital 4.0. Mit einem rechten und einem linken Kanal, einem "Center" Kanal für die Mitte und einem Mono-Kanal für die beiden Boxen hinter dem Zuhörer. Sie hören also links und rechts hinten die gleiche Information.

Dolby Digital 5.0 ist wie Dolby Digital 5.1, doch fehlt ihm das LFE-Signal. Also der  "low frequency effects - channel". 

Damit haben wir bei Dolby Digital 5.1 fünf "normale" Kanäle für Lautsprecher und einen Kanal (x.1) für den Subwoofer (LFE), welcher jedoch nicht als eigentlicher Kanal bezeichnet wird. Der Frequenzumfang dieses LFE liegt zwischen 20 Hz und 120 Hz und lässt Ihre Wohnung bei filmischen Erdbeben etwas erschüttern und den Mieter unter Ihrer Wohnung verzweifeln.

Der Frequenzumfang der Haupt-Kanäle ist etwas abhängig von der Anzahl der Kanäle und der Datenrate. Er fängt unten irgendwo zwischen 10 und 20 Hz an, geht oben meist aber nicht über 20,30 kHz hinaus.

Die Datenraten liegen generell übrigens zwischen 56 und 640 kbps. Bei der DVD reichen sie von 64 bis zu 448 kbps, wobei 384 kbps die "normale" DVD-Datenrate bei 5.1-Kanal ist. Die obere Grenzfrequenz liegt aber dann - wenn ich das richtig sehe - nur bei 18,05 kHz, eine Samplingrate von 48 kHz unterstellt.

Da die o.a. Bezeichnungen nicht immer ganz eindeutig genutzt werden, findet man in der Literatur auch Bezeichnungen wie z.B. 3/2.

Bei dieser Darstellung X/Y steht X für die Anzahl der vorderen Kanäle und Y für die Zahl der Surround Kanäle. 2/0 steht somit für herkömmliches zweikanaliges Stereo L/R (aber auch für Stereo incl. Dolby Surround). Und 1+1steht für zwei Mono Programme.
 

Einen richtig schönen Encoder um nun AC-3 herzustellen finden wir direkt bei Dolby, den DP569 Dolby Digital 5.1-Kanal Encoder. Wer als Hobby-Filmer mal eben £3000,- auf den Tisch des Hauses legt, bekommt ein recht schönes Produkt.

Wer aber hat mal eben auf die Schnelle solche Beträge nur für ein Hobby? Da suchen wir doch lieber nach PC-Lösungen, die auch bezahlbar sind.


Wir wollen uns, in Ermangelung geeigneter Technik -  für unsere selbst gefilmten und geschnittenen Videos - im weiteren mit Dolby Digital 2.0 beschäftigen. Denn welcher Camcorder nimmt schon in Dolby Digital 5.1 auf?

Ob Sie dem Signal durch externe Quellen irgendwie Musik mit Dolby Surround zufügen, überlasse ich Ihrem Geschick. Ihr Camcorder stellt das vermutlich nicht bereit. ;-)


Die Ausgangslage ist wieder identisch mit unserem Test für TMPGEnc und die Soundaufbereitung nach MPEG-1 Audio, Layer II.

Jetzt kann der TMPGEnc aber gar kein Dolby Digital, also kein AC-3 herstellen, werden Sie sagen. Richtig! Und darum schauen wir uns auf dem Markt nach anderen Anbietern um.

Bevor wir das machen, möchte ich in einem kleinen 'Einschub' erklären, wie wir den Film vorbereiten müssen:

Während wir ja unser geschnittenes AVI als kpl. Einheit (Bild incl. Ton) an TMPGEnc übergeben können, müssen wir ihn, für die weiteren Versuche mit AC-3, aufsplitten.

Sie können nun Bild und Ton einzeln aus ihrem Schnittprogramm auf Platte rendern, Sie können es aber auch so wie ich machen und den Ton erst später aus dem Film-AVI mittels VirtualDub herausteilen.

Empfehlen möchte ich Ihnen dazu für große mehrteilige AVI-Projekte wieder mal den schon früher vorgestellten Frameserver.

Sie laden sich Ihr AVI oder Ihre Frameserver-Datei,

können sich im nächsten Schritt Ihren Film hier zur Kontrolle nochmals ansehen, vor allem aber anhören und speichern sich dann den Ton einfach als WAV-File auf die Festplatte:

Wir haben jetzt also den kpl. Ton unseres Films als WAV auf der Festplatte und können uns einmal nach geeigneten Werkzeugen umsehen.

Leider ist die Suche nicht sehr ergiebig. Während es von AC-3 in Richtung WAV reichlich Decoder gibt, habe ich für den Weg, den wir beschreiten wollen, nicht viele Encoder gefunden.

Ich selbst bin im Besitz einer etwas älteren Version des Sonic Foundry Soft Encoders und der nutzt den Dolby Digital Encoder Version 6.x aus Dezember 1997 - gemessen an der Entwicklung bei der PC-Technik recht alt.

Der "Sonic Foundry Soft Encoder" hat mal rund 1.000,- US$ gekostet, ist aber meines Wissens nicht mehr im Markt. Eine mögliche Alternative von Sonic ist ACID PRO 4.0 mit einem Surround Plug-In Pack. Das Paket gehört mit rund 630,- US$ auch nicht gerade zu den günstigen Produkten. Über die Qualität vermag ich nichts zu sagen, da ich dazu keine wirklich lauffähige Demo im Web gefunden habe.

Da solche Softwarepreise in der Regel das doch recht beschränkte Budget des Hobbyfilmers sprengen, stelle ich Ihnen zum Schluss dieser Folge noch eine kostenlose Variante aus dem GNU-Lager vor.

Doch zuerst mal ein paar grundsätzliche Betrachtungen:

Dazu habe ich meinen Filmsound in den "Sonic Foundry Soft Encoder" übernommen:

Dort schauen wir uns einfach mal die Grundeinstellungen an, da diese die Abhängigkeit von Datenrate und oberer Grenzfrequenz sehr schön verdeutlichen.

Im "Audio Coding mode" 2/0, also bei normalem Stereo und einer Samplingrate von 48 kHz, kann man sehr schön sehen, dass bei niedrigen Datenraten auch die Bandbreite recht niedrig ist.

So liegt die Bandbreite bei einer Datenrate von 96 kbps auch nur bei 6,80 kHz. Sie steigt dann auf 12,42 kHz bei 112 kbps (siehe das obige Bild) und 13,55 kHz bei 128 kbps auf 15,8 kHz bei 160 kbps.

Erst bei 192 kbps erreichen wir die volle Bandbreite von 20,3 kHz. Die sich nicht weiter steigern lässt, auch wenn man die Datenrate auf 640 kbps erhöht.

Bereits in der letzen Folge war es unser Ziel, ein möglichst großes Frequenzspektrum zu übertragen. Wir blenden damit die Datenraten unter 192 kbps einfach mal gedanklich aus.

Die lila Fläche zeigt sehr schön den Frequenzumfang bei 192 kbps:

Die grüne Kurve stellt übrigens das Original zum gleichen Zeitpunkt dar.

Wie wir sehen, fällt die lila Kurve bei den vom Programm vorgegebenen 20,3 kHz recht zügig ab, während das Original (grün) erst bei 22 kHz zu Ende ist.

Die Reinheit des Tones ist aber für den Sonic offensichtlich ein kleines Problem. Während die Töne bei 1 kHz und auch bei 18 kHz recht sauber kommen,

ist der Ton bei 20 kHz (gelber Pfeil) überlagert von einer Frequenz, die da nicht hingehört - und das, obwohl ich mit 640 kbps gearbeitet habe.

Wenn wir das Original nochmals dagegenstellen, sieht man das recht deutlich:

Vermutlich macht sich hier bei der AC-3 - Komprimierung die Wirkung des Filters bemerkbar, dass die Frequenz auf die besagten 20,3 kHz beschneidet.

Nun will ich Ihnen den Mund nicht weiter wässrig machen mit einem schönen tollen Frequenzumfang, wenn sich die meisten Leser des EDV-TIPPs ein solches Programm nicht leisten wollen oder können.

Aus diesem Grund präsentiere ich Ihnen auch wieder mal eine für Sie kostenlose Lösung und zwar "BeSweet" von DSPguru. Ich habe das Tool ja schon mehrmals angesprochen - doch jetzt wollen wir es uns auch im Detail ansehen.

BeSweet versteht sich als "all-in-one"-Tool für die Soundbearbeitung. Es wandelt so ziemlich alles was irgendwie nach Sound aussieht. So z.B. AC3 / MPA / MP2 / MP3 / WAV / LPCM / OGG / VOB / AVI nach WAV / MP2 / MP3 / OGG / AIFF / AC3 incl. WaveMP3 & Dolby-Digital-WAV.

Wer sich für Details interessiert, der kann sich dieses Tool bei http://DSPguru.doom9.net/ herunterladen. Es ist Freeware und damit für Sie kostenlos nutzbar. Als "stabil" gilt aktuell (Jan. 2003) die Version 1.4 und als Beta die Version 1.5.

Wir wollen uns heute einmal für unsere Zwecke die WAV / AC-3 - Wandlung ansehen.

Nun ist BeSweet wieder mal ein reines Kommandozeilen-Programm, dass nur in einem DOS-Fenster läuft.

Wir rufen das Programm wie folgt auf:

  • BeSweet -core( -input "sound.wav" -output "besweet_sound256.ac3" ) -ac3encode( -b 256 )

Die Dokumentation der Software befindet sich im Unterverzeichnis HELP der Version 1.4 und ist leider noch kryptischer als die Kommandozeilen-Eingaben, die Sie machen müssen. ;-) Aber als Programmierer würde ich vermutlich meinen Schwerpunkt auch erst mal auf eine tolle Software legen und dann die Dokumentation schreiben.

Mit "-core" geben Sie die Kernanweisung. In der Klammer steht in Anführungszeichen nach "-input" der Name der Eingangsdatei und nach "-output" der Name der Ausgangsdatei. Ich gebe meinen Ausgangsdateien im Namen immer eine Information über die Wandlungsrate mit, damit ich später direkt sehen kann, was im File enthalten ist.

Die Anweisung "-ac3encode" bindet nun die "ac3enc.dll" mit ein, einen AC3-Encoder von Gerard Lantau aus dem FFmpeg Multimedia System, der die eigentliche Wandlung vornimmt.

Achtung, es sind da sehr unterschiedliche DLLs im Umlauf. Ich habe die Versionen 0.1 (Größe ca. 15 kB), sowie 0.2 (45 kB) und 0.21 (14 kB) gefunden. Qualitative Unterschiede habe ich nicht weiter untersucht. Genutzt wurde Version 0.21.

"ac3encode" bekommt jetzt noch die Datenrate in Form von "-b xxx" mit auf den Weg.

Typische Datenraten sind bei Dolby Digital für unsere Video-DVD (bei Stereo und 48 kHz Sampling-Frequenz) 192 kbps, 224 kbps, 256 kbps, 320 kbps, 384 kbps und 448 kbps.

Der obige Befehl stößt also eine Wandlung von der Datei "sound.wav" zur Datei "besweet_sound254.ac3" mit 256 kbps an.

Wer meine Datei "convert" aus Folge 2 nutzt, kann die Wandlung einfach durch aufrufen der Datei "convert" als Parameter den Ein- und Ausgangsnamen angeben.

  • convert eingangsdatei.wav ausgangsdatei.ac3

"Convert" erkennt, dass Sie eine Wandlung machen wollen und fragt Sie nur noch nach der Wandlungsrate.

Klar, das kann man alles viel besser mit einer richtig schönen Software unter Windows anstoßen, denn Batchdateien sind nicht so toll. Sie vereinfachen das Leben zwar, bieten aber leider doch nicht den Komfort, den man sich so erträumt. "Convert" ist einfach nur entstanden, weil ich mir nie die ganzen Parameter behalten konnte bzw. wollte.

Für die Leute, die etwas mehr machen wollen, als nur zwischen WAV und AC-3 zu wandeln, gibt es für BeSweet übrigens das aus der letzen Folge bereits bekannte recht schönes GUI von Danni Din:

Das Programm ist u.a. auf der BeSweet-Seite http://dspguru.doom9.org zu finden. Es bietet ganz fantastische Möglichkeiten, die auch noch per Hand nachgearbeitet werden können.

Ab BeSweet 1.5 beta kann die Eingangsdatei übrigens auch ein AVI sein, weil das Programm in seiner neuen Version über die "vobinput.dll v1.3" von http://www.dvd2svcd.org/ direkt AVIs unterstützt. Aber, wie gesagt, das ist noch "Beta".

Der Befehl würde dann so aussehen:

  • BeSweet -core( -input "film.avi" -output "besweet_sound256.ac3" ) -ac3encode( -b 256 )

Nun bietet BeSweet noch unendlich viele andere tolle Möglichkeiten, die ich hier aber nicht beschreiben möchte. Wir wollen uns hingegen etwas auf die Qualität der WAV / AC-3 - Wandlung konzentrieren.

Zuerst einmal wieder ein Blick auf die Reinheit des Tones und zwar bei einer Datenrate von 192 kbps.

Saubere Spitzen und im Gegensatz zu dem "Sonic Foundry Soft Encoder" oder allen MPEG1-Lösungen ohne jedwede störende Frequenz-Überlagerungen bei 20 kHz.

Nun ist die Frage, was nimmt man denn für eine Datenrate bei AC-3?

Ich habe es mir im ersten Schritt da recht leicht gemacht. Ich habe einfach die Dateigrößen miteinander verglichen. Und zwar das Ergebnis von TMPGEnc oder TooLAME (mit MPEG-1 Audio Layer II) mit 256 kbps als Bitrate (CBR), im Verhältnis zu einer AC-3 - Datei mit der gleichen Datenrate.

Sowohl die AC-3 - Datei mit 256 kbps als auch die MP2-Datei mit 256 kbps war bis auf ein paar Byte etwa gleich groß.

Die Qualität war jedoch sehr unterschiedlich:

Während die rosa MPEG-1-Kurve vom TMPGEnc bei knapp 20 kHz zu Ende war, geht die gelbe Kurve von BeSweet mit dem AC3-Encoder von Gerard Lantau über 21 kHz hinaus.

Auch der Unterschied zwischen dem 1.000 US$ teuren "Sonic Foundry Soft Encoder" und der kostenlosen BeSweet-Lösung ist recht auffällig:

Während "Sonic Foundry Soft Encoder" bei 20,3 kHz herunterregelt, überstreicht BeSweet mit dem AC3-Encoder von Gerard Lantau - wie gesagt - eine Bandbreite von 21 kHz (gelber Pfeil).

Auffällig war auch, dass ich dem "Sonic Foundry Soft Encoder" nicht abgewöhnen konnte, die Amplitude meiner Hüllkurve unverändert zu lassen.


Abb 1: Darstellung eines Test-WAVs (C) by Stefan Uchrin

Im oberen Teil des Bildes sehen Sie den mit "Sonic Foundry Soft Encoder" gewandelten Sound und unten den mit BeSweet. Sehen Sie es mir bitte nach, dass ich die Größe der Amplituden nicht normiert habe. Es war mir einfach zu viel Arbeit. Aber ich denke, Sie können das Problem schon auf einen Blick sehen.

Während BeSweet die Hüllkurve im Gegensatz zum Original (siehe Folge 1) nahezu unverändert lässt, beschneidet der Soft Encoder bei höher werdender Frequenz (bei der auch die Amplitude im Original größer wurde) die Amplitude im Gleitton nicht unerheblich. (siehe die "1" in der obigen Abbildung).

Bei "2" sieht man ein Überschwingen direkt beim "Einschalten" des Tons beim "Soft Encoder" viel stärker wie bei BeSweet.


Abb 2: Darstellung eines Test-WAVs (C) by Stefan Uchrin

 
Bei dem AC3-Encoder von Gerard Lantau in BeSweet kann man sogar noch den 22 kHz Ton erahnen (roter Pfeil), wenn man sich das Signal etwas genauer ansieht.

 
Zum Schluss noch eine Gegenüberstellung von TooLAME mit AC-3.

Dabei bin ich nicht ganz fair vorgegangen. Ich habe das TooLAME-File mit CBR und einer Datenrate von 256 kbps gegen ein AC-3-File von 192 kbps antreten lassen. Dabei muss man noch sagen, dass das AC-3-File hinsichtlich der Filegröße etwa 24% kleiner war.

Die blaue Fläche zeigt den Frequenzumfang von Toolame, also MPEG-1 Audio Layer II  mit 256 kbps. Die rote Kurve zeigt AC-3 mit 192 kbps und die gelbe Kurve zeigt das Original.

Der Hochfrequenzbereich, der uns besonders interessiert, ist hier dargestellt:

Hinsichtlich des Frequenzumfanges schlägt sich bei den komprimierten Streams die AC-3 - BeSweet-Lösung (rote Kurve) trotz der geringeren Datenrate am besten.

Daraus ergibt sich der weitere Vorteil für Leute die nicht so viel Platz für den Ton auf der DVD haben: Der AC-3-Stream ist bedingt durch die geringere Datenrate (trotz vergleichbarer Qualität) kleiner in der Filegröße.

Sie sehen, eine ganze Menge Gründe, warum man den AC3-Encoder von Gerard Lantau in BeSweet einsetze kann. Er ist meiner Meinung nach hinsichtlich des Frequenzganges besser als der Soft Encoder und hinsichtlich des Preis/Leistungsverhältnis einfach unschlagbar!

Er bringt aber ein paar Probleme mit sich, die man nicht verschweigen sollte  (Nachtrag vom Okt 2003):

  • Es sind sehr unterschiedliche ac3enc.dlls im Internet im Umlauf. Ich habe die Versionen 0.1 (Größe ca. 15 kB), sowie 0.2 (45 kB) und 0.21 (14 kB) gefunden. Vermutlich gibt es zwischenzeitlich noch mehr - deshalb also Achtung!
     
  • Weiterhin ist da ein Lautstärke-Fehler. Die mit "ac3enc.dll" kodierten AC3-Streams "leiden" alle unter einer zu geringen Lautstärke. Ich persönlich habe es bei meinem YAMMI nie als störend empfunden, denn der übersteuert meiner Meinung nach sowieso recht stark, aber auf vielen DVD-Playern ist der Ton einfach viel zu leise.
     
  • Die mit "ac3enc.dll" kodierten AC3-Streams scheinen nicht kompatibel zu dem offiziellen DVD-Standard zu sein. Das Problem ist nach meiner Kenntnis ein "endian"-Problem. Endian bezeichnet die Anordnung der Bytes bei unterschiedlichen Computerarchitekturen. Bei "little-endian" hat das am wenigsten signifikante Byte die niedrigste Adresse (little end first) [Intel]. Bei "big-endian" hat das signifikanteste Byte die niedrigste Adresse (big end first) [Motorola]. Vergleiche: http://www.informatik.uni-rostock.de/~thlan/4_1.html. "ac3enc.dll" nutzt nun die Intel-Struktur und offensichtlich benötigen einige Dolby Digital-Decoder die Motorola-Struktur. Fragen Sie mich nicht warum. Vermutlich weil die ersten DVDs auf UNIX-Maschinen entstanden sind, oder die ersten Hardware-Encoder "big end first", also die Motorola-Kodierung nutzen. Halten wir fest: Der DVD-Standard ist Motorola (big-endian)! Nun können die meisten Dolby Decoder sowohl Intel als auch Motorola "verstehen" - aber halt nicht alle. Vergleiche Diskussion unter http://www.videohelp.com/forum/viewtopic.php?t=129419
     
  • Ein weiteres Problem sollte ebenfalls nicht unerwähnt bleiben. Die Verwendung von Software, die nicht von Dolby autorisiert wurde, kann patentrechtliche Probleme nach sich ziehen.
     

Meine Empfehlung an dieser Stelle:

Schaut man auf die weltweit bestehenden Möglichkeiten den Ton auf einer DVD darzustellen (also sowohl für NTSC als auch für PAL), so ist AC-3 neben PCM das für Video-DVDs zwingend vorgeschriebene Haupt-Format für den Ton.

Nutzen Sie also zur Erhöhung der Kompatibilität ihrer DVDs mit Videofilmen aus eigener Hobby-Produktion als Tonformat Dolby Digital im Motorola-Format. Ich selbst nutze Dolby Digital 2.0 und stelle die Streams überwiegend mit dem "Sonic Foundry Soft Encoder" her.

Als Datenrate reicht für viele Fälle 192 kbps nach dem ersten Augenschein aus. Wer auf Nummer Sicher gehen möchte, kann auch 256 kbps einstellen.

Nun hat das alles rein optisch und von der Theorie aus sehr gut ausgesehen - ob sich das aber auch gut anhört, werden wir in der nächsten Folge ermitteln.

 

Siehe auch:

 

 

Zurück

Zur Index-Seite


 

Home zu "http://www.edv-tip.de"