RnnNoise 16k-训练数据准备和模型转换

1.源码

16k采样率模型训练参考Github:https://github.com/YongyuG/rnnoise_16k

2.编译特征提取工具

编译前,进入denoise.c, 修改count参数,数值根据你的语音文件大小选定,第一次可以选小一点,体验流程

if (count==1000000) break
cd rnnoise-master/src
./compile.sh

执行后会生成文件denoise_training,使用方式如下:

../src/denoise_training_gao /media/clean_dir /media/noise_dir mixed.wav > training_16k.f32

每个音频数据导出75维特征,只要音频足够长,可以count参数设置大一点。最终导出的数据则为(count, 75)。

3.准备数据

论文数据集可以到作者博客主页下载:
作者主页:https://jmvalin.ca/demo/rnnoise/
噪声数据集下载链接:https://media.xiph.org/rnnoise/rnnoise_contributions.tar.gz
筛选.raw格式语音:

import os
import shutil

def CopyRawFile(src, dest):
    # 创建目标文件夹
    if os.path.exists(dest) == 0:
        os.mkdir(dest)
    filenames = os.listdir(src)
    for file in filenames:
        if file.endswith('.raw'):
            src_file = os.path.join(src, file)
            dest_file = os.path.join(dest, file)
            shutil.copyfile(src_file, dest_file)

if __name__ == '__main__':
    src = "/media/Data/rnnoise_contributions"
    dest = "/media/Data/rnnOnlyRaw"
    CopyRawFile(src, dest)

纯净语音数据选用AIshell-1,纯净语音数据集准备工作如下:
1)批量解压

import zipfile
import tarfile
import os


def unzip_file(zip_file_name, destination_path):
    archive = zipfile.ZipFile(zip_file_name, mode='r')
    for file in archive.namelist():
        archive.extract(file, destination_path)
#解压缩模块
def untar_file(file_name, dest_file_path):
    tar = tarfile.open(file_name)
    #更改新创建的文件夹的名字
    if file_name.find(".tar.gz")!=-1:
        file_name=file_name.replace(".tar.gz", "")
    else:
        pass
    print(file_name)

    if os.path.isdir(file_name):
        pass
    else:
        pass
        #os.mkdir(file_dir+"\\"+file_name)
    names = tar.getnames()
    #循环解压缩,将压缩文件中的所有文件解压缩
    for name in names:
        print(name)
        print(dest_file_path)
        tar.extract(name, dest_file_path)
    return



def zipfile_name(file_dir):
    # 读取文件夹下面的文件名.zip
    L=[]
    for root, dirs, files in os.walk(file_dir):
       for file in files:
           L.append(
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cynthia.Chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值