Commit graph

117 commits

Author SHA1 Message Date
Jean-Marc Valin
d533e4024d Fix DCT normalization 2018-12-10 11:22:13 -05:00
Jean-Marc Valin
a02d9c85e5 reduce memory use of training code 2018-12-09 22:48:46 -05:00
Jean-Marc Valin
2facc08bb4 Avoid rounding the prediction multiple times 2018-12-09 21:20:36 -05:00
Jean-Marc Valin
3e71248298 Fix compile 2018-12-09 16:00:49 -05:00
Jean-Marc Valin
0fb031a921 Produce at least ~14 hours of augmented speech 2018-12-09 15:48:12 -05:00
Jean-Marc Valin
3dcbb012a0 Add variable gain and response 2018-12-09 15:48:12 -05:00
Jean-Marc Valin
f933725677 Chopping silence from the training data 2018-12-09 15:48:11 -05:00
Jean-Marc Valin
407eec127c make dump_data output LPC as converted from features 2018-12-09 15:45:34 -05:00
Jean-Marc Valin
e0d2b105a2 Compute LPC from features 2018-12-07 18:16:19 -05:00
Jean-Marc Valin
1dcd57323f Do proper saturation 2018-12-06 16:27:08 -05:00
Jean-Marc Valin
771cc7868a Support for plain AVX with no FMA 2018-12-04 07:58:13 -05:00
Jean-Marc Valin
91d90676e1 Remove the need for useless exc and pred files 2018-12-01 12:05:23 -05:00
Jean-Marc Valin
b05f950e38 Using the right name: s/gemm/sgemv/ 2018-11-30 10:56:44 -05:00
Jean-Marc Valin
c395a68b7d moving code around 2018-11-30 10:46:32 -05:00
Jean-Marc Valin
05f4851dcd Making the code work even without AVX2/FMA 2018-11-30 10:32:04 -05:00
Jean-Marc Valin
1956467d79 Add AVX2/FMA to gcc options 2018-11-30 01:55:23 -05:00
Jean-Marc Valin
d7f0abcd19 Delaying the softmax() to avoid the pow()
Now at 5x real-time, with all the low-hanging fruit done.
2018-11-29 20:09:36 -05:00
Jean-Marc Valin
faf3fe3d24 gemm_accum16() doesn't need a multiple of 16 columns (just lines). 2018-11-29 19:50:09 -05:00
Jean-Marc Valin
7ee79b63df Add AXV versions of exp(), tanh() and sigmoid()
Now 3x faster than real-time
2018-11-29 19:43:59 -05:00
Jean-Marc Valin
d961d009a0 Managing to actually use sparse matrices
Now 2x real-time!
2018-11-28 20:20:17 -05:00
Jean-Marc Valin
4de3e53a73 Adding some sparse GRU support
Still need to properly dump as sparse.
2018-11-28 18:49:19 -05:00
Jean-Marc Valin
ec671ed90e Quick and dirty AVX2 implementation of gemm_accum
Brings us very close to real-time
2018-11-28 14:57:22 -05:00
Jean-Marc Valin
15fb1b3c77 Moving GRU_A's condition computation to the frame rate network
Completes optimizations from Section 3.6 of the LPCNet paper.
2018-11-28 14:13:59 -05:00
Jean-Marc Valin
732fce9ab2 Pre-computing GRU_A's input contribution. 2018-11-28 14:05:36 -05:00
Jean-Marc Valin
040aa437c3 Simper GRU implementation just for reset_after. 2018-11-28 12:37:18 -05:00
Jean-Marc Valin
6c2f7e58fd compiling synthesis 2018-11-27 15:08:04 -05:00
Jean-Marc Valin
36a0bf8c75 Wow, managed two bugs in a 25-character line 2018-11-27 14:50:38 -05:00
Jean-Marc Valin
c7b978b923 Fix reset_after GRU 2018-11-27 14:37:10 -05:00
Jean-Marc Valin
3c694db226 Better rounding 2018-11-27 13:11:41 -05:00
Jean-Marc Valin
0ddfdfc7c0 Add deemphasis 2018-11-27 12:34:39 -05:00
Jean-Marc Valin
5ac0ac7acc Add code for copying the LPC 2018-11-27 11:44:04 -05:00
Jean-Marc Valin
e25a585de8 Match Python boundary condition 2018-11-27 00:23:26 -05:00
Jean-Marc Valin
4ccfbdff04 Frame network seems to be working 2018-11-26 18:41:54 -05:00
Jean-Marc Valin
538f25565a Starting to actually test this -- fix a few OOB reads 2018-11-26 16:02:49 -05:00
Jean-Marc Valin
8d62ba067e ... 2018-11-26 15:39:06 -05:00
Jean-Marc Valin
c0e8f37c8b Cleaning up the API 2018-11-26 13:12:17 -05:00
Jean-Marc Valin
575d8d6fa4 Adding sampling 2018-11-26 11:04:41 -05:00
Jean-Marc Valin
91c9524af3 Getting there 2018-11-26 02:49:25 -05:00
Jean-Marc Valin
4cf177412b More plumbing 2018-11-26 02:33:49 -05:00
Jean-Marc Valin
7119eaf33b Plumbing for the frame rate network 2018-11-25 17:20:24 -05:00
Jean-Marc Valin
70fdf47471 Copyright headers 2018-11-25 13:15:19 -05:00
Jean-Marc Valin
60c97b9723 Proper ordering for MDense weights 2018-11-24 16:19:02 -05:00
Jean-Marc Valin
141830ce5a Fixing includes 2018-11-24 16:00:30 -05:00
Jean-Marc Valin
37fbcaee0b mdense max size 2018-11-24 15:51:08 -05:00
Jean-Marc Valin
94ac0841df Precomputing sizes 2018-11-24 15:47:48 -05:00
Jean-Marc Valin
c025744e34 Fix conv1d, default to size 384 2018-11-24 15:30:17 -05:00
Jean-Marc Valin
66486004ba Implement MDense 2018-11-24 12:23:11 -05:00
Jean-Marc Valin
d4046036a9 Dump Conv1D (didn't check weight ordering at all) 2018-11-24 11:32:01 -05:00
Jean-Marc Valin
477d08734d Dump embedding 2018-11-23 23:33:35 -05:00
Jean-Marc Valin
d93239e955 Using non-cudnn version of the GRU for the weights
Not sure how the layout of the CuDNN version is
2018-11-23 20:07:42 -05:00