In einem
früheren Artikel haben wir den Opus-Codec besprochen, der mit sehr niedrigen Bitraten läuft. Ein anderer Codec zielt jedoch darauf ab, noch niedrigere Bitraten zu erzielen - dies ist
Codec 2 .
Codec 2 dient nur zum Codieren von Sprache. Und obwohl die Bitrate beeindruckend ist, ist der Klang nicht so hochwertig wie im Fall von Opus, was in
Audiobeispielen zu hören ist. In Kombination mit dem neuronalen Netzwerk (
WaveNet ) zeigt der Codec jedoch
beeindruckende Ergebnisse .
Schichten eines neuronalen Netzwerks WaveNetEinführung
Codec 2 ist Open Source und für die Sprachcodierung konzipiert. Es konzentriert sich auf Bitraten von 700 bis 3200 Bit / s.
Entwickler -
David Rowe , ein derzeit in Südaustralien lebender Elektronikingenieur. Er startete das Projekt im September 2009 mit dem Ziel, die kostengünstige Funkkommunikation für Menschen in abgelegenen Gebieten der Welt zu verbessern. Zu diesem Zweck wollte er einen Codec entwickeln, der die Anforderungen an Dateigröße und Bandbreite für das Streaming erheblich reduzieren würde.
Eine weitere Motivation laut David war die Schaffung eines
patentfreien Codecs als Alternative zu proprietären Codecs, die seiner Meinung nach „teure und ungeschickte Lizenzen erfordern und Innovationen ersticken“. Er glaubt, dass Sie auf patentierte Codecs verzichten können, und verteilt alle Arbeiten unter einer kostenlosen Lizenz.
Mögliche Anwendung
Der Autor nennt verschiedene Anwendungen des Codecs, einschließlich VoIP, Sprachkommunikation über ein schmales Band von digitalem HF / UHF-Radio (insbesondere für Amateurfunk, um Probleme mit proprietären Codecs zu vermeiden), Kommunikation in Entwicklungsländern und abgelegenen Regionen, einschließlich Armee, Polizei und Rettungsdiensten .
Bei Auphonic sind wir an der möglichen Verwendung eines Codecs zur besseren Komprimierung von Podcasts, Präsentationen und Hörbüchern interessiert,
wodurch der Platzbedarf verringert und die Auswirkungen
schlechter Netzwerkverbindungen minimiert werden.
Wie funktioniert es?
Um die Bitrate zu verringern, ist es notwendig, die Sprache auf das Minimum möglicher Informationen / Daten zu reduzieren, dh die Menge übermäßig übertragener Informationen zu minimieren.
Zu diesem Zweck verwendet Codec 2 eine
harmonische sinusförmige Sprachcodierung . Er unterteilt die Sprache in Segmente von 10 bis 30 ms, die als Frames bezeichnet werden. Jeder Rahmen wird dann auf einen Grundpegel (Tonhöhe) und die Anzahl der Harmonischen analysiert, die in die 4-kHz-Bandbreite passen. Ferner werden für jede Harmonische im Bereich von 4 kHz die Amplitude und Phase aufgezeichnet.
Diese Informationen werden dann codiert und der Decoder stellt den Ton basierend auf diesen Daten wieder her.
Codec 2-Flussdiagramme: Codierer (links) und Decodierer (rechts). Illustration von RowtelAudiobeispiele und Vergleich mit anderen Codecs
Das alles klingt zwar theoretisch großartig, aber was in Wirklichkeit? Lass uns zuhören. Hier ist eine kurze WAV-Sounddatei:
intro-orig.wav - 1,3 MBWir wenden Codec 2 (ohne WaveNet-Decoder) mit verschiedenen verfügbaren Bitraten an:
3200 Bit / s ,
2400 Bit / s ,
1600 Bit / s ,
1200 Bit / s und
700 Bit / s .
Diese Beispiele zeigen eine signifikante Reduzierung der Dateigröße.
Schauen wir uns die Dateien hinsichtlich ihrer
Lautstärke an, um 1 Stunde Sound zu speichern :
- Bei 3200 Bit / s benötigt eine Stunde Sound nur 1,37 MB (passt auf eine alte 3½-Zoll-Diskette!)
- Bitrate 2400 bps entspricht 1,03 MB / h
- Die Bitrate von 1600 Bit / s beträgt 0,68 MB / h (oder ungefähr zwei Stunden Sound auf einer Diskette! )
- 1200 bps - bis zu 0,51 MB / h
- 700 bps - bis zu 0,3 MB / h
Die Komprimierung ist sehr stark, aber das Ergebnis klingt eindeutig unnatürlich.
Zum Vergleich ist der gleiche Sound in
MP3 mit 8 Kbit / s .
Die Dateigröße ist erheblich größer als die von Codec 2, und die Qualität ist wahrscheinlich immer noch nicht akzeptabel. Sie können gut hören, was manchmal als Zischen bezeichnet wird - die seltsamen Metallklänge, die MP3s mit geringer Qualität innewohnen.
Es gibt den letzten Codec, mit dem verglichen werden kann. Es scheint, dass es beide Welten vereint, das heißt, es bietet akzeptable Qualität bei niedriger Bitrate:
Opus .
Dank seiner überzeugenden Leistung bei niedrigen Bitraten bietet Auphonic Benutzern bereits Opus-Codierungen mit bis zu 6 Kbit / s, die niedrigste Bitrate, die der Codec unterstützt.
Mit 6 kbit / s scheint der Opus-Codec deutlich besser zu sein als MP3 mit 8 kbit / s. Die Stimme ist etwas gedämpft,
klingt aber
immer noch natürlich .
Kehren wir aus Interesse zu Codec 2 zurück und hören wir uns an, wie er
Musik codiert ! (Beachten Sie, dass Codec 2 nicht zum Codieren von Musik gedacht ist, sondern nur zum Sprechen).
QuelldateiMP3 8 kbpsPersönlich kann ich MP3 nicht mit einer solchen Bitrate hören. Schauen wir uns also die Ergebnisse von Codec 2 an! Also
3200 Bit / s ,
2400 Bit / s ,
1600 Bit / s ,
1200 Bit / s ,
700 Bit / s .
Es ist leicht zu verstehen, dass es für diesen Zweck überhaupt nicht geeignet ist!
Codec 2 und WaveNet
Wie wir bereits gehört haben, ist das Ergebnis trotz der beeindruckenden Komprimierung kein sehr natürlicher Klang.
Aber hier wird die Sache interessanter, wenn Sie sich die Arbeit von Bastian Klein aus der Cornell University Library ansehen. Er verwendete Codec 2 mit einer Bitrate von 2400 Bit / s für die Codierung,
ersetzte jedoch den Codec 2-Decoder durch ein generatives WaveNet-Deep-Learning-Modell (weitere Informationen finden Sie im Artikel
„Wavenet-basierte Low-Bitrate-Codierung“ ).
Hier einige Beispiele der
Autoren :
MännerstimmeQuelldateiCodec 2Mit WaveNet DecoderWeibliche StimmeQuelldateiCodec 2Mit WaveNet DecoderIm Vergleich zu Codec 2 stellen wir eine
signifikante Qualitätsverbesserung fest , und im Vergleich zum Original gibt es keine signifikante Qualitätsminderung.
David Rowe selbst sagte, er betrachte das Ergebnis als
"eine dramatische Verbesserung der Sprachcodierung bei niedrigen Bitraten" und "einen guten 8000-Bit / s-Breitband-Sprachcodec".
Fazit
Obwohl der (ursprüngliche) Codec 2-Codec eine sehr interessante Aufgabe ist, ist sein Umfang begrenzt und das Endergebnis ist nicht für Podcasts geeignet. Aus Audiobeispielen geht auch hervor, dass damit nur Sprache, nicht aber Musik komprimiert werden kann.
Trotzdem verbessert Codec 2 in Kombination mit dem
WaveNet-Decoder die Qualität erheblich, und die niedrige Bitrate (2400 Bit / s) wird für die
Verteilung von Podcasts und Hörbüchern äußerst interessant sein: Für
eine Stunde Sound werden nur
1,03 MB Speicherplatz benötigt!
Auphonic fügt den
Ausgabedateien Codec 2-Unterstützung hinzu, wenn der WaveNet-Decoder in einer verwendbaren Form angezeigt wird. Bisher haben wir die
Unterstützung für Codec 2 nur für Eingabedateien hinzugefügt.