问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

U-Net实现语音分离的代码分析

发布网友 发布时间:2022-12-23 10:48

我来回答

1个回答

热心网友 时间:2023-10-21 04:14

不是自己对着论文复现的,是网上找来自己改的

数据集处理,将DSD100数据集的音频文件转换为时频声谱。
DSD 包含两个文件夹,一个是混合音频的文件夹"Mixtures", 另一个是人声、鼓、贝司、其他乐器的分轨音频"Sources"。每个文件夹里包含两个子文件夹,"Dev" 是训练集,"Test"是测试集。

主要用到 util.SaveSpectrogram(y_mix, y_vocal, y_inst, fname)

输入音频路径,训练模型或用现有模型,从原始音频获得分离的人声/分离的音频

调用了五个主要接口:

util.LoadDataset(target) 加载数据集,target就是要分离的目标,这里为“voice”
network.TrainUNet(Xlist,Ylist,savefile="unet.model",epoch=30) 训练网络
util.LoadAudio(fname) 加载音频
util.ComputeMask(input_mag, unet_model="unet.model", hard=True) 计算掩码
util.SaveAudio(fname, mag, phase) 保存音频
(如果有现成的模型,则只需要调用后三个函数)

函数返回的 Xlist 是混合音频的声谱, Ylist 是分轨的target音频的声谱。
find_files 是 librosa.util.find_files

load 是 librosa.core.load , 加载各种格式的音频

stft 是 librosa.core.stft ,短时傅里叶变化

(没想通为什么 number of frequency bins = 1 + n_fft/2 )
( 网上的解释 :The continuous Fourier transform possesses symmetries when computed on real signals (Hermitian symmetry). The discrete version, an FFT (of even length) possesses a slighty twisted symmetry.就是说FFT计算出来的结果是频率上对称的,存在"plicated" in positive and negative frequencies.)
(phase也看不懂)

mag 是magnitude,做了绝对值
phase = np.exp(1.j*np.angle(spec)) 返回spec的复数角度

istft 是 librosa.core.istft
write_wav 是 librosa.output.write_wav

stft 是 librosa.core.stft ,短时傅里叶变化。SaveSpectrogram这个函数是处理数据集时用的,将数据集里的音频转化为声谱。

network.UNet() 调用U-Net神经网络,用训练好的模型来计算 hard mask 或 soft mask。

UNet class

TrainUNet:

U-Net其实就是输入空间与输出空间相同的一个映射。在训练时,输入是(MixSpec, TargetSpec) = (混合声谱,目标声谱),用Adam方法优化参数θ来得到一个mask = UNet_θ(MixSpec),MixSpec*mask使得尽可能*近TargetSpec。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何查被录取到的专业 怎样查被录取的专业 录取后怎样查询录取的专业 录取专业怎么查 已被录取怎么查专业 ghs网络语什么意思_ghs网络语意思出处含义介绍 纸箱企业管理软件 ghs什么意思网络(ghs什么意思网络用语) 《喜羊羊与灰太狼》大结局 0与任何数相加都得原数吗? word能双面打印,为什么exsel不能双面打印 语音的帧长、帧移与帧数 一个人可以实名两个吗? 一个人可以有两个吗实名认证 关心生病男朋友的暖心的话 把对方微信删除了对方还能看到我吗 拟人与想象 我老婆把我拉黑了,我用别的电话打,故意不接是什么意思? 微信医保缴费未查询到缴费人基础信息? 坐南朝北和坐北朝南的区别 房子做北朝南好还是做南朝北好? 桔视记录仪二手的可以接夜间单吗 宝马640使用成本 5年宝马640i交商业险多少钱 桔视记录仪有流量费用吗 宝马640i价格 空调能一台装二个出气口 二倍根号四乘以5倍根号四等于多少 2√4~是什么意思? 2√4 什么意思? 是 2乘√4 的意思吗?答案是4吗? 一个身份证 可以实名两个吗? 梅尔语谱图在自动编码器encoder中的应用 一个身份证可以实名认证几个吗? 驾驶证年检流程 一个人可以有两个吗实名认证 一个人可以实名两个吗? 一个身份证 可以实名两个吗? 一个身份证可以实名认证几个吗? offer一直在审批是敷衍的意思吗 云闪付查到没有办过的建设卡怎么办 云闪付之前注册过,再次下载登陆就行 云闪付新用户已经邀请了,但是后台显示未注册是什么意思? 高速路道路救援电话12122 如何关闭wps的状态栏 12306如何改学生票上的终点站名字 元素周期表那个排列的含义 核酸重点人员包括哪些人 深圳餐饮从业人员核酸检测要求 一个人可以有两个吗实名认证 一个人可以实名两个吗?