1 简介

随着通信技术的发展,对日益复杂的语音通信系统和语音编码技术进行性能测试变得十分重要.因此,研究灵活,方便,可靠的语音质量评价系统成为国内外研究者共同努力的目标. PESQ算法是国际电信联盟组织(ITU)提出的语音质量客观评价算法之一.该算法考虑了网络的端到端的时延,且采用改进的听觉模型和认知模型技术,对通信延时,环境噪声等有较好的鲁棒性.

【语音评价】语音质量客观评价(PESQ)含Matlab源码_lua

【语音评价】语音质量客观评价(PESQ)含Matlab源码_编码器_02

【语音评价】语音质量客观评价(PESQ)含Matlab源码_数据_03

2 部分代码


          
          
%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%% 性能评估 %%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%
clear
clc
root_dir = 'C:\Users\TIQC\Desktop\';
evaluation_dir = sprintf('%s%s', root_dir, '语音质量客观评价(PESQ)');
cd(evaluation_dir);
wav_name = 'original';
% de_wav_name ='de-2male&2female-(4)-'
de_wav_name ='output';
% original_file_dir = encode_wav_file;
original_file = sprintf('%s.wav', wav_name);
% original_file = '2male(90s)-1.wav';
% original_file_dir = 'E:\桌面文件\PROGRAMME\600bps(0215)\ultra low bit rate vocoder(600bps)\encode_wav\2male(90s)-1.wav';
% original_file = '2female(90s)-1.wav';
% original_file_dir = 'E:\桌面文件\PROGRAMME\600bps(0215)\ultra low bit rate vocoder(600bps)\encode_wav\2female(90s)-1.wav';
[speech_reference, fs_reference, bits] = wavread(original_file);
% cd('C:\Documents and Settings\Administrator\桌面\MELP\下载来自MATLAB CENTRAL\MELP_m\decode_wav');
% load 'decode_wav.mat';
% % coding_file_dir = decode_wav_file;
coding_file = sprintf('%s.wav', de_wav_name);
[speech_degraded, fs_degraded, bits] = wavread(coding_file); %
cd(evaluation_dir);
% 计算PESQ
[scores] = pesqbin( speech_reference, speech_degraded, fs_reference, 'nb' );
% 计算处理延时(编码器分析语音和解码器重建语音的时间)
%delay_process = mean(t_synths)+mean(t_trans)+mean(t_analys);
% 计算算法延时(绝大部分低比特率语音编码器一次处理一帧语音数据, 语音参数每帧更新和传输一次。因此, 在语音数据分析之前, 必须缓存一帧数据, 由此导致的延时称为算法延时。)
%delay_algor = delay_process;
% 计算系统延时
%delay_system = delay_process + delay_algor;
disp(sprintf('The bit rate is ***kbps'));
disp(sprintf('The PESQ is %d .', scores(1)));
% disp(sprintf('Delay of system is %d ms', delay_system*1000));
% 详细结果
disp(sprintf('\nDetail of result :'));
disp(sprintf(' original wav code wav PESQ-MOS MOS-LQO Sample_FESQ '));
disp(sprintf(' %s %s %d %d %d \n', original_file, coding_file, scores(1), scores(2), fs_reference));
% disp(sprintf('delay of porcess is %d ms', delay_process*1000));
% disp(sprintf('delay of algor is %d ms', delay_algor*1000));
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.

3 仿真结果

【语音评价】语音质量客观评价(PESQ)含Matlab源码_lua_04

4 参考文献

[1]凌渝. 基于PESQ算法的语音质量客观评价方法研究[J]. 警察技术, 2011(5):3.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

【语音评价】语音质量客观评价(PESQ)含Matlab源码_数据_05