gpt4 book ai didi

matlab - 尝试在 Matlab 中重新创建鸡尾酒会算法,结果错误?

转载 作者:行者123 更新时间:2023-11-30 09:12:56 25 4
gpt4 key购买 nike

使用此声音文件:http://www.ism.ac.jp/~shiro/research/sounds/RSM/X_rsm2.wav

我正在尝试在 matlab 中从 coursera 重新创建 Andrew Ng 的机器学习演示文稿 ( https://class.coursera.org/ml-005/lecture )

我所做的是读取 .wav 文件(16khz,7 秒,2 个 channel )

[x,xfs] = wavread('track.wav')

现在我转置 x

x = x'

现在我继续在鸡尾酒会算法中使用 x

[W,s,v] = svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x')

MATLAB 返回:

W =

-0.9233 -0.3841
-0.3841 0.9233


s =

265.4832 0
0 13.0768


v =

-0.9233 -0.3841
-0.3841 0.9233

分离的音频在哪里?

编辑:通过进一步的研究,我发现 W 只是分解矩阵。这意味着如果我的目标是获得两个输出分离的声源,则该算法是不完整的。我该如何处理这个分解矩阵?

最佳答案

我相信您想将通过 SVD 找到的解混合矩阵 W 应用于混合信号 x。这可以简单地完成如下:

sigs = W*x;

现在 sigs(1,:) 将是分离的信号之一,sigs(2,:) 将是另一个。

祝你好运。

关于matlab - 尝试在 Matlab 中重新创建鸡尾酒会算法,结果错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26008634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com