当前位置:首页 >> 信息与通信 >>

基于matlab的语音信号的合成(加入延迟混响)


中北大学
课 程 设 计 说 明 书

学生姓名: 学生姓名: 学生姓名: 学 专 题 院: 业:

学 号: 学 号: 学 号:
信息与通信工程学院 电子信息工程

目:信息处理实践:
语言信号的合成

指导教师:

杨 娜

称:

副教授

2016 年 1 月 3 日

中北大学
课程设计任务书
15/16 学年第 一 学期

学 专

院: 业:

信息与通信工程学院 电子信息工程

学生姓名: 学生姓名: 学生姓名:

学 号: 学 号: 学 号:

课程设计题目:信息处理实践: 语言信号的合成 起 迄 日 期: 课程设计地点: 指 导 教 师: 系 主 任:
2016 年 1 月 4 日~2016 年 1 月 22 日

201,503,1 号楼教室 杨 娜

王浩全

下达任务书日期:

2016 年 1 月 3 日

课 程 设 计 任 务 书
1.设计目的:
通过本次课程设计使学生掌握信息处理理论的相关知识。通过具体的设计问题将理 论与实践相结合,培养学生运用所学独立解决问题的能力。 (1)了解信号的读取、保存、截取、拼接等技术。 (2)了解 MATLAB 的信号处理技术。 (3)掌握 MATLAB 实现语音信号的读取、保存、拼接。

2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等):

(1)利用 windows 的录音机或其他外部设备获取两种或两种以上音乐信号,并将信号进 行转换和存储。 (2)自行截取各采集信号中的一段进行信号的拼接。 (3)保存拼接后的音乐信号,并进行播放证实存储的正确性。

3.设计工作任务及工作量的要求〔包括课程设计计算说明书(论文)、图纸、 实物样品等〕:
(1)要求设计组的每个成员都要了解设计的要求和思路; (2)编写详细的设计说明书三份; (3)要求有正确的运行结果及结果分析。

I

课 程 设 计 任 务 书
4.主要参考文献:
[1]程佩青. 数字信号处理教程. 北京:清华大学出版社,2002 [2]刘敏,魏玲. Matlab 通信仿真与应用. 北京:国防工业出版社,2001 [3]高政. 信号处理与系统分析. 北京:中国水利水电出版社,2001 [4]俞一彪,孙兵. 数字信号处理——理论与应用. 南京:东南大学出版社,2000 [5]数字信号处理 孙洪等译 电子工业出版社 [6]精通 MATLAB6.5 版 张志涌等编著 北京航空航天大学出版社 [7] MATLAB 扩展编程 何强 何英 编著 清华大学出版社 [8]数字信号处理教程 程佩青编著 清华大学出版社

5.设计成果形式及要求:
(1)提供详细的设计说明书三份; (2)提供详细数据及分析结果。

6.工作计划及进度:
2007 年 6 月 25 日 ~ 2007 年 7 月 1 日:查资料 2007 年 7 月 2 日 ~ 7 月 5 日:在指导教师指导下设计方案及程序 7 月 6 日 ~ 7 月 10 日:学生上机调试程序,指导教师辅导 7 月 11 日 ~ 7 月 12 日:完成课程设计说明书 7 月 13 日:答辩

系主任审查意见:
签字: 年 月 日

II

目 录
摘 要.........................................................................................................................(1) 1.MATLAB 简介...................................................................................................(1) 2.GUI 简介.........................................................................................................(1) 一. 设计方案........................................................................................................... 二.设计步骤及结果 1.语音信号的采集.............................................. 2.语音信号的截取................. 3.语音信号的合成................. 4.合成语音的验证......... 5.GUI 界面设计及实现......... 三.设计评述 参考文献.............. 附 录..............

III




语音信号处理是一门比较实用的电子工程专业课程,语音是人类获取信息的

的重要来源和利用信息的重要手段。 通过语言相互传递信息是人类最重要的基本 功能之一。 语音信号是一种非平稳的时变信号, 它携带着各种信息。 在语音编码、 语音合成、 语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各 种信息。 Matlab 是一个数据分析和处理功能十分强大的工程实用软件。本文

介绍了利用 matlab 软件及其中的图形用户界面(GUI)实现驱动声卡采集语音信 号和语音信号采集后的文档处理方法,并通过实例利用 matlab 分析了语音信号 处理的过程。 关键词:语音信号处理 MATLAB 频谱分析 语音合成

1.MATLAB 简介 MATLAB 是美国 Math Works 公司推出的一种面向工程和科学计算的交互式计 算软件,它以矩阵运算为基础,把计算、可视化、程序设计融合到了一个简单易 用的交互式工作环境中。同时由于 MATLAB 是一个数据分析和处理功能十分强大 的工程实用软件, 它的信号处理与分析工具箱为语音信号分析提供了十分丰富的 功能函数,利用这些功能函数可以快捷而又方便地完成语音信号的处理和分析以 及信号的可视化,使人机交互更加便捷。

2.GUI 简介 GUIDE 是 Graphic User Interface Design Environment 的简称。它是一 个设计图形用户界面的集成开发环境。它使得图形对象的生成和管理变得简单、 直接。 在 MATLAB 的命令窗口中输入 guide 命令,即可开启 GUIDE 的主界面 图

形用户界面(GUI)是包含图形的对象,如:窗口、图标、菜单和文本的用户界面。

1

一.设计方案

信号采集

信号截取

信号拼接

语音验证

图 1-1 总体设计方案

男声录入

女声录入

时频分析

时频分析

提取信号

提取信号

信号的合成

分析处理

图 1-2 具体运行流程图

本实验通过应用 MATLAB 软件实现声音信号的采集、截取、 拼接与结果分析。 分析和处理音频信号, 首先要对声音信号进行采集,MATLAB 的数据采集工具箱

提供了一整套命令和函数,通过调用这些函数和命令,可直接控制声卡进行数据 采集。 Windows 自带的录音机程序也可驱动声卡来采集语音信号, 并能保存为 WAV 格式文件,供 MATLAB 相关函数直接读取、写入或播放。本实验以 WAV 格式音频 信号作为分析处理的输入数据, 用 MATLAB 处理音频信号的基本流程是: 先将 WAV 格式音频信号经过 wavread 函数转换成 MATLAB 列数组变量; 再用 MATLAB 强大的 运算能力进行数据分析和处理,如时域分析、频域分析、数字滤波、信号合成、

2

信号变换、识别和增强等等;处理后的数据如是音频数据,则可用 wavwrite 转 换成 WAV 格式文件或用 sound 函数直接回放。

二.设计步骤及结果
1.语音信号的采集 首先利用 windows 下的录音机,录制一段信号,时间控制在 10 秒左右,然 后将音频文件保存“yuan1.wav”、“yuan2.wav”。再在 MATLAB 软件平台下, 利用函数 audioread 对语音信号进行采样,记住采样频率和采样点数。然后进行 语音信号的分析,首先画出语音信号的时域波形图,并利用 fft 画出频域图。 参数设定:采样频率 88060Hz,采样时间 10s,作 88060 点 fft。 程序如下:
fs=88060; %采样频率 x1=audiorecorder(fs,16,1); recordblocking(x1,10);%10 秒 y1 = getaudiodata(x1); subplot(2,2,1); plot(y1); title('男声录入波形图'); xlabel('样本数'); ylabel('幅值'); Y1=fft(y1); subplot(2,2,3); plot(abs(Y1)); title('男声录入频谱图'); xlabel('Freq/HZ'); ylabel('幅值'); filename= 'yuan1.wav' audiowrite(filename,y1,fs); x2=audiorecorder(fs,16,1);

3

recordblocking(x2,10); y2 = getaudiodata(x2); subplot(2,2,2); plot(y2); title('女声录入波形图'); xlabel('样本数'); ylabel('幅值'); Y2=fft(y2); subplot(2,2,4); plot(abs(Y2)); title('女声录入频谱图'); xlabel('Freq/HZ'); ylabel('幅值'); filename= 'yuan2.wav' audiowrite(filename,y2,fs);

结果如下:

图 2-1 采集信号波形和频谱图 4

图 2-2 生成原始信号文件

2.语音信号的截取 自行设定截取起始时间和结束时间,对原始信号进行截取,并将截取后的数 据保存为 wav 格式文件;再对截取后的信号波形图显示。 程序如下:
%截取信号—————————————— sec1= 2 %剪切开始的时间 sec2= 5 %剪切结束的时间 filename='yuan1.wav' [n1,F]=audioread(filename); n1_new=n1(((F*sec1+1):F*sec2),:); subplot(1,2,1); plot(n1_new); title('截取男声波形图'); xlabel('样本数'); ylabel('幅值'); filename='yuan1new.wav' audiowrite(filename,n1_new,F); filename='yuan2.wav' [n2,F]=audioread(filename); n2_new=n2(((F*sec1+1):F*sec2),:); subplot(1,2,2); plot(n2_new); title('截取女声波形图'); xlabel('样本数'); 5

ylabel('幅值'); filename='yuan2new.wav' audiowrite(filename,n2_new,F);

结果如下:

图 2-3 截取信号的波形图

对比图 2-1,可以发现截取信号的波形正是图 2-1 波形中设定截取的一段。

图 2-4 生成截取信号文件

3.语音信号的合成 按照设计要求将截取的语音信号进行拼接,并保存在新的 wav 文件中。但设 计过程中发现单纯的拼接信号, 在拼接处会给听者极大的突兀感,所以在设计中 加入信号的延迟混响,以达到减少突兀感,使语音过渡更加平滑。合成后,生成
6

波形和频谱图进行分析。 所谓延迟混响, 就是在各自截取段的基础上, 对第一段的末尾进行延时补零, 再对第二段的开头进行延时补零, 在此基础上采取部分相加的方法实现该时段内 的混响,延长的时长设定在 0.1s,混响的时间取在 1s。 程序如下:
sec1= 2 %剪切开始的时间 sec2= 5 %剪切结束的时间 filename= 'yuan1new.wav' [new1,F]=audioread(filename); filename= 'yuan2new.wav' [new2,F]=audioread(filename); n_1=new1((sec2-sec1-1)*F:(sec2-sec1)*F); n_2=new2(1:F); j=10; z1=[n_1;zeros(F/j,1)]; z2=[zeros(F/j+1,1);n_2]; z=z1+z2; new3(1:(sec2-sec1-1)*F)=new1(1:(sec2-sec1-1)*F); new3((sec2-sec1-1)*F:(sec2-sec1+1/j)*F)=z; new3((sec2-sec1+1/j)*F-1:(2*(sec2-sec1)-1+1/j)*F)=new2(F:(sec2-sec1)*F); subplot(1,2,1); plot(new3); title('合成波形图'); xlabel('样本数'); ylabel('幅值'); N1=fft(new3); subplot(1,2,2); plot(abs(N1)); title('合成频谱图'); xlabel('Freq/HZ'); 7

ylabel('幅值'); filename= 'hecheng.wav' audiowrite(filename,new3,F);

结果如下:

图 2-5 合成信号波形与频谱图

对比图 2-3,可看出波形大致为两个阶段信号的拼接合成。

图 2-6 生成合成信号文件

4.合成语音的验证 通过 sound 函数实现在 matlab 在直接听取截取段的语音和合成之后的录音。 程序如下:
filename='yuan1new.wav' [yan1,F]=audioread(filename); sound(yan1,F) filename='yuan2new.wav' [yan2,F]=audioread(filename); 8

sound(yan2,F) filename='hecheng.wav' [yan3,F]=audioread(filename); sound(yan3,F);

5.GUI 界面设计及实现 考虑到系统的实现目的是为了让用户有更好的体验,借助于 matlab 的图形 用户界面(以下成为 GUI),做出完整的用户界面来完成本次课程设计。 由于程序部分较长,详细程序见附录,此处只展示结果。 结果如下:

图 2-7 GUI 设计界面

9

图 2-8 最终结果实现界面

三.设计评述
通过本次课程设计,我学会了使用 MATLAB 分析连续时间信号的频谱,能够 基本运用了 MATLAB 的图形用户界面(GUI)编程。实验之初由于对课题和相关知 识理解不深,因而设计起来很困难。通过查阅相关书籍,同学之间相互讨论以及 询问老师, 我理解并掌握了课题的实质。 由于之前很少接触 MATLAB 软件, MATLAB 中的许多函数,如 fft,plot,subplot,abs 等用起来比较吃力。通过老师的讲 解以及下课后自己对 MATLAB 的学习, 我基本可运用 MATLAB 软件做一些简单的程 序来看信号的频谱或各种信号的波形。通过分析连续时间信号的频谱,使我更加 深入的理解了书本上的知识。 要真正熟练运用 MATLAB 还要靠自己多学习和使用。 而且在写 MATLAB 程序时不能马虎,否则程序很容易出错,这培养了自己的细心 和耐心。 通过不断使用 MATLAB, 我发现并解决了很多问题, 使我更加了解 MATLAB。 课程设计虽然是一门专业课,但是通过课设使我专业知识得到了丰富,专业 技能上的提升。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题, 最后在谢老师和林老师的辛勤指导下,终于迎刃而解。同时,在老师的身上我学 得到很多实用的知识,在此我表示感谢!同时,对给过我帮助的所有同学和各位 指导老师再次表示衷心的感谢!
10

参 考 文 献
[1]程佩青. 数字信号处理教程. 北京:清华大学出版社,2002 北京:国防工业出版社,2001 [2]刘敏,魏玲. Matlab 通信仿真与应用. [3]高政. 信号处理与系统分析.

北京:中国水利水电出版社,2001 南京: 东南大学出版社, 2000

[4]俞一彪, 孙兵. 数字信号处理——理论与应用. [5]数字信号处理 孙洪等译 电子工业出版社

[6]精通 MATLAB6.5 版

张志涌等编著

北京航空航天大学出版社

[7]MATLAB 扩展编程 何强 何英 编著 清华大学出版社 [8]数字信号处理教程 程佩青编著 清华大学出版社

11





GUI 设计界面程序如下:
function varargout = shiyan1(varargin) % SHIYAN1 MATLAB code for shiyan1.fig % SHIYAN1, by itself, creates a new SHIYAN1 or raises the existing % singleton*. % % H = SHIYAN1 returns the handle to a new SHIYAN1 or the handle to % the existing singleton*. % % SHIYAN1('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in SHIYAN1.M with the given input arguments. % % SHIYAN1('Property','Value',...) creates a new SHIYAN1 or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before shiyan1_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to shiyan1_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help shiyan1 % Last Modified by GUIDE v2.5 14-Jan-2016 09:18:41 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @shiyan1_OpeningFcn, ... 'gui_OutputFcn', @shiyan1_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else 12

gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT

% --- Executes just before shiyan1 is made visible. function shiyan1_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to shiyan1 (see VARARGIN) % Choose default command line output for shiyan1 handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes shiyan1 wait for user response (see UIRESUME) % uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line. function varargout = shiyan1_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output;

% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) fs=88060; %采样频率 sd =get(handles.edit1,'string'); sheding=str2double(sd) x1=audiorecorder(fs,16,1); recordblocking(x1,sheding);%8 秒 13

y1 = getaudiodata(x1); axes(handles.axes1); plot(y1); title('男声录入波形图'); xlabel('样本数'); ylabel('幅值'); Y1=fft(y1); axes(handles.axes4); plot(abs(Y1)); title('男声录入频谱图'); xlabel('Freq/HZ'); ylabel('幅值'); filename= 'yuan1.wav' audiowrite(filename,y1,fs); guidata(hObject, handles); % --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) fs=88060; %采样频率 sd =get(handles.edit1,'string'); sheding=str2double(sd) x2=audiorecorder(fs,16,1); recordblocking(x2,sheding); y2 = getaudiodata(x2); axes(handles.axes5); plot(y2); title('女声录入波形图'); xlabel('样本数'); ylabel('幅值'); Y2=fft(y2); axes(handles.axes6); plot(abs(Y2)); title('女声录入频谱图'); xlabel('Freq/HZ'); ylabel('幅值'); filename= 'yuan2.wav' audiowrite(filename,y2,fs); guidata(hObject, handles); % --- Executes during object creation, after setting all properties. function pushbutton2_CreateFcn(hObject, eventdata, handles) 14

% hObject % eventdata % handles

handle to pushbutton2 (see GCBO) reserved - to be defined in a future version of MATLAB empty - handles not created until after all CreateFcns called

function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit1 as text % str2double(get(hObject,'String')) returns contents of edit1 as a double

% --- Executes during object creation, after setting all properties. function edit1_CreateFcn(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function edit2_CreateFcn(hObject, eventdata, handles) % hObject handle to edit2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

15

function edit3_Callback(hObject, eventdata, handles) % hObject handle to edit3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit3 as text % str2double(get(hObject,'String')) returns contents of edit3 as a double

% --- Executes during object creation, after setting all properties. function edit3_CreateFcn(hObject, eventdata, handles) % hObject handle to edit3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

% --- Executes on button press in pushbutton3. function pushbutton3_Callback(hObject, eventdata, handles) % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) s1=get(handles.edit3,'string'); sec1=str2double(s1) s2=get(handles.edit2,'string'); sec2=str2double(s2) filename='yuan1.wav' [n1,F]=audioread(filename); n1_new=n1(((F*sec1+1):F*sec2),:); axes(handles.axes7); plot(n1_new); title('截取男声波形图'); xlabel('样本数'); ylabel('幅值'); filename='yuan1new.wav' audiowrite(filename,n1_new,F); filename='yuan2.wav' 16

[n2,F]=audioread(filename); n2_new=n2(((F*sec1+1):F*sec2),:); axes(handles.axes8); plot(n2_new); title('截取女声波形图'); xlabel('样本数'); ylabel('幅值'); filename='yuan2new.wav' audiowrite(filename,n2_new,F); guidata(hObject, handles);

% --- Executes on button press in pushbutton4. function pushbutton4_Callback(hObject, eventdata, handles) % hObject handle to pushbutton4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) s1=get(handles.edit3,'string'); sec1=str2double(s1) s2=get(handles.edit2,'string'); sec2=str2double(s2) filename= 'yuan1new.wav' [new1,F]=audioread(filename); filename= 'yuan2new.wav' [new2,F]=audioread(filename); n_1=new1((sec2-sec1-1)*F:(sec2-sec1)*F); n_2=new2(1:F); j=10; z1=[n_1;zeros(F/j,1)]; z2=[zeros(F/j+1,1);n_2]; z=z1+z2; new3(1:(sec2-sec1-1)*F)=new1(1:(sec2-sec1-1)*F); new3((sec2-sec1-1)*F:(sec2-sec1+1/j)*F)=z; new3((sec2-sec1+1/j)*F-1:(2*(sec2-sec1)-1+1/j)*F)=new2(F:(sec2-sec1)*F); axes(handles.axes9); plot(new3); title('合成波形图'); xlabel('样本数'); ylabel('幅值'); N1=fft(new3); axes(handles.axes10); plot(abs(N1)); title('合成频谱图'); xlabel('Freq/HZ'); 17

ylabel('幅值'); filename= 'hecheng.wav' audiowrite(filename,new3,F); guidata(hObject, handles); % --- Executes on button press in pushbutton5. function pushbutton5_Callback(hObject, eventdata, handles) % hObject handle to pushbutton5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) filename='yuan1new.wav' [yan1,F]=audioread(filename); sound(yan1,F) guidata(hObject, handles);

% --- Executes on button press in pushbutton6. function pushbutton6_Callback(hObject, eventdata, handles) % hObject handle to pushbutton6 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) filename='yuan2new.wav' [yan2,F]=audioread(filename); sound(yan2,F) guidata(hObject, handles);

% --- Executes on button press in pushbutton7. function pushbutton7_Callback(hObject, eventdata, handles) % hObject handle to pushbutton7 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) filename='hecheng.wav' [yan3,F]=audioread(filename); sound(yan3,F) guidata(hObject, handles);

% --- Executes on button press in pushbutton9. function pushbutton9_Callback(hObject, eventdata, handles) % hObject handle to pushbutton9 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) close 18


相关文章:
基于matlab的语音信号的合成(加入延迟混响)
基于matlab的语音信号的合成(加入延迟混响)_信息与通信_工程科技_专业资料。基于matlab的语音信号的合成,加入了延迟混响。中北大学课 程设计说明书 学生姓名: 学生...
基于MATLAB的声音的延迟与混响
基于 MATLAB 的声音延迟混响 要求完成的主要任务: ① 较全面了解常用的数据...本次设计 是用 MATLAB 语言对语音信号进行采样分析,并设计数字滤波器对信 号...
基于matlab语音信号合成与处理课程设计
基于matlab语音信号合成与处理课程设计_工学_高等教育...的语音信号进行频谱分析,并进行频率均衡和加入混响...%设定延迟时间 t=n/fs 秒,改变该数据可改变混响...
基于MATLAB的语音信号特技处理-延时与混响
基于MATLAB的语音信号特技处理-延时与混响_信息与通信...将三路信号合成为一路信号,分析合成信号的时域和...预延时:自然混响声阵的建立都会延迟一段时间,预延时...
基于MATLAB的语音信号的特技处理——时延和混响
基于MATLAB的语音信号的特技处理——时延和混响_信息与通信_工程科技_专业资料。...(4)预延时:自然混响声阵的建立都会延迟一段时间,预延时即为模拟次 效应而设置...
matlab 语音 延时与混响
(3)将信号加入延时和混响,再分析其频谱,并与原始...(4)预延时:自然混响声阵的建立都会延迟一段时间,...本次课题是基于 MATLAB 的语音信号的特技处理,对...
基于MATLAB的语音处理
的语音去噪和延时混响实验 基于 MATLAB 的语音加...%设定延迟时间 t=n/fs 秒,改变该数据可改变混响深度...五、语音合成实验 %%%%%将两首语音全成一首%%%...
语音信号的延时和混响
(3)将信号加入延时和混响,再分析其频谱,并与原始...MATLAB 对其进行处理, 首先要读 入这段语音信号,...延迟混响的调节 暂无评价 3页 免费喜欢此文档的还喜欢...
语音的延迟和混响
语音的延迟混响_信息与通信_工程科技_专业资料。(...MATLAB 软件对声音信号进行数字处理的过程,对语音信号...语音信号分析模拟、语音合成、语音识别等的研究已较...
更多相关标签:
matlab语音合成 | 如何用matlab语音合成 | matlab语音合成代码 | 混响预延迟的计算 | 混响延迟多少合适 | 混响预延迟 | 延迟加在混响前面 | 混响延迟 |