Wo hast du denn das her? Apple Lossless (ALAC) hat nichts mit AAC zu tun. Es wird nur in den gleichen Container gepackt (MP4).
Was du schreibst ist einfach Unsinn.
Ich werde das den Programmierern bei Apple bei Gelegenheit von dir ausrichten. Die glauben nämlich tatsächlich.......
Code:
MPEG-4 Audio Object Type Constants
Used in the mFormatFlags field of an AudioStreamBasicDescription structure that describes an MPEG-4 audio stream to specify the type of MPEG-4 audio data.
enum
{
kMPEG4Object_AAC_Main = 1,
kMPEG4Object_AAC_LC = 2,
kMPEG4Object_AAC_SSR = 3,
kMPEG4Object_AAC_LTP = 4,
kMPEG4Object_AAC_SBR = 5,
kMPEG4Object_AAC_Scalable = 6,
kMPEG4Object_TwinVQ = 7,
kMPEG4Object_CELP = 8,
kMPEG4Object_HVXC = 9
};
Constants
kMPEG4Object_AAC_Main
Advanced audio coding; the basic MPEG-4 technology.
Available in Mac OS X v10.3 and later.
[COLOR="DarkRed"]kMPEG4Object_AAC_LC
Lossless coding; provides compression with no loss of quality.[/COLOR]
Available in Mac OS X v10.3 and later.
kMPEG4Object_AAC_SSR
Scalable sampling rate; provides different sampling frequencies for different targets.
Available in Mac OS X v10.3 and later.
kMPEG4Object_AAC_LTP
Long term prediction; reduces redundancy in a coded signal.
Available in Mac OS X v10.3 and later.
kMPEG4Object_AAC_SBR
Spectral band replication; reconstructs high-frequency content from lower frequencies and side information.
Available in Mac OS X v10.3 and later.
[COLOR="DarkRed"]kMPEG4Object_AAC_Scalable
Scalable lossless coding.[/COLOR]
Available in Mac OS X v10.3 and later.
kMPEG4Object_TwinVQ
Transform-domain weighted interleaved vector quantization, an audio codec optimized for audio coding at ultra low bit rates around 8 kbit/s.
Available in Mac OS X v10.3 and later.
kMPEG4Object_CELP
Code Excited Linear Prediction, a narrow-band/wide-band speech codec.
Available in Mac OS X v10.3 and later.
kMPEG4Object_HVXC
Harmonic Vector Excitation Coding, a very-low bit-rate parametric speech codec.
Available in Mac OS X v10.3 and later.
Discussion
See the Moving Picture Experts Group web page ([COLOR="Navy"]http://www.chiariglione.org/mpeg/[/COLOR]) for details about MPEG technologies.
Declared In
CoreAudioTypes.h
...dass das alles "AAC" ist.
(bis auf die letzten drei. Aber davon war ja auch nicht die Rede...)
Um es kurz zu machen: Genau daraus besteht "Apple Lossless": Aus "lossless" MPEG-4 AAC. Da hat man nicht extra erst was neues erfunden. Da wäre man ja blöd gewesen...
Lossless IST verlustlos. Es wird 1:1 das Originalsignal wiederhergestellt. ALAC, FLAC und die anderen Lossless-Formate sind sowas wie .zip und .sit extra für Audio.
Wenn das wirklich so wäre, wozu bräuchte es denn dann überhaupt was anderes als ZIP? Warum hörst du deine Musik denn nicht einfach aus ZIP-Dateien???
Das deine Annahme schlicht und ergreifend falsch ist, lässt sich spielend einfach beweisen. Alles was du brauchst ist ein entsprechender Codec und ein brauchbarer Wave-Editor wie zB Audacity oder ähnliches.
Nimm eine beliebige Tonaufnahme in einem gänzlich unkomprimierten Format wie zB AIFF oder WAV, am besten eine mit einer sehr markanten Knackspitze zu Beginn der Spur (zB das Aufsetzen einer Plattenspielernadel oder eine ähnlich signifikante, heftige Aussteuerungsspitze...)
Diese Datei kodierst du in einem beliebigen sog. "verlustlosen" Codec und konvertierst das Resultat anschliessend wieder zurück ins ursprüngliche Ausgangsformat. Würde dein Codec wirklich verlustfrei wie ein LZ-Algorithmus (Flate, SIT, ZIP...) arbeiten, dürfte sich das zurückkonvertierte Material allenfalls in den nicht akustisch relevanten Metadaten vom Original unterscheiden, die hörbaren Samplingdaten müssten aber Bit für Bit identisch sein. Würde das zurückkonvertierte Material sich auch nur in einem einzigen Bit unterscheiden, wäre das bereits ein Verlust.
Das muss sich nicht um hörbar relevante Ausmasse handeln (die Verluste bei "lossless" sind wirklich sehr, sehr klein), aber es SIND Verluste.
Um das zu prüfen, lädtst du sowohl die Originaldatei als auch das Versuchskarnickel in den Wave-Editor und führst dort zunächst einen präzisen Timing-Abgleich durch. Du wirst feststellen, das sich mit ziemlicher Sicherheit am Anfang und/oder am Ende der Datei ein paar Samples zusätzliche oder unterschlagene digitale Stille finden. Nun, das wäre kein "Verlust", aber ist für den weiteren Vergleich störend und muss weg.
Also richtest du beide Spuren samplegenau (!) anhand der Klangspitze am Beginn der Dateien aneinander aus und beschneidest sie dann gemeinsam auf gleiche Länge und Startposition.
Anschliessend führst du mit einer der beiden Dateien eine Signalinvertierung durch ("Verstärkung" mit dem Faktor minus 100%...). Welche von beiden ist dabei belanglos. Dann ist es Zeit, die beiden Dateien zusammenzumischen. Wäre deine Kompression wirklich völlig verlustfrei gewesen, dürfte das Resultat nichts anderes sein als eine exakte Nulllinie ohne die geringsten Reste von irgendwelchen Tönen. Die Signale müssten einander
perfekt auslöschen.
(Mit bestenfalls winzigsten Abweichungen in der Grössenordnung eines einzigen Bits, welche durch Rundungsfehler von deinem Waveeditor verursacht werden. Diese werden fast zwingend auftauchen, das geht nämlich gar nicht anders anders, wenn man zu Optimierungszwecken intern im Fliesskommaformat die nötigen Berechnungen vornimmt.... das so entstandene Störsignal dürfte aber nichts anderes sein als ein konstantes rosa Rauschen ohne jede inhaltsbezogene Ausprägung, alles andere wäre okkulte Magie.)
Normalisiere das entstandene Restsignal auf Maximalpegel und hör es dir an.
Dieses deutlich wiedererkennbare, übriggebliebene Klanggewurstel ist genau das, was dein verlustfreier Codec deiner Meinung nach angeblich gar nicht verloren haben soll......
(...sprach der Igel und stieg von der Scheuerbürste...)
Noch Fragen, Kienzle?
(Das ist etwas so, wie ich die Zahl 1.000.000 auch kürzer als 10^6 schreiben kann, die Zahl ist original dieselbe nur nimmt sie in der zweiten Schreibweise weniger Speicherplatz ein.)
Falsch. Das ist so, als würdest du die Zahl: 1.000.000,147 als 10^6 schreiben.
Zwar ein geringer Fehler, aber eben nicht
exakt. Und damit nicht verlust
frei. Nur verlust
arm.