Benutzer-Werkzeuge

Webseiten-Werkzeuge


audio

Dies ist eine alte Version des Dokuments!


Audio

HiFi-Standard

In den 1970er Jahren wurde der "HiFi-Standard" verabschiedet, der vorgeschrieben hat, dass jede Komponente den Frequenzbereich von 20 Hz bis 20 kHz übertragen können muß. Leider wurden mit dem Standard aber keine Grenzwerte festgelegt…!

Somit ist dieser alte Standard kaum etwas wert.

High Resolution

High Resolution bezieht sich auf digitale Musikdaten, die mit einer höheren Auflösung (Samplingrate, nicht Bitrate) aufgenommen wurden als die ursprüngliche Auflösung der CD von 44,1 kHz / 16 Bit. Diese Auflösung wird oft als „Standard-Auflösung“ bezeichnet.

Für eine CD in Standardauflösung wird das Musiksignal beispielsweise 44.100 Mal in der Sekunde (= 44.100 Hertz = 44,1 kHz) mit einer Genauigkeit von 16 Bit abgetastet. Für jeden Sampling-Punkt kann damit einer von 2^16 = 65.536 verschiedenen Zuständen gespeichert werden. Das ist schon ziemlich genau, und hat auf der CD ja auch über mehr als vier Jahrzehnte gute Dienste geleistet.

Von High Resolution spricht man also bei digitalen Musik-Aufnahmen, die noch genauere Daten enthalten als die CD.

So gilt eine Musikdatei mit 48 kHz / 16 Bit gemeinhin noch nicht als Highres, ein File mit 48 kHz / 24 Bit jedoch schon. Meist sind aber Auflösungen von 96 kHz / 24 Bit oder 192 kHz / 24 Bit gemeint, wenn man von Highres-Audio spricht, da diese Auflösungen auch oft während der Aufnahmen in Studios genutzt werden. Dementsprechend vermarkten Anbieter diese Aufnahmen dann vielfach auch als Studio-Qualität oder Studio-Master-Qualität. Es existieren auch Titel und Alben mit Samplingraten von 88,2 kHz, 176,4 kHz, 352,8 kHz oder sogar 384 kHz, jeweils mit Sampling-Tiefen von 24 oder sogar 32 Bit.

Was bringt die höhere Samplingrate? Will man Frequenzen von bis zu 20kHz digitalisieren, dann reichen die 44,1kHz aus. Aber in der Musik klingen Töne mit beispielsweise 10kHz von unterschiedlichen Instrumenten anders, das koommt von den Obertönen. Die Obertöne sind für die Klangfarbe zuständig und Obertöne haben eine vielfach höhere Frequenz als die Grundfrequenz des Tones mit seinen 10kHz.

Will man die Klangfarbe von hohen Tönen noch mit speichern, dann braucht man eine höhere Samplingrate.

Software-Frequenzweiche (Convolver)

Ubuntu Linux (16.04.6 LTS):

> apt install brutefir

FreeBSD (12.0-RELEASE-p8):

> pkg install audio/zita-convolver

ID3 - Tag

Hilfe anzeigen:

> eyeD3 --help

alle Genres mit ihren IDs anzeigen:

> eyeD3 --plugin=genres

…so setzt z. B. abcde die ID3-Tags:

> eyeD3 --encoding utf16 -A 'Seiltänzertraum (1993)' -a PUR -t 'Hör Gut Zu' -G 13 -n 01 -N 13 --text-frame=TDRC:1993 PUR_-_Seiltänzertraum_-_Hör_Gut_Zu.mp3

Musik-Download

Amazon

Bei Amazon bekommt man noch MP3s ohne Kopierschutz. Das MP3-Format ist zwar nicht das beste aber die hier erhältlichen Dateien sind mit einer sehr hohen Bitrate (ca. 256 kbps) kodiert worden, so dass die Schwächen des MP3-Formates überhaupt nicht in Kraft treten.

Die MP3-Dateien kann man dort nicht direkt runter laden, man bekommt dort nur eine "*.amz"-Datei, mit der man dann die eigentlichen MP3-Dateien bekommt. Dazu braucht man allerdings ein entsprechendes Programm.

Ich verwende am liebsten das kleine "clamz", da es bereits im Paketmanagement der meisten Distributionen enthalten ist und keine großen Abhängigkeiten benötigt.

Installation des Download-Programmes:

# aptitude install clamz

herrunter laden:

# clamz AmazonMP3-1325368293.amz

Letztes mal hatte ich mir mit Ubuntu im Jahre 2008 bei Amazon Musik gekauft, damals bekam ich eine amz-Datei und konnte (wie oben beschrieben) damit meine Musik in Form von MP3-Dateien saugen. ;-)

Jetzt (7. Februar 2013) habe ich mir wieder Musik bei Amazon gekauft…
…und ich bin sehr enttäuscht!

Ich habe keine amz-Datei mehr bekommen, leider konnte ich die Musik-Dateien nur in den Amazon-Cloud-Player laden.
Von dort kann man die Musik-Dateien mit Linux nur einzeln und mit FreeBSD garnicht runterladen. :-(

Ich glaube, ich muss über eine alternative Möglichkeit zum Kauf von DRM-freier Musik nachdenken,
hier soll es auchnoch DRM-freie Musik geben (hab ich noch nicht geprüft):

Wenn clamz bzw. AmazonMP3DownloaderInstall.deb sich nicht installieren lassen

LXC

…dann nimmt man am besten einen LXC-Container mit einer älteren Linux-Version, zu der es "clamz" noch gibt,

um clamz zu installieren muss man mindestens Ubuntu 10.10 verwenden:

# lxc-create -n u1004 -t ubuntu -- -a i386 -r maverick -b Fritz

um AmazonMP3DownloaderInstall.deb zu installieren nimmt man am besten Ubuntu 08.10 (weil das Paket von Amazon für "Ubuntu 08.10" gebaut wurde):

# lxc-create -n u1004 -t ubuntu -- -a i386 -r intrepid -b Fritz

Durch den Parameter "-b Fritz" wird beim starten des Containers gleich das HOME-Verzeichnis des Benutzers Fritz (per BIND-Mount) in den Container rein gemountet. Dadurch hat man im Container gleich Zugriff auf alle Dateien aus dem entsprechenden HOME-Verzeichnis.

clamz kompilieren (Ubuntu 12.04)

Erstmal brauchen wir die Pakete "libgcrypt", "libcurl" und "libexpat":

# aptitude install libgcrypt11 libcurl3 libexpat1 libgcrypt11-dev libcurl3-dev libexpat1-dev

Und damit wir auch kompilieren können, brauchen wir noch einen Kompiler:

# aptitude install gcc

oder wenn einer auch gleich ein Paket daraus bauen will, dann braucht er das hier (ich nicht):

# aptitude install build-essential

jetzt muss das SCR-Paket von hier gesaugt werden: http://code.google.com/p/clamz/

in den Standard-Pfad (/usr/local) installieren

kompileren:

# tar xfvz clamz-0.5.tar.gz
# cd clamz-0.5
# ./configure
# make

installieren (als "root"):

# cd .../clamz-0.5
# make install
nach /opt installieren

kompileren:

# tar xfvz clamz-0.5.tar.gz
# cd clamz-0.5
# ./configure --prefix=/opt
# make

installieren (als "root"):

# cd .../clamz-0.5
# make install
# ln -s /opt/bin/clamz /usr/bin/
# touch /etc/profile.d/clamz.sh
# chmod 0755 /etc/profile.d/clamz.sh
# vi /etc/profile.d/clamz.sh
if [ -z "${LD_LIBRARY_PATH}" ] ; then
        LD_LIBRARY_PATH="/opt/share"
else
        LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/opt/share"
fi
export LD_LIBRARY_PATH

Jetzt muss man sich ausloggen und wieder einloggen, damit diese Ändeung aktiv wird.

aufräumen

jetzt können wir die, von der Installation, verbliebenen Überreste löschen:

# rm -fr clamz-0.5.tar.gz clamz-0.5
Aktivierung

Jetzt kann man den "MP3 downloader" noch im Amazon-Store aktivieren, dazu muss der entsprechende Link auf dieser Seite angeklickt werden: http://code.google.com/p/clamz/

Mitte 2012 wurde auf diese URL weiter geleitet, wenn man auf "(Germany)" geklickt hat:

http://www.amazon.de/gp/dmusic/after_download_manager_install.html?AMDVersion=1.0.9

Tempo- bzw. Längen-Anpassung einer Audiodatei

Audiodatei um 10% verkürzen bzw. 10% schneller machen:

# soundstretch Audio.wav Audio_plus11proz.wav -tempo=+10

Audio-Codecs

Eigenschaften

MP2

"technisch veraltet"

MPEG-1 Audio Layer 2 ist von 1994 bis 1995 das Standard-Audio-Format auf VCD's und der damals neuen DVD's gewesen.

a52/AC3

Das Format wurde vom Advanced Television Systems Committee mit der Dokumentnummer A/52 international standardisiert und trägt somit offiziell den Namen ATSC A/52. Dolby Digital ist der Marketingname (oft abgekürzt zu DD). AC-3 schließlich bezeichnet das Bitstream-Format (Adaptive Transform Coder 3) und hat sich ebenfalls als Bezeichnung eingebürgert. Daher kommt auch die typische Dateiendung .ac3.

AC3 ist seit 1995 das Standard-Audio-Format auf DVD's, da es im Gegensatz zum vorherigen Audio-Format (MP2) mehr als 2 Audio-Kanäle unterstützt. Es ist (unter anderem) bei dem DivX/Xvid-Video-Format (MPEG-4 Part 2) ein mögliches Standard-Audio-Format.

Sein Nachfolger von Dolby Digital (AC3) ist Dolby Digital Plus.

Ich frage mich nur ob es bei AC-3 irgend welche rechtlichen Einschränkungen gibt, wie bei MP3. Bis jetzt habe ich nur den Hinweis auf der Webseite von ATSC gefunden, das die ATCS eine internationale, gemeinnützige Organisation ist, die kostenlose Standards für die digitale Fernsehtechnik entwickelt.

Auf der Webseite von Dolby wird auch ausdrücklich beschrieben, dass die Nutzung der //Dolby-Digital//-Technologie in Filmen, den Abschluss eines Dienstleistungsvertrages erfordert.

Wenn man sich die Lizenzbedingungen genauer durch liest, dann verstehe ich es so, dass nur für Hard- und Software Lizenzkosten anfallen, die Dolby-Technologie enthalten. Ich konnte auf der Dolby-Webseite allerdings nichts davon lesen, das auch für Produkte Lizenzkosten erhoben werden, die mit Hilfe von Dolby-Technologien erstellt wurden (DVD's oder Blu-Ray's).

An anderer Stelle im Internet wird soetwas zwar behauptet, auf der Dolby-Seite konnte ich es jedoch nicht finden. Möglicherweise haben sich die Lizenzkosten auch geändert und die Webseite mit dieser Behauptung wurde seit dem nur noch nicht aktuallisiert.

Ich würde sowieso nur die freie A/52-Bibliothek verwenden. Und solange nicht auf Datenträger, die Dolbi-Digital-codierten Inhalt enthalten, eine Lizenz erhoben wird, ist das kein Problem.

MP3 (Patentrecht ist 2017 ausgelaufen)

"technisch (fast) veraltet, aber sehr ausgereift"

MPEG-1 Audio Layer 3 ist (unter anderem) bei dem DivX/Xvid-Video-Format (MPEG-4 Part 2) ein Standard-Audio-Format. Im OpenSouce-Umfgeld wird MP3 in vielen Fällen durch OGG/Vorbis und im kommerziellen Umfeld wird es zunehmend durch AAC abgelöst.

> ffmpeg -v quiet -i multimedia.mov -vn -sn -c:a pcm_s32le -ac 2 -f wav - | lame -V 4 --preset standard -s 48000 - audio.mp3

AAC (patentrechtlich geschützt)

Advanced Audio Coding (AAC) ist ein von der Moving Picture Experts Group (MPEG) entwickeltes, verlustbehaftetes Audiodatenkompressionsverfahren, das als Weiterentwicklung von MPEG-2 Multichannel im MPEG-2-Standard spezifiziert wurde. Bei der Entwicklung von MPEG-4 Part 3 wurden die Schwächen des MP3-Verfahrens verringert, dessen Kodierungsverfahren verbessert und mit neuen Verfahren (sogenannten tools) ergänzt.

Bereits ab 64 kbit/s akzeptable, wenn auch eingeschränkte Stereo-Qualität. 96 kbit/s entsprechen guter UKW-Qualität, und 128 kbit/s gelten als CD-nah (hohe Transparenz).

AAC basiert nicht wie MPEG Layer 3 (MP3) auf dem Filterbank-Design von MPEG Layer 2, sondern ist eine Neuentwicklung und benutzt wie Dolby Digital und Vorbis allein die MDCT als Basistransformation. Bei geringerer Komplexität als MP3 sind bei gleicher Datenrate bessere Qualitäten erreichbar. Mehrkanal-Kodierung wird direkt unterstützt. Außerdem werden verschiedene „Tools“ unterstützt; das sind Methoden, die in Profilen mit höherer Komplexität erlaubt sind, um kritische Signale besser kodieren zu können.

https://en.wikipedia.org/wiki/Fraunhofer_FDK_AAC war im Jahre 2016 der beste freie https://trac.ffmpeg.org/wiki/Encode/AAC-Encoder.

Um AAC-komprimierte Inhalte zu verbreiten, sind (im Gegensatz zu MP3) keine Lizenzzahlungen notwendig. Allerdings müssen Hersteller einer Implementierung von AAC eine Lizenz erwerben. Aus diesem Grund wird Freie Software, die den Codec implementiert, nur im Quelltext verbreitet, um Patentverletzungen zu vermeiden.

FFmpeg unterstützt zwei AAC-LC Encoder (aac und libfdk_aac) und einen HE-AAC (v1 / 2) Encoder (libfdk_aac). Die Lizenz von libfdk_aac ist nicht mit GPL kompatibel, daher erlaubt die GPL keine Verteilung von Binärdateien mit inkompatiblem Code, wenn GPL-lizenzierter Code ebenfalls enthalten ist. Daher wurde dieser Encoder als "nicht frei" bezeichnet, und Sie können keine vorgefertigte ffmpeg herunterladen, die dies unterstützt. Dies kann gelöst werden, indem Sie ffmpeg selbst kompilieren. Siehe auch Encode / HighQualityAudio für allgemeine Richtlinien zur Audiocodierung von FFmpeg (die auch einen Vergleich enthält, welcher AAC-Encoder die beste Qualität ist).

empfohlene Einsatzgebiete vom Hersteller:

AAC (Main / LC): über 96 kbit/s
AAC+ v1: von 48 bis 96 kbit/s
AAC+ v2: unter 48 kbit/s

Bei höheren Bitraten als 96 kbps wird wegen der besseren Qualität weiterhin AAC in den Profilen Main oder Low Complexity (LC) benutzt.
Da SBR hohe Frequenzen nur synthetisch erzeugt, kann mit HE-AAC im Gegensatz zu AAC (Main- oder LC-Profil) keine Transparenz erreicht werden.

Neben der Dateiendung .aac sind auch .mp4 und die von Apple verwendeten Endungen .m4a (Audiodateien), .m4b (Hörbuchdateien) oder .m4p (Audiodateien mit Kopierschutz) verbreitet.

AAC-Dateien sind bei gleicher Qualität wie MP3-Dateien, etwa um ein Viertel kleiner.

Es ist das neue MPEG-4/AVC Standard-Audio-Format.

MPC

"technisch veraltet, sehr gute Qualität aber kaum unterstützt"

Musepack (ehem. MPEGplus) ist ein freier, auf MP2-Algorithmen basierender Codec zur verlustbehafteten Audiodatenkompression, der auf sehr gute Klangqualität bei hohen Bitraten hin optimiert wurde.

Er ist ein reiner Subband-Coder, so dass zunächst eher Ähnlichkeiten zu MPEG Layer 1 und 2 (MP1, MP2) als zum derzeit gebräuchlichsten Format MP3 bestehen. Das eigentliche Format - die Bitstromsyntax - beinhaltet effiziente Methoden zur verlustfreien Kompression. Zusammen mit einer Vielzahl von Erweiterungen und Optimierungen am psychoakustischen Modell erreicht das Format eine hervorragende, nahezu transparente Qualität bei Bitraten von ~160-170 kbps.

Das kostenlose Open-Source Programm ist für verschiedene Betriebssysteme verfügbar und wird von zahlreichen Rippern und Konvertern unterstützt. Auch die Wiedergabe mit Winamp und zahlreichen anderen Playern ist dank Plugins und DirectShow-Filter kein Problem.

Zum Zeitpunkt der Entstehung Musepacks (1997) verwendeten die verbreiteten Audiocodecs (wie der am weitesten verbreitete MP3-Codec) hauptsächlich konstante Bitraten, was sich insgesamt sehr negativ auf die Klangqualität auswirkte. Im Kontrast dazu verwendet Musepack ausschließlich variable Bitraten, wobei die Bitrate zwischen 3 und 1300 kbps schwanken kann. Des weiteren wurden verschiedene technische Neuerungen eingeführt wie z.B. Huffmann-Codierung, Noise Substitution und mehr. Aktuelle Codecs wie AAC unterstützen diese oder vergleichbare Verfahren inzwischen jedoch ebenfalls.

Musepackdateien haben die Dateinamenserweiterung mpc, mpp oder mp+. Metadaten werden in Form von APEv2-Tags angefügt.

Vorbis (patentfrei, kann Mehrkanalton)

"technisch gesehen besser als MP3 aber Entwicklungsseitig für Musik optimiert"

OGG/Vorbis ist bei dem Theora-Video-Format das Standard-Audio-Format. Es wird aber auch als ausschließliches Audio-Format verwendet, da es mehr leisten kann als das verbreitete MP3-Format und auch keine Lizenzkosten bei der Verbreitung anfallen, wie sie bei MP3 anfallen.

Unter den verschiedenen Audio-Kompressionsformaten präsentiert sich Ogg Vorbis als Alternative zu MP3. Der kostenlose und lizenzfreie Audio-Codec liefert hervorragende Qualität, sowohl bei niedrigen Bitraten, als auch bei der hochwertigen Audiokodierung.

Damit ist Ogg/Vorbis ein universeller Audio-Codec, der für Internetradio, portable Player und CD-Archivierung gleichermaßen geeignet ist. Als lizenzfreier Audio Codec ist Ogg Vorbis bereits in vielen Programmen fest integriert. Inzwischen gibt es auch vermehrt portable Player, die Ogg Vorbis abspielen.

https://de.wikipedia.org/wiki/Vorbis#Vergleich_mit_MP3_und_AAC

Was mir bei OGG/Vorbis nicht gefällt

Leider gibt es eine ganze Reihe an Codec-Tag's bei Vorbis, das ist an sich nicht schlimm, schlimm ist nur, dass die älteren davon in Filmen nicht mehr abgespielt werden können. Wobei ich unter "älter" nicht 20 Jahre verstehe, hier wird zum Beispiel die Version mit dem Codec-Tag "0x6771" (er ist von 2004, also nur ca. 5 Jahre alt) von keinem meiner Software-Video-Player mehr abgespielt! Es gibt aber noch mehr alte Vorbis-Tag's:

  1. 0x26479
  2. 0x676F
  3. 0x6771

Allerdings kann ein reiner Audio-Player diese Codec's oft noch abspielen, wenigstens etwas…

Dieses Beispiel zeigt, dass OGG/Vorbis kein nachhaltiger Video-Codec ist!

Aus diesem Grund würde ich, wenn möglich, lieber "Opus" (libopus) verwenden.

Opus (patentfrei, kann nativ nur Stereo, Mehrkanalton ist nur durch Kombination möglich)

Opus stellt den Nachfolger von Vorbis dar.

Opus ist eine kleine Revolution: Der freie Codec übertrifft die Konkurrenz qualitativ um Längen und lässt sich dabei so vielseitig einsetzen wie kein anderer. Während Vorbis der kommerziellen Konkurrenz lediglich an den Hacken kratzt, stellt Opus diese vor allem bei hohen Kompressionsraten locker in den Schatten. Schlussendlich bleibt nur ein kleiner Wermutstropfen, der für die meisten derzeit aber nur eine untergeordnete Rolle spielen dürfte.

Opus unterstützt nativ nicht mehr als zwei Kanäle. Die momentane Lösung sieht vor, dass der OGG-Container mehrere Mono- oder Stereo-Opus-Streams enthält, denen dann die jeweiligen Kanäle zugewiesen werden. Das funktioniert zwar, aber dadurch profitiert Opus nur von der Signalähnlichkeit zwischen zwei Kanälen, aber nicht über alle, wie es echte Surround-Codecs wie Dolby Digital oder DTS praktizieren.

Leider gibt es bei der Implementation von Opus in FFmpeg ein paar Fehler. Deshalb kann FFmpeg auch keine Mehrkanaltonspuren im opus-Format erzeugen. Dafür muß man die Tonspur durch einen Extra-Encoder schicken.

> ffmpeg -v quiet -i Film.avi -vn -acodec pcm_s16le -f wav - | opusenc --ignorelength - Tonspur.opus

Quelle: https://www.reddit.com/r/ffmpeg/comments/t2u0v0/multichannel_opus_audio/

Vergleich verschiedener Formate

Neben MP3 existieren zahlreiche weitere Audioformate. Das Format Ogg-Vorbis (Dateiendung .ogg) ist quelloffen und wird von den Entwicklern als im Gegensatz zu MP3 patentfrei bezeichnet. Vorbis hat sich bei technischen Analysen und in Blindtests gegenüber MP3 vor allem in niedrigen und mittleren Bitratenbereichen als überlegen erwiesen, während im hohen Bereich (um 256 kbit/s) der Vorsprung minimal ist. Außerdem bietet Ogg-Vorbis Mehrkanal-Unterstützung, und das Containerformat Ogg erlaubt zudem auch Video- und Textdaten.

Das freie, auf MP2-Algorithmen basierende Musepack (früher MPEGPlus) wurde entwickelt, um bei Bitraten über 160 kbit/s noch bessere Qualität als das MP3-Format zu ermöglichen. Es konnte sich aber nicht breit durchsetzen, da es auf die Anwendung im High-End-Bereich abzielt und im kommerziellen Bereich kaum unterstützt wird. Dateien im Musepack-Format erkennt man an der Erweiterung mpc oder mp+.

Advanced Audio Coding (AAC) ist ein im Rahmen von MPEG-2 und MPEG-4 standardisiertes Verfahren, welches von mehreren großen Unternehmen entwickelt wurde. Apple und RealMedia setzen dieses Format für ihre Online-Musikläden ein, und die Nero AG stellt einen Encoder für das Format bereit. Mit faac ist auch ein freier Encoder erhältlich. AAC ist bei niedrigen Bitraten bis etwa 160 kbit/s MP3 in der Klangqualität überlegen – je niedriger die Bitrate, desto deutlicher –, erlaubt Mehrkanal-Ton und wird von der Industrie (z. B. bei Mobiltelefonen und MP3-Playern) breit unterstützt.

Musik-CDs kopieren

aptitude install cdparanoia vorbis-tools lame faac

Musik-CD's rippen (Linux + X)

…hier sind ein paar Handgriffe nötig…

Musik-CD's rippen (FreeBSD + CLI)

…hier muss nur die CD eingelegt werden und das Programm gestartet werden, sonst nichts…

Größenvergleich

GrößenvergleichswertEncoder mit Parameter
10oggenc -q 0
11lame -V 9
12oggenc -q 1
14faac -q 64
15lame -V 8
15oggenc -q 2
16faac -q 80
17lame -V 7
18oggenc -q 3
19faac -q 96
21oggenc -q 4
21lame -V 6
21faac -q 112
24lame -V 5
24faac -q 128
26oggenc -q 5
27faac -q 144
27lame -V 4
28faac -q 160
29faac -q 176
30oggenc -q 6
30lame -V 3
30faac -q 192
31faac -q 208
32lame -V 2
32faac -q 224
33oggenc -q 7
33faac -q 240
34faac -q 256
35lame -V 1
37oggenc -q 8
38lame -V 0
49oggenc -q 9

Ist der Größenvergleichswert in mehreren Zeilen gleich, bedeutet das, das die Encoder mit den entsprechenden Parametern in der rechten Spalte, aus einer WAVE-Datei ungefähr gleichgroße codierte Dateien erzeugen.

Zur Erstellung dieser Referenzwerte, die in der linken Spalte stehen (Größenvergleichswert), wurden 16 WAVE-Dateien mit festlicher Weihnachtsmusik codiert.

Da jeder hier verwendete Encoder unterschiedliche Eigenschaften hat, kann man von der Größe (bzw. dem Größenvergleichswert) nicht auf die Qualität der codierten Datei schließen!

Qualitätsvorschläge

Wenn man die aller Beste Qualität haben will, dann sollte man die Original-WAVE-Dateien verwenden oder eine verlustfreie Kompression wie zum Beispiel FLAC. Das halbiert den Platzbedarf ohne die Audiodaten zu verändern.

z.B. so:

# flac -8 -o test.flac test.wav

oder mit OGG-Audio-Container:

# flac -8 -o test.oga test.wav

Will man dagegen möglichst kleine Dateien haben, dann muss man Qualitätseinschränkungen in Kauf nehmen. In der Regel sind diese Qualitätseinschränkungen mit den modernen Kompressionsmethoden, für einen normalen Menschen, nicht hörbar.

Der Trick hierbei ist der, dass man bei der Kompression, der Audiodateien nur soviel Qualität wählt, wie unbedingt nötig. Hier ein paar Vorschläge die, für den normalen Menschen, vernünftige Ergebnisse liefern.

Sprache:

# lame --tt "Musiktitel" --ta "Sänger" --tl "CD-Name" -V 6 datei.wav datei.mp3
# faac --title "Musiktitel" --artist "Sänger" --album "CD-Name" -w -q 100 -o datei.m4a datei.wav

Sprache (etwas bessere Qualität):

# lame --tt "Musiktitel" --ta "Sänger" --tl "CD-Name" -V 5 datei.wav datei.mp3
# lame --tt "Musiktitel" --ta "Sänger" --tl "CD-Name" --preset medium datei.wav datei.mp3
# faac --title "Musiktitel" --artist "Sänger" --album "CD-Name" -w -q 110 -o datei.m4a datei.wav

Film (Standardqualität):

# lame --tt "Musiktitel" --ta "Sänger" --tl "CD-Name" -V 3 datei.wav datei.mp3
# lame --tt "Musiktitel" --ta "Sänger" --tl "CD-Name" --preset standard datei.wav datei.mp3
# faac --title "Musiktitel" --artist "Sänger" --album "CD-Name" -w -q 140 -o datei.m4a datei.wav

Film (etwas bessere Qualität):

# lame --tt "Musiktitel" --ta "Sänger" --tl "CD-Name" -V 2 datei.wav datei.mp3
# faac --title "Musiktitel" --artist "Sänger" --album "CD-Name" -w -q 160 -o datei.m4a datei.wav

Musik:

# lame --tt "Musiktitel" --ta "Sänger" --tl "CD-Name" -V 1 datei.wav datei.mp3
# lame --tt "Musiktitel" --ta "Sänger" --tl "CD-Name" --preset extrem datei.wav datei.mp3
# faac --title "Musiktitel" --artist "Sänger" --album "CD-Name" -w -q 220 -o datei.m4a datei.wav

Musik (etwas bessere Qualität):

# lame --tt "Musiktitel" --ta "Sänger" --tl "CD-Name" -V 0 datei.wav datei.mp3
# faac --title "Musiktitel" --artist "Sänger" --album "CD-Name" -w -q 280 -o datei.m4a datei.wav

von CD auf die Platte

So werden alle Titel von der CD als WAV auf die Platte kopiert:

# cdparanoia -B
cdparanoia III release 10.2 (September 11, 2008)
Ripping from sector       0 (track  1 [0:00.00])
          to sector  311659 (track 18 [4:35.69])
outputting to track01.cdda.wav
 (== PROGRESS == [                              | 004332 00 ] == :^D * ==)
# mplayer track01.cdda.wav
==========================================================================
Opening audio decoder: [pcm] Uncompressed PCM audio decoder
AUDIO: 44100 Hz, 2 ch, s16le, 1411.2 kbit/100.00% (ratio: 176400->176400)
Selected audio codec: [pcm] afm: pcm (Uncompressed PCM)
==========================================================================

von WAV zu OGG/Vorbis/Tremor

Die Xiph.Org Foundation ist eine gemeinnützige Organisation für die Entwicklung von freien Multimedia-Formaten, -Protokollen und -Standards. Die Stiftung wurde von Chris Montgomery gegründet, der auch das Ogg-Containerformat entwickelt hat.

Ursprünglich gab es für Audio's und Video's nur das Container-Format OGG, leider fehlten ihm wichtige Funktionen, die dann jemand anders rein-gehackt hat. Dieses neue Container-Format wurde OGM genannt. Mit diesem Hack war die Xiph.Org Foundation nicht besonders glücklich und so haben sie zwei neue Container-Formate geschaffen. Jetzt wird für Audio das Container-Format OGA und für Video das Container-Format OGV verwendet. OGM soll nicht mehr verwendet werden und gilt als überholt, leider verwendet der Software-Video-Player VLC noch dieses Container-Format.

Leider ist die OGG-Endung so populär, das niemand von den neuen Dateiendungen Gebrauch macht.

So wird die WAV-Datei in eine OGG/Vorbis-Datei konvertiert:

# oggenc -t "Song Titel" -a "Interpret" -l "Album" -q 8 -o track01.ogg track01.cdda.wav
# ls -lh
-rw-r--r-- 1 root  root  47M 2010-04-25 19:18 track01.cdda.wav
-rw-r--r-- 1 root  root 8,3M 2010-04-25 20:46 track01.ogg
# mplayer track01.ogg
==========================================================================
Opening audio decoder: [tremor] Ogg/Vorbis audio decoder
AUDIO: 44100 Hz, 2 ch, s16le, 499.8 kbit/35.42% (ratio: 62477->176400)
Selected audio codec: [tremor] afm: tremor (OggVorbis audio)
==========================================================================

Das -q 10 steht für beste Qualität, was aber auch bedeutet, das die Dateien recht groß sind.

Sollen die Dateien kleiner werden, dann muss man eine etwas niedrigere Qualität einstellen. Im folgenden wird die durchschnittliche Datenrate bei den einzelnen Qualitätsangaben aufgelistet:

  • -q 0: 64 kbps
  • -q 1: 80 kbps
  • -q 2: 96 kbps
  • -q 3: 112 kbps
  • -q 4: 128 kbps
  • -q 5: 160 kbps
  • -q 6: 192 kbps
  • -q 7: 224 kbps
  • -q 8: 256 kbps
  • -q 9: 320 kbps
  • -q10: 448 kbps
# ls -lh
-rw-r--r-- 1 root root  47M 2010-04-25 19:18 track02.cdda.wav
-rw-r--r-- 1 root root  14M 2010-04-26 00:19 track02_q10.ogg
-rw-r--r-- 1 root root  11M 2010-04-26 00:17 track02_q9.ogg
-rw-r--r-- 1 root root 8,3M 2010-04-26 00:17 track02_q8.ogg
-rw-r--r-- 1 root root 6,7M 2010-04-26 00:16 track02_q7.ogg
-rw-r--r-- 1 root root 5,4M 2010-04-26 00:16 track02_q6.ogg
-rw-r--r-- 1 root root 4,4M 2010-04-26 00:15 track02_q5.ogg
-rw-r--r-- 1 root root 3,5M 2010-04-26 00:15 track02_q4.ogg
-rw-r--r-- 1 root root 3,3M 2010-04-26 00:15 track02_q3.ogg
-rw-r--r-- 1 root root 2,8M 2010-04-26 00:14 track02_q2.ogg
-rw-r--r-- 1 root root 2,5M 2010-04-26 00:14 track02_q1.ogg
-rw-r--r-- 1 root root 2,0M 2010-04-26 00:13 track02_q0.ogg

Leider legen die Entwickler den Schwerpunkt auf die Musik, so das die Mehrkanalton-Qualitäten, die für den Videobereich interessant sind, leider noch nicht ausgereift sind. Auch werden die älteren Vorbis-Versionen (von 2003/2004) schon längst nicht mehr von Software-Videoplayern unterstützt, nur noch von einigen reinen Audioplayern.

Also als Video-Tonspur ist dieser Codec nicht zu empfehlen, dafür sollte man entweder weiterhin MP3 oder AAC einsetzen.

von WAV zu MP3

Möchte man lieber MP3-Dateien, dann geht das so:

# lame --tt "Song Titel" --ta "Interpret" --tl "Album" -q 0 -V 0 track01.cdda.wav track01.mp3
LAME 3.98.2 32bits (http://www.mp3dev.org/)
CPU features: MMX (ASM used), SSE (ASM used), SSE2
Using polyphase lowpass filter, transition band: 19383 Hz - 19916 Hz
Encoding AMARICAN_EULOGY.wav to AMARICAN_EULOGY.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III VBR(q=0)
# ls -lh
-rw-r--r-- 1 root root  11M 2010-04-22 17:43 track01.mp3
-rw-r--r-- 1 root root  55M 2010-04-22 16:40 track01.cdda.wav

Wichtig ist mir hier der Parameter "-q 0", er steht für die Qualität der eingesetzten Algorithmen zur Berechnung der Rauschformung. "0" steht hier für den besten Algorithmus, der beim transcodieren allerdings auch der langsamste ist. Ich persönlich habe hier allerdings keinen nennenswerten Rechenzeitunterschied, zu den anderen q-Werten, fest stellen können. Die Rauschformung filtert das Quantisierungsrauschen eines digitalen Musiksignals nach psychoakustischen Vorgaben.

# mplayer track01.mp3
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================

Unter Verwendung von VBR (Variable bitrate) soll man die besten Ergebnisse erziehlen! Hier gibt es vier Einstellungen, die man sich merken sollte:

  1. -V 0
  2. –preset extreme
  3. –preset standard
  4. –preset medium

Wobei -V 0 von den vieren die beste Qualität liefert und medium die kleinsten Dateien. Will man noch kleinere Dateien, dann sollte man am besten den Wert für -V erhöhen. Im folgenden habe ich mit den drei vordefinierten Profilen und allen V-Werten zwischen 0 und 9 eine Tonspur transkodiert. Die Datei mit der besten Qualität steht ganz oben (das Original), alle anderen sind übersetzt worden und sind in der Qualität nach unten absteigend:

# ls -lh
-rw-r--r--  1 root  root    47M Apr 24 01:34 track02.cdda.wav
-rw-r--r--  1 root  root   7.2M Apr 25 22:34 track02_V0.mp3
-rw-r--r--  1 root  root   6.9M Apr 25 23:01 track02_extreme.mp3
-rw-r--r--  1 root  root   6.4M Apr 25 22:50 track02_V1.mp3
-rw-r--r--  1 root  root   5.9M Apr 25 22:51 track02_V2.mp3
-rw-r--r--  1 root  root   5.6M Apr 25 23:00 track02_standard.mp3
-rw-r--r--  1 root  root   5.5M Apr 25 22:51 track02_V3.mp3
-rw-r--r--  1 root  root   5.1M Apr 25 22:51 track02_V4.mp3
-rw-r--r--  1 root  root   4.8M Apr 25 22:59 track02_medium.mp3
-rw-r--r--  1 root  root   4.6M Apr 25 22:51 track02_V5.mp3
-rw-r--r--  1 root  root   4.2M Apr 25 22:51 track02_V6.mp3
-rw-r--r--  1 root  root   3.5M Apr 25 22:52 track02_V7.mp3
-rw-r--r--  1 root  root   3.0M Apr 25 22:52 track02_V8.mp3
-rw-r--r--  1 root  root   2.1M Apr 25 22:52 track02_V9.mp3

Alternativ kann man auch die Average Bitrate (ABR) angeben. Hier sind die Dateigrößen leichter kalkulierbar, aber die maximale Qualität bei gegebener Dateigröße ist geringer als beim VBR-Verfahren.

# lame -q 0 --abr 256 track02.cdda.wav track02_abr_256.mp3
# ls -lh
-rw-r--r--  1 root  root    47M Apr 24 01:34 track02.cdda.wav
-rw-r--r--  1 root  root   7.7M Apr 25 22:42 track02_abr_256.mp3
-rw-r--r--  1 root  root   5.6M Apr 25 22:41 track02_abr_192.mp3
-rw-r--r--  1 root  root   3.6M Apr 25 22:39 track02_abr_128.mp3

von WAV zu AAC

Möchte man lieber AAC-Dateien, dann geht das so:

# faac --tns -o track01.aac track01.cdda.wav
Freeware Advanced Audio Coder
FAAC 1.28

Quantization quality: 100
Bandwidth: 16000 Hz
Object type: Low Complexity(MPEG-2) + TNS + M/S
Container format: Transport Stream (ADTS)

Ohne die Parameter "-r" oder "-w" und mit der Endung ".aac" wird der Datenstrom in einen ADTS-Container (Transport-Container) geschrieben.

# faac -r --tns -o track01.aac track01.cdda.wav
Freeware Advanced Audio Coder
FAAC 1.28

Quantization quality: 100
Bandwidth: 16000 Hz
Object type: Low Complexity(MPEG-2) + TNS + M/S
Container format: Headerless AAC (RAW)

Mit dem Parameter -r wird angegeben, dass die Daten RAW (Headerless AAC) geschrieben werden.

So wird eine gleichmäßige Qualität von ca. "256 kbps" festgelegt, der Rest ist dynamisch:

# faac -r --tns -q 256 -o track01_256.aac track01.cdda.wav
Freeware Advanced Audio Coder
FAAC 1.28

Quantization quality: 256
Bandwidth: 22050 Hz
Object type: Low Complexity(MPEG-2) + TNS + M/S
Container format: Headerless AAC (RAW)

Mit dem Parameter -q 256 wird die durchschnittliche Datenrate von 256 kbps angegeben.

Mit dem Parameter –tns wird die Rauschunterdrückung aktiviert.

Mit dem Parameter -q wird die gewünschte Qualität angegeben, "100" soll ca. "120 kbps" entsprechen. Meine Erfahrung nach kann man das aber ungefähr gleich setzen (100=100). Die möglichen Übergabewerte liegen hier zwischen "10" und "500".

Eine gleichmäßige Qualität von ca. 256 kbps im Blu-Ray-kompatibelen Format (Low Complexity (MPEG-4)):

# faac --tns -q 256 -o track01_256.m4a track01.cdda.wav
Freeware Advanced Audio Coder
FAAC 1.28

Quantization quality: 256
Bandwidth: 22050 Hz
Object type: Low Complexity(MPEG-4) + TNS + M/S
Container format: MPEG-4 File Format (MP4)
Encoding track01.cdda.wav to track01_256.m4a

Ohne die Parameter "-r" oder "-w" und mit einer MPEG4-Endung (.mp4, .m4a, m4b) wird der Datenstrom in einen MP4-Container geschrieben. Das selbe passiert unter Angabe des Parameters "-w".

Ein MP4-Container ist unbedingt erforderlich, wenn man die ID3-Tags in der Datei beschreiben möchte. Zu empfehlen ist der MP4-Container auch dann, wenn man diese Audio-Spur mit einer Video-Spur zusammen muxen möchte (z.B. mit MKVMerge)!

Der Parameter -q 160 ist ein guter Kompromiss zwischen Qualität und Dateigröße:

# faac -q 160 -o track01_160.aac track01.cdda.wav
Freeware Advanced Audio Coder
FAAC 1.26.1 (Aug 16 2008) UNSTABLE

Quantization quality: 160
Bandwidth: 22050 Hz
Object type: Low Complexity(MPEG-2) + M/S
Container format: Transport Stream (ADTS)
Encoding track01.cdda.wav to track01_160.aac
# du -sk track01*
1157978 track01.cdda.wav
118619  track01.aac
182539  track01_256.aac
183692  track01_256.m4a

Die Datei track01_160.aac habe ich nicht gemessen aber ihre Größe dürfte sich (in diesem Beispiel) in dem Bereich zwischen 148000 kB und 158000 kB bewegen.

Die oben gezeigten Werte, sollte man sowieso nicht als absolut annehmen, da der Kompressionsfaktor stark von der Art der Musik abhängig ist.

5.1 Kanäle aus der WAVE-Datei erhalten und in eine 5.1 AAC-Datei (M4A) übertragen:

# faac -I 5,6 -C 6 -q 160 -w -o tonspur.m4a tonspur.wav

rippen per Script

Als erstes legt man die CD ins Laufwerk und dann startet man dieses Script mit den beiden Parametern:

  1. "Interpreten- bzw. Gruppen-Bezeichnung"
  2. "Album-Name"

… dann legt es los und man hat am Ende ein Verzeichnis rip in dem die Musik von der CD als WAV-, OGG- und MP3-Dateien drin liegen.

zum Beispiel so:

# ./cdrip.sh "FALCO" "The Spirit Never Dies"
...
#================================================================#
LAME 3.99.5 64bits (http://lame.sf.net)
Using polyphase lowpass filter, transition band: 18671 Hz - 19205 Hz
Encoding track32.cdda.wav to track32.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III VBR(q=2)
    Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA 
  2610/2610  (100%)|    0:02/    0:02|    0:02/    0:02|   24.309x|    0:00 
 32 [  92] %**********
 40 [   1] %
 48 [   1] %
 56 [   0] 
 64 [   1] %
 80 [   2] %
 96 [   2] %
112 [   1] %
128 [  57] %%*****
160 [1261] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%***************************************************************************************************
192 [ 947] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%******************************************
224 [ 118] %%%%%%%%%%%***
256 [ 109] %%%%%%%%%%%%*
320 [  18] %%*
------------------------------------------------------------------------------------------------------------------------------------------------------------
   kbps        LR    MS  %     long switch short %
  174.2       46.0  54.0        95.8   2.5   1.8
Writing LAME Tag...done
ReplayGain: -1.8dB
track32.mp3 -> mp3/track32.mp3
#----------------------------------------------------------------#
Opening with wav module: WAV file reader
Encoding "track32.cdda.wav" to 
         "track32.ogg" 
at quality 5,00
        [ 99,9%] [ 0m00s remaining] | 

Done encoding file "track32.ogg"

        File length:  1m 08,0s
        Elapsed time: 0m 02,6s
        Rate:         25,7158
        Average bitrate: 154,2 kb/s

track32.ogg -> ogg/track32.ogg
#----------------------------------------------------------------#
Freeware Advanced Audio Coder
FAAC 1.28

Quantization quality: 128
Bandwidth: 19360 Hz
Object type: Low Complexity(MPEG-4) + M/S
Container format: MPEG-4 File Format (MP4)
Encoding track32.cdda.wav to track32.m4a
   frame          | bitrate | elapsed/estim | play/CPU | ETA
 2936/2936  (100%)|  144.1  |    3.6/3.6    |   18.91x | 0.0 

track32.m4a -> m4a/track32.m4a
#----------------------------------------------------------------#

Wichtig ist, dass die doppelten Anführungszeichen nicht vergessen werden, wenn die Bezeichnungen Leerzeichen enthalten!

cdrip.sh

#!/bin/sh

#
# die CD muss natürlich bereits im Laufwerk liegen
#

if [ -z "${2}" ] ; then
      echo "${0} [Artist/Interpret] [Album]"
      exit 0
fi

#
# vorher muss man die gewünschten Titel von der CD
# als Wave-Dateien auf die HDD ablegen:
cdparanoia -d /dev/cd0 -B || exit 1
#

ls *.wav | while read DATEI
do
        TITEL="$(echo "${DATEI}" | rev | sed 's/[.]addc[.]/./;s/[ ]/_/g;s/[.]/ /;s/[.]/_/g' | rev | awk '{print $1}')"
        ENDUNG="$(echo "${DATEI}" | rev | sed 's/[ ]/_/g;s/[.]/ /;s/[.]/_/g' | rev | awk '{print $2}')"
        echo '#================================================================#'

        ### MP3
        # maximale Qualität
        #lame --tt "${TITEL}" --ta "${1}" --tl "${2}" -q 0 -V 0 "${DATEI}" ${TITEL}.mp3
        # guter Kompromiss zwischen Qualität und Dateigröße (--preset standard -> ca. 160kbps)
        lame --tt "${TITEL}" --ta "${1}" --tl "${2}" --preset standard "${DATEI}" ${TITEL}.mp3
        mkdir -p mp3
        mv -v ${TITEL}.mp3 mp3/
        echo '#----------------------------------------------------------------#'

        ### OGG/Vorbis
        # maximale Qualität (-q10 -> ca. 448kbps)
        #oggenc -t "${TITEL}" -a "${1}" -l "${2}" -q 10 -o ${TITEL}.ogg "${DATEI}"
        # guter Kompromiss zwischen Qualität und Dateigröße (-p 5 -> ca. 160kbps)
        oggenc -t "${TITEL}" -a "${1}" -l "${2}" -q 5 -o ${TITEL}.ogg "${DATEI}"
        mkdir -p ogg
        mv -v ${TITEL}.ogg ogg/
        echo '#----------------------------------------------------------------#'

        ### AAC
        # maximale Qualität
        #faac --title "${TITEL}" --artist "${1}" --album "${2}" -q 500 -w -o ${TITEL}.m4a "${DATEI}"
        # guter Kompromiss zwischen Qualität und Dateigröße (-q 128 -> ca. 160kbps)
        faac --title "${TITEL}" --artist "${1}" --album "${2}" -q 128 -w -o ${TITEL}.m4a "${DATEI}"
        mkdir -p m4a
        mv -v ${TITEL}.m4a m4a/
        echo '#----------------------------------------------------------------#'
done

MP3 in WAVE umwandeln

Meistens wird die Umwandlung genau andersherum gemacht. Aber manchmal möchte man eine MP3-Datei auch auf eine klassische Musik-CD brennen, dann braucht man meistens eine WAVE oder eine AU-Datei.

MP3 in WAVE umwandeln

/home/http/wiki/data/attic/audio.1712085369.txt · Zuletzt geändert: von manfred