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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.