ModelScope小助手-WCH_个人页

个人头像照片 ModelScope小助手-WCH
个人头像照片
0
18
0

个人介绍

暂无个人介绍

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息

2023年06月

2023年04月

2023年03月

2023年02月

2023年01月

2022年11月

正在加载, 请稍后...
暂无更多信息
  • 回答了问题 2023-06-15

    怎么使用实时音频流调用模型

    你好,目前FRCRN模型开放的接口只能针对文件操作,不能处理音频流。而且该模型是一个学术研究型模型,算力需求比常规实用模型更高。

    踩0 评论0
  • 回答了问题 2023-06-13

    这个48k降噪对应的训练流程和数据是怎样的

    你好,目前该模型训练pipeline没有开源计划,训练数据在模型页面有简要介绍供参考。

    踩0 评论0
  • 回答了问题 2023-04-20

    模型结构导致的延时

    模型本身的延时比较小,应该就是帧移的20ms

    踩0 评论1
  • 回答了问题 2023-04-20

    loss一般能收敛到多少?

    通常应该能收敛到-19左右

    踩0 评论0
  • 回答了问题 2023-03-22

    降噪模型导出onnx 时报错

    你好,目前modelscope里只有部分模型支持导出为onnx,降噪模型还不支持导出。

    踩0 评论1
  • 回答了问题 2023-02-27

    FSMN远场唤醒-双麦-16k-你好米雅 运行需要py-sound-connect

    你好,这个库有windows, linux_x86和macOS的x86&arm版本,您问的是linux的arm版本吗,目前还没有支持计划。开源方面,目前主要是在modelscope上开源模型相关代码,其他部分暂无开源计划。

    踩0 评论1
  • 回答了问题 2023-02-17

    请问一下FRCRN官方模型的复现问题,是否是通过给出的流程能复现出官方提供的模型呢?

    你好,模型官方提供的模型是使用相同流程训练出来的,就是训练了200 epoch。因为每个用户的数据是自己生成的,具体训练效果可能有少许出入,但应该差别不大。可以先检查下DNS-Challenge数据集是否下载完整,因为数据存储在境外,经常有下载中断的情况。即使数据下载不完整,生成噪音数据时也不会报错,所以容易被忽略。如果数据下载完整,再看是否训练满了200 epoch,有没有中途停止。

    踩0 评论0
  • 回答了问题 2023-01-09

    模型训练速度太慢

    您这种情况不正常,目前训练流程默认使用单卡,通常V100单卡跑一个epoch约40分钟。您训练的时候可以观察一下cpu和gpu的占用情况。

    踩0 评论0
  • 回答了问题 2023-01-06

    FSMN远场唤醒-双麦-16k-你好米雅 目前支持自定义数据训练么?后续会提供训练支持么?

    您好,最新版的ModelScope中已经支持唤醒模型的训练,不过直接使用ModelScope训练模型比较繁琐,我们封装了ModelScope的唤醒模型训练能力,再增加数据处理,效果评测,流程控制等辅助功能,连同一些相关工具打包成唤醒模型训练套件,已经在Github上开源,欢迎有兴趣的开发者试用。 为了达到更好的唤醒效果,训练套件默认会做两轮训练和评测。第一轮训出的模型根据评测结果选出最优的模型作为基础,第二轮再继续finetune。 以上说明已经更新在模型文档中,关于训练套件的更多详细信息请参考套件说明文档:https://github.com/alibaba-damo-academy/kws-training-suite

    踩0 评论1
  • 回答了问题 2023-01-03

    FRCRN训练代码报错

    您好,建议先检查一下您创建的数据集的相关文件名称和位置是否正确。 首先按照您代码中的目录位置,应该存在/disk3/DNS2022/train.lst文件。 文件中每一行有3项,分别是带噪语音,纯净语音,语音时长。前两项都是本地音频文件的绝对路径,您需要确保每个路径指向的音频文件都存在。如果是按照数据集说明中的步骤生成的音频文件,会保存在./training_set目录下。其中的纯净语音,噪音和混合噪音的语音会分别存放在 clean, noise, noisy三个目录下。

    踩0 评论0
  • 回答了问题 2022-11-25

    您好,我想请问一下FRCRN是如何保证因果的呢?

    为了保证推理时的因果,可以在时间维度上使用累加池化,也就是沿时间帧逐步进行池化操作,这和在Conv-TasNet论文里提出的 cumulative layer normalization (cLN)类似;或者像实现Transformer的注意力阵列一样加入时间掩蔽。

    踩0 评论0
  • 回答了问题 2022-11-23

    DNS2020 盲测集 结果不一致

    您好,我们针对DNS2020测试集复核了ModelScope官方模型的效果,全部指标得分都符合或微高于官网上公开的分数。以下是我们的测试代码,供您比较是否有差异:

    from pypesq import pesq as pesq_nb
    from pesq import pesq as pesq_wb
    from pystoi import stoi
    import soundfile as sf
    import librosa
    import numpy as np
    import sys
    
    audio_root='/data/DNS-Challenge/datasets/test_set/synthetic/no_reverb'
    data_to_score='/data/speech_frcrn_ans_cirm_16k/dns_out'
    
    
    def cal_sisnr(ref_sig, out_sig, eps=1e-8):
        """Calcuate Scale-Invariant Source-to-Noise Ratio (SI-SNR)
        Args:
            ref_sig: numpy.ndarray, [T]
            out_sig: numpy.ndarray, [T]
        Returns:
            SISNR
        """
        assert len(ref_sig) == len(out_sig)
        ref_sig = ref_sig - np.mean(ref_sig)
        out_sig = out_sig - np.mean(out_sig)
        ref_energy = np.sum(ref_sig ** 2) + eps
        proj = np.sum(ref_sig * out_sig) * ref_sig / ref_energy
        noise = out_sig - proj
        ratio = np.sum(proj ** 2) / (np.sum(noise ** 2) + eps)
        sisnr = 10 * np.log(ratio + eps) / np.log(10.0)
        return sisnr
    
    wav_list = audio_root + '/wav.lst'
    f = open(wav_list, 'r')
    
    scores_pesq_wb = []
    scores_pesq_nb = []
    scores_stoi = []
    scores_sisnr = []
    
    USE_16K = True
    while 1:
        audio_name = f.readline().strip()
        if not audio_name: break
    
        target_path = audio_root+"/target/"+audio_name
        noisy_path = data_to_score + '/' + audio_name
        clean, fs = sf.read(target_path)
        clean = librosa.resample(clean, fs, 16000)
        noisy, fs = sf.read(noisy_path)
        noisy = librosa.resample(noisy, fs, 16000)
        min_frames = min(clean.shape[0],noisy.shape[0])
        clean = clean[:min_frames]
        noisy = noisy[:min_frames]
        assert len(clean) == len(noisy), print('Wave lengths are mismatchted! target: {}, noisy: {}'.format(len(clean), len(noisy)))
    
    
        if fs > 16000:
            clean_16k = librosa.resample(clean, fs, 16000)
            noisy_16k = librosa.resample(noisy, fs, 16000)
            min_frames = min(clean_16k.shape[0],noisy_16k.shape[0])
            clean_16k = clean_16k[:min_frames]
            noisy_16k = noisy_16k[:min_frames]
            fs_16k = 16000
        elif fs == 16000:
            clean_16k = clean
            noisy_16k = noisy
            fs_16k = fs
        else:
            print('Sampling rate is less than 16000 !')
            break
    
        ## PESQ is scored only at 16000 Hz or 8000 Hz
        pesq_score_wb = pesq_wb(fs_16k, clean_16k, noisy_16k, 'wb')
        pesq_score_nb = pesq_nb(clean_16k, noisy_16k, fs_16k)
        ##calcualte SI-SNR and STOI at 16000 Hz sampliing rate
        if USE_16K:
            sisnr_score=cal_sisnr(clean_16k, noisy_16k)
            stoi_score = stoi(clean, noisy, fs, extended=False) * 100
        else:
            sisnr_score=cal_sisnr(clean, noisy)
            stoi_score = stoi(clean, noisy, fs, extended=False) * 100
    
        scores_sisnr.append(sisnr_score)
        scores_pesq_wb.append(pesq_score_wb)
        scores_pesq_nb.append(pesq_score_nb)
        scores_stoi.append(stoi_score)
        print('File: {}, WB_PESQ: {}, PESQ: {}, STOI: {}, SI-SNR: {}'.format(audio_name, np.around(pesq_score_wb, decimals=2), np.around(pesq_score_nb, decimals=2), np.around(stoi_score, decimals=2), np.around(sisnr_score, decimals=2)))
    
    scores_pesq_wb = np.asarray(scores_pesq_wb)
    scores_pesq_nb = np.asarray(scores_pesq_nb)
    scores_stoi = np.asarray(scores_stoi)
    scores_sisnr = np.asarray(scores_sisnr)
    
    pesq_wb_mean = np.around(np.mean(scores_pesq_wb), decimals=2)
    pesq_nb_mean = np.around(np.mean(scores_pesq_nb), decimals=2)
    stoi_mean = np.around(np.mean(scores_stoi), decimals=2)
    si_snr_mean = np.around(np.mean(scores_sisnr), decimals=2)
    
    print('Average score, WB_PESQ: {}, PESQ: {}, STOI: {}, SI-SNR: {}'.format(pesq_wb_mean, pesq_nb_mean, stoi_mean, si_snr_mean))
    f.close()
    
    踩0 评论0
  • 回答了问题 2022-11-22

    你好,我使用【FRCRN语音降噪-单麦-16k】这个模型 cpu 推理较慢

    您好,FRCRN语音降噪这一版模型的运算量是比较大的,特别是在CPU上处理耗时相对比较长,在模型不变的情况下没有什么很好的优化方案。建议使用GPU来提升速度,通常能够比CPU提升几倍到几十倍,不过GPU第一次使用需要初始化CUDA所以会比第二次调用耗时长一些。

    踩0 评论1
  • 回答了问题 2022-11-15

    使用回声消除能否支持音频流的方式输入,我使用的场景是实时对话场景

    您好,为了方便页面展示和用户体验效果,目前回声消除pipeline提供的是完整文件的输入方式。 不过模型本身是可以支持音频流式输入的,您可以参考 LinearAECAndFbank 和 LinearAECPipeline 里的代码实现对流式音频的支持。 另外,即使是流式处理方式,链路上仍然会有一些延迟,可能需要具体测试一下才能确定是否能满足您的实时性需求。

    踩0 评论1
  • 提交了问题 2011-10-24

    为啥不能自动升级到21号新发布的版本

  • 提交了问题 2011-08-11

    [bug]搜索栏在搜索无结果时,没有提示

  • 提交了问题 2011-07-28

    无法显示网页内容

  • 提交了问题 2011-07-28

    早上来了发现浏览器占了1.2G内存,只开了6 7个窗口

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息