• 【语音编码】基于matlab ADPCM编解码【G.723.1】(Matlab代码实现)


     👨‍🎓个人主页:研学社的博客 

    💥💥💞💞欢迎来到本博客❤️❤️💥💥

    🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

    ⛳️座右铭:行百里者,半于九十。

    📋📋📋本文目录如下:🎁🎁🎁

    目录

    💥1 概述

    📚2 运行结果

    🌈3 Matlab代码实现

    🎉4 参考文献


    💥1 概述

    在研究了发声器官和语音的产生过程以后,便可以建立一个离散时域的语音信号产生模型,对于进一步的各项研究以及各种具体应用,这个模型是非常重要的。这里先给出一个较简单的模型如图2-1所示,对于大多数研究和应用而言(例如语音编码,语音识别等),这个模型可以完全满足需要。
     

    图中给出了这个语音产生的离散时域模型。它包括三个部分:激励源、声道模型和辐射模型。激励源分浊音和清音两个分支,按照浊音/清音开关所处的位置来决定产生的语音是浊音还是清音。
    在浊音的情况下,激励信号由一个周期脉冲发生器产生。所产生的序列是一个周期为N的冲激序列,即每隔N点便有一个样值为 1,而其它样值都为0。周期加取决于基音频率和语音信号采样频
    率。在清音的情况下,激励信号由一个随机噪声发生器产生。可设定其平均值为0,其自关函数是一个单位冲激函数。这表明它的任何两个不同样点都不相关且其均方差值为1。
     

    📚2 运行结果

    🌈3 Matlab代码实现

    部分代码:

    fid = fopen(fullfile(G271RootPath,'data','ExampleAudioInput2.txt'),'rt');    %读文件,文件格式为.txt
    a=fscanf(fid,'%e\n');
    fclose(fid);
    %fid=('ling11.wav');wavwrite(44100,fid);  %转换回wav格式音频文件

    fid = fopen(fullfile(G271RootPath,'data','ExampleAudioOutput2.txt'),'wt');
    for  i = 1:size(a,1)
        Slk=a(i);     %输入信号
        [coe,coe1,coe2,coe3,Dqk] = adpcm(Slk,coe,coe1,coe2,coe3,Dqk);  
        %调用语音编解码函数
        fprintf(fid,'%f\n',coe2(5));
    end
    fclose(fid)

    %---------------波形显示--------------
    fid = fopen(fullfile(G271RootPath,'data','ExampleAudioInput2.txt'),'rt');
    a=fscanf(fid,'%e\n');
    fid = fopen(fullfile(G271RootPath,'data','ExampleAudioOutput2.txt'),'rt');
    b=fscanf(fid,'%e\n');
    subplot(211),plot(a);
    title('输入语音波形');
    subplot(212),plot(b);
    title('解码输出波形');

    🎉4 参考文献

    部分理论来源于网络,如有侵权请联系删除。

    [1]陈云凤,伍康文.一种基于波形变换域的分段ADPCM语音编码算法[J].数据采集与处理,1992(03):169-175.DOI:10.16337/j.1004-9037.1992.03.003.

    [2]宁静. 语音编码G.723.1在TMS320C5402上的实时实现[D].天津大学,2007. 

  • 相关阅读:
    js中的同步任务、异步任务、宏任务、微任务
    中国多元醇行业发展态势良好 重点关注海外市场
    ROS 2官方文档(基于humble版本)学习笔记(三)
    报错IDEA Terminated with exit code 1
    【多线程进阶】synchronized 原理
    RuntimeError: size of dimension does not match previous size, operand 1, dim 1
    React Hooks
    ESP32网络开发实例-自定义主机名称
    Redis--模糊查询--方法/实例
    hadoop配置LZO压缩并测试
  • 原文地址:https://blog.csdn.net/weixin_46039719/article/details/128086473