Commit graph

51 commits

Author SHA1 Message Date
Jean-Marc Valin
f0ec990dba
Switching to neural pitch estimator
Remove old pitch estimator and retrain all models
2023-10-06 03:14:56 -04:00
Jean-Marc Valin
0100cd95de
Add pitch feature computation 2023-09-26 12:12:46 -04:00
Jean-Marc Valin
96d89e99d8
Band-limiting the voicing parameter 2023-09-26 12:12:46 -04:00
Jean-Marc Valin
2824bd1f66
Adjusting offsets to synthesize 10 ms at a time
Should make synthesis easier in the future
2023-06-28 17:01:17 -04:00
Jean-Marc Valin
f9f35904f4
No longer need to #include "common.h" 2023-06-27 17:13:06 -04:00
Jean-Marc Valin
b64a89feca
Using opus_int16 instead of short in LPCNet code 2023-06-22 18:07:26 -04:00
Jean-Marc Valin
abe817c3fc
Remove pcount that's no longer useful
We're back to processing 10 ms at a time and have no need for 40-ms
"superframes".
2023-06-22 18:07:25 -04:00
Jean-Marc Valin
f12371bcee
Remove the duplicated pitch.h
Add arch to the LPCNet states, but right now it's always set to zero
2023-06-22 15:41:28 -04:00
Jean-Marc Valin
42a0972a11
Remove more useless code 2023-06-22 03:31:33 -04:00
Jean-Marc Valin
07bb3f01b4
cleanup: get rid of non-causal PLC and DC handling 2023-06-22 00:58:25 -04:00
Jean-Marc Valin
247e6a587c
Remove support for LPCNet quantization 2023-06-22 00:58:24 -04:00
Jean-Marc Valin
47bcd4a7f5 Don't use the VQ codebooks when building Opus 2023-06-06 23:01:00 -04:00
Jean-Marc Valin
ba5dde539a Add reset functions that don't clear the model 2023-06-01 04:09:57 -04:00
Jean-Marc Valin
fa7b432eed Initial blob loading support 2023-05-28 01:57:30 -04:00
Jean-Marc Valin
98da335009 Convert PLC weights to blob format 2023-05-22 03:32:53 -04:00
Jean-Marc Valin
0098fe70ac Defer calls to run_frame_network() to save CPU
Calls are deferred to the actual loss and we only process the minimum
required.
2023-05-19 18:12:18 -04:00
Jean-Marc Valin
ebbf5721a2 Use new model struct 2023-05-17 01:08:28 -04:00
Jean-Marc Valin
5fbc037fa0 Skip sample rate update on received packets 2023-01-27 18:14:49 -05:00
Jean-Marc Valin
70ce2bd71b Cleanup, simplifying the no-crossfade PLC case 2022-12-19 17:11:33 -05:00
Jean-Marc Valin
e7f2360936 Making it possible to mix DRED with PLC 2022-12-16 12:53:26 -05:00
Jean-Marc Valin
b6ac1c78bb FEC hooks in the PLC code
Can now inject FEC features to be used by the PLC when available
2022-09-27 02:24:21 -04:00
Jean-Marc Valin
dd114baf4d Fix causal PLC for models with non-zero lookahead 2022-09-16 01:44:53 -04:00
Jean-Marc Valin
60450472a6 Merge branch 'plc_challenge' into master 2022-09-07 00:38:55 -04:00
janpbuethe
920300c546 Add lpc weighting and model parameter handling
Model now stores LPC gamma, look-ahead, and end-to-end.
Parameters aren't quite reliable yet, YMMV
2022-09-06 23:14:39 -04:00
Jean-Marc Valin
3982144f8e Revert PLC state to use Burg in the causal overlap 2022-02-24 03:22:04 -05:00
Jean-Marc Valin
a7b2420300 Setting PLC options at run-time
Causal vs non-causal, DC filter, and blending are now configurable
2022-02-21 21:36:08 -05:00
Jean-Marc Valin
0eb9f0bd38 Updating the DC tracker even during packet loss
Makes the offset signal more continuous
2022-02-21 02:34:44 -05:00
Jean-Marc Valin
3883f3d372 Synchronizing DC removal for noncausal PLC 2022-02-19 18:03:22 -05:00
Jean-Marc Valin
a11e68dd74 Evening out CPU load for non-causal PLC
Defer some of the extra resync work to the next packet
2022-02-19 17:28:28 -05:00
Jean-Marc Valin
78e682950b Handle DC offset
Remove DC, conceal, add it back at the end
2022-02-16 02:14:59 -05:00
Jean-Marc Valin
8e3ce6e839 Add no-blending version 2022-02-09 14:14:23 -05:00
Jean-Marc Valin
2e18f0d160 Using Burg cepstrum for feature prediction 2022-02-04 22:04:23 -05:00
Jean-Marc Valin
d816477c58 Add decay 2022-02-02 03:54:05 -05:00
Jean-Marc Valin
32a63fd31d WIP: PLC prediction 2022-01-31 23:21:55 -05:00
Jean-Marc Valin
42cbb9ed07 zero delay 2022-01-28 02:44:23 -05:00
Jean-Marc Valin
227537c994 Avoiding more symbol clashes with Opus 2022-01-25 00:08:27 -05:00
Jean-Marc Valin
969bd7662f Adding API for PLC
Packet loss concealment based on LPCNet (work in progress)
2022-01-19 17:07:10 -05:00
Jean-Marc Valin
3a47548536 Using KISS99 (taken from Daala) as RNG 2021-11-10 17:58:51 -05:00
Jean-Marc Valin
81229a7412 Fix the "no lookahead" case 2021-10-30 02:40:52 -04:00
Jean-Marc Valin
2275853ac4 Merge branch 'exp_quant_grub2' 2021-10-04 03:14:06 -04:00
Jean-Marc Valin
9776e8e828 Refactoring frame rate network 2021-08-17 18:21:55 -04:00
Jean-Marc Valin
2c9b847454 noise tuning, flip sign of speech signal 2021-08-17 18:17:25 -04:00
Jean-Marc Valin
66c29fb620 Remove some useless buffers 2021-08-13 00:20:19 -04:00
Jean-Marc Valin
ab9a09266f Sharing conditioning network with LPC 2021-08-02 19:30:22 -04:00
Krishna Subramani
c1532559a2 Adds end-to-end LPC training
Making LPC computation and prediction differentiable
2021-08-02 19:28:27 -04:00
Jean-Marc Valin
7d8b00f11d Sampling directly from the logit
Avoids having to compute a sigmoid
2021-07-10 01:59:49 -04:00
Jean-Marc Valin
54b057c9cd Add LPCNet decoder object 2019-03-18 14:13:07 -04:00
Jean-Marc Valin
fe608dfc51 Moving LPCNetState 2019-03-18 13:42:30 -04:00
Jean-Marc Valin
e63292bd56 Split off decoder code 2019-03-17 13:25:43 -04:00
Jean-Marc Valin
8dcccc8934 library encoder... 2019-03-15 13:52:24 -04:00