Comments (16)
The correct way to do it involves adding a few bands and changing a few constants throughout the code. It's not fundamentally hard, but easy to forget a few things. That being said, considering that 24 isn't that big a change compared to 16, you may be able to get away with pretending that your 24 kHz audio is really 16 kHz and not modifying the code at all.
from lpcnet.
Thank you for your answer.
Then, did you normalize training wav files (like -26db, -18db) when you extract features using dump_data?
from lpcnet.
@luvpine have you got good wav using 24k without modifying code?
from lpcnet.
@hdmjdp No, I mean I'd like to make 24kHz wav file (high quality), not train using 24kHz data.
from lpcnet.
I know, do you modify frame_size=160?
from lpcnet.
@jmvalin Thanks a lot for the info! It would be great if you could give more details on what to change to switch to 22050Hz. Specifically, I was thinking of changing these things:
- increase NB_BANDS=24.
- change FRAME_SIZE to 256 (~11.6ms)
- OVERLAP_SIZE=256
- TRAINIG_OFFSET=128
- WINDOW_SIZE=512
I'm not sure about the pitch parameters though. In particular, currently:
PITCH_MIN_PERIOD 32
PITCH_MAX_PERIOD 256
PITCH_FRAME_SIZE 320
My guess is that the first two should be increased to match the difference in sampling rates, but should they be power of two? Also I guess the last parameter should be increased to match the window length. Do these changes sound right to you? Thanks a lot!
from lpcnet.
@hdmjdp @belevtsoff In my case, change 16kHz -> 24kHz.
Key changing things:
- increase NB_BANDS=20
- change FRAME_SIZE = 480
- change total features 55 -> 59.
Also I changed nb_features , nb_total_features, sampling rate, feature index num(because features is increased), Conv1D layer filters size.
from lpcnet.
@luvpine thanks! This set up sort of works, but I'm experiencing lowering of the pitch. Have you observed anything like this? (I've changed PITCH_FRAME_SIZE=480 as well)
from lpcnet.
UPD: actually it keeps producing really bad results for me with 24kHz, can't figure out what the problem is.
from lpcnet.
I tried 44.1KHz and 48KHz, also produced bad waveform, train and validation loss are all right, don't know why
from lpcnet.
solved the problem, now 44.1KHz works well
from lpcnet.
@opencvbaby Great! Can you share the full recipe?
from lpcnet.
@belevtsoff Sorry, I can't share the recipe. There are some noise in high frequency, I am still optimizing it. Maybe you should take care of pitch_embedding part
from lpcnet.
@opencvbaby @luvpine could you share the parameter you have changed like nb_features , nb_total_features, sampling rate, feature index num and Conv1D layer filters size ? thanks a lot.
from lpcnet.
@belevtsoff Have you figure out your problems? Could you give some advice?
from lpcnet.
pitch_embedding
@opencvbaby hi, what do you mean by taking care of pitch_embedding part? can you make some explainations?
from lpcnet.
Related Issues (20)
- Change of domain/sampling rate
- change model parameter does not work when rebuild lpcnet_demo? HOT 2
- Bug: MDense state restore crash with missing argument
- project version problem(tf2) HOT 4
- Heuristic doubling period trick by preprocessing pitch correlation values?
- Can't open input.pcm
- Is there a way to reduce the size of LPCNET_PACKET_SAMPLES and bits of per samples? HOT 1
- What does the "network size“ refer to on https://jmvalin.ca/demo/lpcnet/
- where is the gru_b_dense_feature defined?
- Does anyone have experience in jointly training of e2e LPCNet?
- Bitstream compatibility HOT 1
- P192 speed test in ARM A35 chip HOT 6
- "ValueError: axes don't match array" when applying --retrain flag to sample model file HOT 1
- I could get "nnet_data.*" files for the newly trained model. However after doing "make" and trying to generate signals with "lpcnet_demo", I find the reconstructions same as those ones of the pre-trained model. Any reason why this happens?
- bug
- How can it be so slow? HOT 1
- Training a new PLC model HOT 1
- Make errors HOT 8
- make error:undefined reference to `lpc_from_cepstrum' HOT 8
- How should the dataset of PLC algorithm be constructed?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lpcnet.