Verlustfreier audio-codec für embedded-Geräte
Ich soll zur übertragung eines stereo-audio-stream mit 48K-rate (das entspricht bis zu 768 Kbit pro Kanal bei 16-bit-samples) via a radio channel, und ihn an einen DAC mit einem Cortex-M3 microcontroller. Während der Kanal technisch funktioniert bei 2 Mbit, Bereich schnell abgebaut wird mit der Geschwindigkeit, und ich möchte es zu optimieren, bis zu einem gewissen Grad.
Ist es lossless audio codec, die arbeiten können an einem mikrocontroller mit ~8K RAM, ca. 20 MIPS Rechenleistung, eine 32-bit-hardware-Multiplikator und keine hardware-Teiler? Ich brauche nicht so eine große Verdichtung, aber es sollte in der Lage stream Fehler korrekt und ohne lange Pausen in der Wiedergabe.
InformationsquelleAutor whitequark | 2011-07-18
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Xiph.org's FLAC könnte embeddable - siehe "Embedded-Entwickler" Abschnitt am unten auf dieser Seite. Es ist der Feste Punkt, schnell. open-source und relativ breit unterstützt wird. Ich habe es nicht ausprobiert, aber ich habe die embedded-version des Ogg-Vorbis-decoder (Zittern), und fand es relativ einfach zu laufen.
Statt, oder vielleicht auch über eine audio-Komprimierung sollten Sie auch Downsampling auf eine niedrigere Abtastrate.
Sie müssen auch prüfen die Robustheit Ihrer wireless-Verbindung. Dies wird auch Essen in Ihre insgesamt wireless-Bandbreite, wie Sie vielleicht haben, betrachten Fehler-Korrektur-Techniken.
Diese beiden Fragen hängt von der Qualität der audio-erforderlich.
Linux JACK Programm denke ich nutzt eine CELT Audio-Codec(Verlustbehaftet), die Sie betrachten möchten.
Werfen Sie einen Blick auf apt-x. Ich nehme an, es ist entworfen für genau das, was sind Sie bei der Erstellung und nach diese ausgeführt werden können, auf den Cortex M3.
nur tun DPCM (für lossless) oder ADPCM (für verlustbehaftete).
rund 25% Kompression (1MB PCM komprimiert auf 250kb ADPCM).