matlab混合声音分离,matlab 声道分离合并与组合

立体声或双声道音频信号有左右两个声道

利用 MATLAB实现双声道分离

两路声道合并和两个单声道组合成一个双声道等效果

实际上是利用了MATLAB的矩阵抽取

矩阵相加和矩阵重组运算

例 2现以例 1生成的 XPquit.wav为例 实现分离 合并和组合处理的程序如下

clear; close all; clc;

[x,FS,NBITS]=wavread('XPquit.WAV'); % 将 WAV 文件转换成变量

x1=x(:,1); % 抽取第 1 声道

x2=x(:,2); % 抽取第 2 声道

wavwrite(x1,FS,NBITS,'XPquit1.WAV'); % 实现 1 声道分离

wavwrite(x2,FS,NBITS,'XPquit2.WAV'); % 实现 2 声道分离

%如果合并位置不对前面补

%声道长度不对后面补

x12=x1+x2; % 两路单声道列向量矩阵变量合并

x12m=max(max(x12),abs(min(x12))), % 找出极值

y12=x12./x12m; % 归一化处理

wavwrite(y12,FS,NBITS,'XPquit12.WAV'); % 实现两路声道合并

%如果组合位置不对前面补 --声道长度不对后面补

x3=[x1,x2]; % 两路单声道变量组合

wavwrite(x3,FS,NBITS,'XPquit3.WAV'); % 实现两路声道组合

可以试听声道分离 合并与组合的效果 也可对各文件大小进行比较

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值