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

在学习机器学习的课程过程中,ng用一行代码实现了音频分离的效果,这里对这行代码进行解析。

[x1, Fs1] = audioread('E:\sounds\first.wav');
[x2, Fs2] = audioread('E:\sounds\second.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; %W is unmixing matrix
subplot(2,2,1); plot(x1); title('mixed audio - mic 1');
subplot(2,2,2); plot(x2); title('mixed audio - mic 2');
subplot(2,2,3); plot(a(1,:), 'g'); title('unmixed wave 1');
subplot(2,2,4); plot(a(2,:),'r'); title('unmixed wave 2');

audiowrite('unmixed1.wav', a(1,:), Fs1);
audiowrite('unmixed2.wav', a(2,:), Fs1);

问题来源地址:

学习链接

Help:

安装octave

替换Homebrew默认源

matlab入门

Links

KICA

转载于:https://my.oschina.net/gdxz111/blog/3074969

Andrew Ng 机器学习鸡尾酒音频分离算法解析相关推荐

  1. Andrew Ng机器学习课程6

    Andrew Ng机器学习课程6 说明 在前面跟随者台大机器学习基石课程和机器学习技法课程的设置,对机器学习所涉及到的大部分的知识有了一个较为全面的了解,但是对于没有动手写程序并加以使用的情况,基本上 ...

  2. Andrew Ng机器学习课程14(补)

    Andrew Ng机器学习课程14(补) 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 利用EM对factor analysis进行的推导还是要参看我的上一 ...

  3. 【原】Coursera—Andrew Ng机器学习—Week 9 习题—异常检测

    [原]Coursera-Andrew Ng机器学习-Week 9 习题-异常检测 参考文章: (1)[原]Coursera-Andrew Ng机器学习-Week 9 习题-异常检测 (2)https: ...

  4. Andrew Ng机器学习课程17(1)

    Andrew Ng机器学习课程17(1) 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 说明:主要介绍了强化学习与监督学习的设定上的区别,以及强化学习的框架 ...

  5. Andrew Ng机器学习算法入门(二):机器学习分类

    机器学习的定义 Arthur Samuel给出的定义,Field of Study that gives computers the ability to learn without being ex ...

  6. Andrew Ng机器学习(一):线性回归

    1.什么是线性回归? 用线性关系去拟合输入和输出. 设输入为x,则输出y=ax+b. 对于多元的情况y=b×1+a1x1+a2x2+...+anxn. 用θ表示系数,可以写作: 其中,x0=1. 2. ...

  7. 斯坦福大学Andrew Ng - 机器学习笔记(3) -- 神经网络模型

    大概用了一个月,Andrew Ng老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结.笔记难免有遗漏和误解,欢迎讨论. 鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深 ...

  8. 斯坦福大学Andrew Ng - 机器学习笔记(8) -- 推荐系统 大规模机器学习 图片文字识别...

    大概用了一个月,Andrew Ng老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结.笔记难免有遗漏和误解,欢迎讨论. 鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深 ...

  9. andrew ng 机器学习笔记_所有笔记目录 | 数据分析 | 机器学习 | 深度学习等

    持续更新中... 机器学习模型Python复现: 舟晓南:感知机模型python复现 - 随机梯度下降法:梯度下降法:adagrad:对偶形式 舟晓南:k近邻(KNN)模型python复现 - 线性扫 ...

最新文章

  1. 看 600 页技术书可以坚持,剩 60 页就坚持不了……| 每日趣闻
  2. 批次管理的质量跟踪案例分享_食品加工行业
  3. synamic-datasource-spring-boot-starter实现动态数据源Mysql和Sqlserver
  4. codeforces 551 C GukiZ hates Boxes
  5. 根据日期累计求和_excel条件求和技巧:应用SUMIF函数计算客户余款
  6. 计算机的配件知识,一台电脑需要多少配件组成,硬件知识介绍
  7. hooks组件封装 react_react-hooks amp; context 编写可复用react组件的一种实践
  8. cte公用表表达式_在SQL Server中使用CTE进行插入和更新(公用表表达式)
  9. Java开发中出现OOM的常见原因有哪些?
  10. Activity intent经常使用的 FLAG 集合
  11. springAOP 之 前置输出
  12. 计算机控制技术数据存储器有,计算机控制技术复习资料.doc
  13. 分享一个超级好用的在线生成地图SiteMap制作工具
  14. 一寸照纯红色底图片_一寸照片背景色一般都是什么颜色范文
  15. 小微企业如何创作一个具有品牌故事的软文营销方案
  16. ABAP 语法:“LOOP … ASSIGNING …”,可直接修改内表数据,效率更高
  17. 中国石斑鱼养殖产量不断上升,捕捞产量逐渐下降「图」
  18. TCP time_wait 的存在意义
  19. Reinforcement learning-强化学习基础
  20. 计算机导论-计算机,计算及计算思维

热门文章

  1. android locale app内设置,Android app应用多语言切换功能实现
  2. 桌面文件夹不见了怎么恢复?4招教你找回消失的文件夹
  3. pytorch 指定卡1_如何为TensorFlow和PyTorch自动选择空闲GPU,解决抢卡争端
  4. 关于alert(12)与alert(1||2)输出问题解析
  5. 中文地址 识别 切分
  6. java 生成水印图片工具类, MultipartFile接收上传的图片,处理成加水印之后的MultipartFile
  7. [Redis实战]单文件夹启动多实例,redis哨兵+主从复制完整demo样例[windows环境]
  8. 区块链/BlockChain+ProofOfWork
  9. python进阶数据分析_数据分析--Part 2: Python进阶
  10. android 开发 python_用python语言开发android应用程序(1) - 格物致知的博客空间 - 中国移动开发者社区 - Powered by X-Space...