Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab中声音文件中人声的去除_Matlab_Audio_Signal Processing - Fatal编程技术网

Matlab中声音文件中人声的去除

Matlab中声音文件中人声的去除,matlab,audio,signal-processing,Matlab,Audio,Signal Processing,我使用Matlab分离声音文件的左声道和右声道。代码可以编译,但不能完全从声音文件中删除人声。为什么呢 代码如下: [y,fs]=wavread('On the floor.wav'); left=y(:,1); right=y(:,2); wavplay(left-right,fs); 人声抑制是一个难题,是许多学术和商业研究的主题。在学术界,这种问题被称为源分离,近年来已成为热门的博士研究课题;因此有大量的文献存在 您似乎正在实施的方法是减去立体图像中心的节目材料。当正确地执

我使用Matlab分离声音文件的左声道和右声道。代码可以编译,但不能完全从声音文件中删除人声。为什么呢

代码如下:

 [y,fs]=wavread('On the floor.wav');

 left=y(:,1);
 right=y(:,2);


 wavplay(left-right,fs);
人声抑制是一个难题,是许多学术和商业研究的主题。在学术界,这种问题被称为源分离,近年来已成为热门的博士研究课题;因此有大量的文献存在


您似乎正在实施的方法是减去立体图像中心的节目材料。当正确地执行(见上面的评论)时,这可能会抑制某些曲目上的一些人声,但也会导致大量其他材料混入您希望保留的中心

你在右边听到了什么,在左边听到了什么?人声被抑制了一点,但没有完全消失。我该怎么做?我是否在这段代码中遗漏了什么,以及如何在matlab中播放文件时停止声音播放。我在工作区中尝试了
clear playsnd
,但它不起作用,我很惊讶你竟然在这方面取得了一些成功。如果它真的那么简单,请尝试
left-2.0*right
或找到一个
f
来最小化
abs(left-f*right)
,然后计算
left-f*right
。您也可以截断
y
y=y(1:ceil(大小(y,1)/10),:)
只处理歌曲的前10首。好的,您能告诉我如何在播放音乐时停止音乐吗