Commit Graph

488 Commits (master)

Author SHA1 Message Date
Jean-Marc Valin fcdb3e0027
Controlling training offset 2018-12-13 18:25:21 -05:00
Jean-Marc Valin 138dfe428d
Should make dump_data able to handle partial overlap 2018-12-13 18:03:58 -05:00
Jean-Marc Valin 76e73d3e2a
More work on making freq.[ch] more generic 2018-12-13 17:40:05 -05:00
Jean-Marc Valin 6d41edd590
Removing most of the full-overlap assumptions from freq.[ch] 2018-12-13 15:42:11 -05:00
Jean-Marc Valin 49b5fe22c4
Missing #include 2018-12-13 14:37:04 -05:00
Jean-Marc Valin 8961d0ff56
Avoiding an infinite loop
Thanks to changeforan on Github
2018-12-12 11:00:33 -05:00
Jean-Marc Valin bbf7445164
Moving the frame out of lpcnet.c and into test_lpcnet.c 2018-12-11 16:59:07 -05:00
Jean-Marc Valin 0f81f22044
More cleanup 2018-12-11 16:53:22 -05:00
Jean-Marc Valin 7c7cd2d478
Get rid of the TRAINING macro 2018-12-11 16:29:31 -05:00
Jean-Marc Valin 54312b644e
Move the common functions from dump_data.c to freq.c 2018-12-11 16:28:50 -05:00
Jean-Marc Valin 3a9018d800
Rename denoise.c to dump_data.c, rnnoise.h to freq.h 2018-12-11 16:10:57 -05:00
Jean-Marc Valin 1e5f4a0a86
... 2018-12-11 15:37:05 -05:00
Jean-Marc Valin 1d6426ac4b
Remove more useless code 2018-12-11 13:31:04 -05:00
Jean-Marc Valin 1fc5995f96
Cleanup: Remove useless code (more to come) 2018-12-11 11:49:13 -05:00
Jean-Marc Valin 6939479f1d
Add -test or -train option
-train does data augmentation, cuts silence, and outputs the preemphasis
-test only outputs the features for resynthesis
2018-12-11 02:00:51 -05:00
David Rowe 2c5fd28145
Vectorization testing code
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2018-12-11 01:41:27 -05:00
David Rowe ac872a4e91
Error messages
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2018-12-11 01:40:29 -05:00
David Rowe 852b984552
refactored for different machines, sgemv_accum16 using NEON intrisics
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2018-12-10 21:28:29 -05:00
David 6c8c8ebc6f
checks that files opened OK 2018-12-10 16:53:53 -05:00
Jean-Marc Valin be2a73e8b2
Controlling per-gate sparsity 2018-12-10 16:15:50 -05:00
Jean-Marc Valin 487d7f6463
Fix flooring of the pitch period
Without the 0.1 bias, the rounding error could cause an offset of -1
2018-12-10 11:23:31 -05:00
Jean-Marc Valin fb2368dfbb
Fix DCT normalization 2018-12-10 11:22:13 -05:00
Jean-Marc Valin 343de214e8
reduce memory use of training code 2018-12-09 22:48:46 -05:00
Jean-Marc Valin 8267c0e876
Avoid rounding the prediction multiple times 2018-12-09 21:20:36 -05:00
Jean-Marc Valin 5605d361b8
Fix compile 2018-12-09 16:00:49 -05:00
Jean-Marc Valin 8d05c703e5
Produce at least ~14 hours of augmented speech 2018-12-09 15:48:12 -05:00
Jean-Marc Valin 396274ff66
Add variable gain and response 2018-12-09 15:48:12 -05:00
Jean-Marc Valin 554b6df65e
Chopping silence from the training data 2018-12-09 15:48:11 -05:00
Jean-Marc Valin b2593a2d81
make dump_data output LPC as converted from features 2018-12-09 15:45:34 -05:00
Jean-Marc Valin c490138a8c Compute LPC from features 2018-12-07 18:16:19 -05:00
Jean-Marc Valin 9290956188 Do proper saturation 2018-12-06 16:27:08 -05:00
Jean-Marc Valin e058e81979 Support for plain AVX with no FMA 2018-12-04 07:58:13 -05:00
Jean-Marc Valin b38c4b44aa
Remove the need for useless exc and pred files 2018-12-01 12:05:23 -05:00
Jean-Marc Valin 91d2fbcaa0
Using the right name: s/gemm/sgemv/ 2018-11-30 10:56:44 -05:00
Jean-Marc Valin 98e3b51c3a
moving code around 2018-11-30 10:46:32 -05:00
Jean-Marc Valin 08dfb6c5be
Making the code work even without AVX2/FMA 2018-11-30 10:32:04 -05:00
Jean-Marc Valin 0788606505
Add AVX2/FMA to gcc options 2018-11-30 01:55:23 -05:00
Jean-Marc Valin fd80992c8c
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 432a4c2651
gemm_accum16() doesn't need a multiple of 16 columns (just lines). 2018-11-29 19:50:09 -05:00
Jean-Marc Valin 6696d2c355
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 7df3f9c9c1
Managing to actually use sparse matrices
Now 2x real-time!
2018-11-28 20:20:17 -05:00
Jean-Marc Valin 5c366b7554
Adding some sparse GRU support
Still need to properly dump as sparse.
2018-11-28 18:49:19 -05:00
Jean-Marc Valin d16a11190c
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 792c5ece2b
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 a674854339
Pre-computing GRU_A's input contribution. 2018-11-28 14:05:36 -05:00
Jean-Marc Valin 3fcd87940f
Simper GRU implementation just for reset_after. 2018-11-28 12:37:18 -05:00
Jean-Marc Valin c74488b044
compiling synthesis 2018-11-27 15:08:04 -05:00
Jean-Marc Valin 963bd987e8
Wow, managed two bugs in a 25-character line 2018-11-27 14:50:38 -05:00
Jean-Marc Valin 2fb50692b1
Fix reset_after GRU 2018-11-27 14:37:10 -05:00
Jean-Marc Valin f2d28b9c5e
Better rounding 2018-11-27 13:11:41 -05:00