【发布时间】:2019-01-09 19:27:07
【问题描述】:
我正在尝试解决“鸡尾酒会问题”。
这里有一个video很好地解释和解决了这个问题。
在视频中,他声称一行代码解决了这个问题。 所以我得到了他在视频from here 中使用的那些相同的音频文件,并且我包含了他在视频中使用的代码行(第 5 行),但我得到的结果要差得多。我的代码基本上只是以较低的音量输出相同的原始混合音频文件。
这是我在 Octave 中的代码:
[x1, Fs1] = audioread('mixed1.wav');
[x2, Fs2] = audioread('mixed2.wav');
xx = [x1, x2]';
yy = sqrtm(inv(cov(xx')))*(xx-repmat(mean(xx,2),1,size(xx,2)));
[W,s,v] = svd((repmat(sum(yy.*yy,1),size(yy,1),1).*yy)*yy');
a = W*xx;
audiowrite('refined1.wav', a(1,:), Fs1);
audiowrite('refined2.wav', a(2,:), Fs1);
我不明白为什么这不起作用。我的意思是,他实际上在视频中显示它有效,也许不是 100% 准确,但它绝对有效。
我做错了什么以及如何解决?
【问题讨论】:
标签: audio machine-learning octave svd