• 大小: 704KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-07
  • 语言: Matlab
  • 标签: 绝对经典  

资源简介

包含的 相关性 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个文件信息

评论

共有 条评论

相关资源