2/3-bit ADPCM Decoder auf ATTinyx5

OP #1558848
Lesenswert?

Hallo,

anbei eine ADPCM-Variante für den ATTinyx5, basierend auf der Appnote 
"AN643" von Microchip (16byte-Sound mit 4bit ADPCM).

1) Der Algorithmus wurde geändert auf 8bit Sound.
2) Der Sound wird kodiert als <3-bit-ADPCM , 3-bit-ADPCM , 2-bit-ADPCM>, 
also ein Byte erzeugt 3 Samples. Qualität ist OK.

Verschiedene Encoder (für PC) sind dabei:
- normaler ADPCM-Encoder, kodiere immer nur einen Schritt
- suche-optimales-Byte Encoder
- suche-optimales-Byte Encoder (bis zu ein Byte vorausschauend)
Die Encoder sind jeweils immer komplexer/langsamer, bieten aber eine 
bessere Approximation des Sounds (mittlere Differenz zum Original ist 
kleiner).

Der Encoder kodiert von 16-bit-unsigned-RAW nach ADPCM332. Die RAW am 
besten mit "sox" erzeugen. Befehlsscript anbei.

Decoder für PC anbei.

Für den Tiny gibt es einen Decoder-Inthandler, der <100 Zyklen braucht 
(bietet also viel Zeit zum Oversamplen). Einigermaßen modular 
geschrieben.

zur Info: der 4bit ADPCM (wie in der Appnote beschrieben) klingt richtig 
gut.

Gruß,
PRosendahl
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren