资源简介
包含的 相关性 pcm adpcm huffman 编码等 及读取音频.wav文件 进行压缩 并通过play函数放音 比较压缩后的效果
代码片段和文件信息
function raw_y = adpcm_decoder(adpcm_y)
% This m-file is based on the app note: AN643 Adaptive differential pulse
% code modulation using PICmicro microcontrollers Microchip Technology
% Inc. The app note is avaialbe from www.microchip.com
% Example: Y = wavread(‘test.wav‘);
% y = adpcm_encoder(Y);
% YY = adpcm_decode(y);
IndexTable = [-1 -1 -1 -1 2 4 6 8 -1 -1 -1 -1 2 4 6 8];
StepSizeTable = [7 8 9 10 11 12 13 14 16 17 19 21 23 25 28 31 34 37 41 45 50 55 60 66 73 80 88 97 107 118 130 143 157 173 190 209 230 253 279 307 337 371 408 449 494 544 598 658 724 796 876 963 1060 1166 1282 1411 1552 1707 1878 2066 2272 2499 2749 3024 3327 3660 4026 4428 4871 5358 5894 6484 7132 7845 8630 9493 10442 11487 12635 13899 15289 16818 18500 20350 22385 24623 27086 29794 32767];
prevsample = 0;
previndex = 1;
Ns = length(adpcm_y);
n = 1;
while (n <= Ns)
predsample = prevsample;
index = previndex;
step = StepSizeTable(index);
code = adpcm_y(n);
diffq = bitshift(step -3);
if (bitand(code 4))
diffq = diffq + step;
end
if (bitand(code 2))
diffq = diffq + bitshift(step -1);
end
if (bitand(code 1))
diffq = diffq + bitshift(step -2);
end
if (bitand(code 8))
predsample = predsample - diffq;
else
predsample = predsample + diffq;
end
if (predsample > 32767)
predsample = 32767;
elseif (predsample < -32768)
predsample = -32768;
end
index = index + IndexTable(code+1);
if (index < 1)
index = 1;
end
if (index > 89)
index = 89;
end
prevsample = predsample;
previndex = index;
raw_y(n) = predsample / 32767;
n = n + 1;
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 285178 2009-09-03 22:05 work\2.wav
文件 7390 2009-09-03 21:43 work\3.wav
文件 54324 2009-09-03 21:51 work\4.wav
文件 69278 2009-09-03 22:42 work\5.wav
文件 1981 2009-09-14 20:19 work\adpacm\adpcm_decoder.m
文件 2573 2009-09-14 20:19 work\adpacm\adpcm_encoder.m
文件 288 2009-09-13 12:24 work\char\char_s.asv
文件 288 2009-09-13 12:24 work\char\char_s.m
文件 1019 2009-09-13 18:52 work\huffman\huffman.asv
文件 1025 2009-09-13 19:10 work\huffman\huffman.m
文件 40703 2009-09-14 10:30 work\music\1.txt
文件 28022 2009-09-14 10:37 work\music\2.txt
文件 28022 2009-09-14 10:38 work\music\3.txt
文件 40703 2009-09-14 10:46 work\music\4.txt
文件 24023 2009-09-14 11:21 work\music\5.txt
文件 24023 2009-09-14 11:22 work\music\6.txt
文件 22682 2009-09-14 11:27 work\music\7.txt
文件 17783 2009-09-14 12:04 work\music\8.txt
文件 31094 2009-09-14 11:19 work\music\新建 文本文档 (2).txt
文件 40703 2009-09-14 09:10 work\music\白噪声.txt
文件 929 2009-09-12 11:22 work\pcm\pcm.m
文件 999 2009-09-12 10:33 work\pcm\pcm_decode.asv
文件 982 2009-09-12 10:34 work\pcm\pcm_decode.m
文件 771 2009-09-12 10:38 work\pcm\pcm_decode_test.asv
文件 760 2009-09-12 13:24 work\pcm\pcm_decode_test.m
文件 921 2009-09-12 09:28 work\pcm\pcm_test.asv
文件 527 2009-09-12 14:26 work\pcm\pcm_test.m
文件 1004 2009-09-14 19:17 work\pcm\pcm_xcor.asv
文件 1003 2009-09-14 19:17 work\pcm\pcm_xcor.m
文件 509742 2009-09-03 17:43 work\test1.wav
............此处省略33个文件信息
评论
共有 条评论