• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

mim/messl: Model-based EM Source Separation and Localization

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

mim/messl

开源软件地址(OpenSource Url):

https://github.com/mim/messl

开源编程语言(OpenSource Language):

MATLAB 98.1%

开源软件介绍(OpenSource Introduction):

Model-Based EM Source Separation and Localization

Copyright 2006-2009 Michael I Mandel and Ron Weiss, all rights reserved [email protected] and [email protected] Last updated 2009-08-20

Basic usage to separate two sources:

addpath('./plottools/')

% % Load stereo wav files of the same length and mix them
% [y1 fs] = wavread('data/src1.wav');
% [y2 fs] = wavread('data/src2.wav');
% lr = y1' + y2';

% Load pre-mixed version of those two files (don't forget the transpose)
[lr fs] = wavread('data/mix.wav');
lr = lr';

% Derive grid of tau values (use your numbers here)
tau = tauGrid(0.15, fs, 31);

% Run MESSL
[m,p] = messl(lr, tau, 2, 'vis', 1);

% Reconstruct wavforms from masks
yhat1 = reconstruct(m, lr, 1);
yhat2 = reconstruct(m, lr, 2);

Fancier usage

Initialized from PHAT-histogram:

% Localize and then run MESSL
tdoa = phatLoc(lr, tau, 2, 1024, 1);
[m,p] = messl(lr, tau, 2, 'vis', 1, 'tauPosInit', tdoa);

Even fancier usage, garbage source and ILD prior (better in reverb, but only when using dummy-head recordings):

[m,p] = messl(lr, tau, 2, 'vis', 1, 'ildPriorPrec', 3, ...
              'GarbageSrc', 1, 'sr', 16000);

Can also use prob2mask to make the mask more definitive, i.e. closer to binary, but not binary.

m2 = prob2mask(m);
yhat1 = reconstruct(m2, lr, 1);
yhat2 = reconstruct(m2, lr, 2);



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap