Giter Club home page Giter Club logo

bunchedlpcnet's People

Contributors

bridgettesong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

bunchedlpcnet's Issues

是否要增加MultiResolutionSTFTLoss

你好:
我在代码train_lpcnet.py中,有这样的一句代码aux_criteon = MultiResolutionSTFTLoss().cuda()。我想问一下,在训练时尝试过增加STFTLoss吗?如何增加?
我想通过增加STFT Loss来改善LPCnet的效果,但是不知道如何去增加,因为LPCnet网络输出的是概率密度,不是一个具体的采样点值,需要通过采样才能得到具体的采样值

谢谢。期待你的回复。

@BridgetteSong 的答复如下:

  1. 我确实尝试通过增加STFT Loss来改善效果,但是我发现对于交叉熵Loss没有改善(训练的交叉熵loss并没有减少),而且最终的音质也没有什么改善,所以后来就去掉了
  2. 因为我本来是想要使用Gaussian分布替换Softmax分布的,所以加入了这个Loss,但是Gaussian的效果不好,于是在交叉熵Loss中也想着加入这个是不是也可以改善。
  3. 想要加入STFT,首先需要从SoftMax分布中采样来得到激励信号out_exc的8bit ulaw预测值,然后使用ulaw2lin()转为16bit的float值,再计算ulaw2lin(predict) +ulaw2lin(out_exc)来得到音频的16bit预测样点值,同时输入数据需要增加原始语音输入,就可以计算STFT Loss了
  4. 由于原作者实现的LPCNet的一些限制,使用辅助Loss会比较麻烦,一是在提取特征时不能重复读入才可以确保特征长度和原始音频一致,二是我不确定作者的噪声注入是不是会影响辅助Loss,所以我去掉了噪声注入部分
  5. 原作者提取特征时就直接使用ulaw,所以当使用辅助Loss时再使用ulaw2lin转化有可能带来ulaw还原误差
  6. 我建议当使用交叉熵loss还是不要使用辅助Loss,如果使用其他Loss还是可以尝试的,如Gaussian Loss

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.