Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.xiph.org/xiph/opus.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Marc Valin <jmvalin@jmvalin.ca>2011-11-22 06:57:10 +0400
committerJean-Marc Valin <jmvalin@jmvalin.ca>2012-07-03 22:39:42 +0400
commitd18eeb21817376f69516d4d1343b753a3674e041 (patch)
tree18279400380d643c658ff128f9817b85a26bcb0c
parent65278187f1352d3762900853a98984aa2770e297 (diff)
Down to 17 features with same error rate
-rw-r--r--src/analysis.c21
-rw-r--r--src/mlp_data.c104
2 files changed, 53 insertions, 72 deletions
diff --git a/src/analysis.c b/src/analysis.c
index 3dfc428f..7fd4b19c 100644
--- a/src/analysis.c
+++ b/src/analysis.c
@@ -281,15 +281,16 @@ void tonality_analysis(TonalityAnalysisState *tonal, AnalysisInfo *info, CELTEnc
tonal->count++;
info->tonality = frame_tonality;
- for (i=0;i<8;i++)
+ for (i=0;i<5;i++)
features[i] = -0.12299*(BFCC[i]+tonal->mem[i+24]) + 0.49195*(tonal->mem[i]+tonal->mem[i+16]) + 0.69693*tonal->mem[i+8] - 1.4349*tonal->cmean[i];
- for (i=0;i<8;i++)
+ for (i=0;i<5;i++)
tonal->cmean[i] = .95*tonal->cmean[i] + .05*BFCC[i];
- for (i=0;i<8;i++)
- features[8+i] = 0.63246*(BFCC[i]-tonal->mem[i+24]) + 0.31623*(tonal->mem[i]-tonal->mem[i+16]);
- for (i=0;i<8;i++)
- features[16+i] = 0.53452*(BFCC[i]+tonal->mem[i+24]) - 0.26726*(tonal->mem[i]+tonal->mem[i+16]) -0.53452*tonal->mem[i+8];
+ for (i=0;i<5;i++)
+ features[5+i] = 0.63246*(BFCC[i]-tonal->mem[i+24]) + 0.31623*(tonal->mem[i]-tonal->mem[i+16]);
+ for (i=0;i<4;i++)
+ features[10+i] = 0.53452*(BFCC[i]+tonal->mem[i+24]) - 0.26726*(tonal->mem[i]+tonal->mem[i+16]) -0.53452*tonal->mem[i+8];
+
for (i=0;i<8;i++)
{
tonal->mem[i+24] = tonal->mem[i+16];
@@ -297,9 +298,9 @@ void tonality_analysis(TonalityAnalysisState *tonal, AnalysisInfo *info, CELTEnc
tonal->mem[i+8] = tonal->mem[i];
tonal->mem[i] = BFCC[i];
}
- features[24] = info->tonality;
- features[25] = info->activity;
- features[26] = frame_stationarity;
+ features[14] = info->tonality;
+ features[15] = info->activity;
+ features[16] = frame_stationarity;
#ifndef FIXED_POINT
mlp_process(&net, features, &frame_prob);
@@ -321,7 +322,7 @@ void tonality_analysis(TonalityAnalysisState *tonal, AnalysisInfo *info, CELTEnc
#else
info->music_prob = 0;
#endif
- /*for (i=0;i<27;i++)
+ /*for (i=0;i<17;i++)
printf("%f ", features[i]);
printf("\n");*/
diff --git a/src/mlp_data.c b/src/mlp_data.c
index 18d65d39..c40c65e5 100644
--- a/src/mlp_data.c
+++ b/src/mlp_data.c
@@ -1,73 +1,53 @@
#include "mlp.h"
-/* RMS error was 0.289219, seed was 1321882865 */
+/* RMS error was 0.289869, seed was 1321927439 */
-static const float weights[291] = {
+static const float weights[191] = {
/* hidden layer */
--0.199585, 0.519784, -0.56124, 0.794181, -0.511447,
-0.395744, -0.376191, 0.397133, -0.0705616, 0.0810292,
--0.122263, 0.0953031, -0.10071, 0.0797124, -0.0624449,
--0.0217925, 0.0169053, 0.37901, -0.327709, 0.541853,
--0.341477, 0.270965, -0.244754, 0.270282, -0.0416849,
-1.12999, -0.40961, 1.22527, 0.233913, -0.387647,
-0.453466, -0.607947, 0.408126, -0.30037, 0.300392,
--0.311586, 0.0725098, -0.0476953, 0.0892214, -0.0760982,
-0.0761782, -0.0615639, 0.0485215, 0.0206805, -0.0129586,
--0.27531, 0.26983, -0.419162, 0.277476, -0.207749,
-0.196334, -0.211023, 0.0450457, -2.12546, -0.165252,
--0.41337, 2.63555, 0.14104, -0.261118, -0.633559,
-0.218407, 0.611674, -0.412547, -1.20741, 0.427266,
-0.123023, 0.166406, 0.411747, -0.151141, 0.0896422,
-0.173108, -0.00137031, 0.243854, 0.211839, -0.296422,
--0.628128, 0.149742, 0.248921, -0.156734, -0.874198,
-0.281824, 2.12192, -4.86663, 7.22716, -4.02194,
--0.0303328, -0.084973, 0.130546, 0.934994, -0.130172,
--0.212654, 0.135762, -0.100151, -0.0773431, -0.0163684,
--0.0925923, -0.0533787, -0.00281159, -0.0454802, -0.0539635,
-0.00801064, -0.0741279, -0.13163, 0.122988, 0.823681,
--0.104791, -0.159906, 0.150275, -0.0215005, -3.03836,
-4.06664, -2.89737, -1.02205, -0.0923251, 0.0475099,
-0.00546651, -0.0973161, 0.26429, -0.0825506, -0.0920445,
-0.377156, -0.265505, -0.458065, -0.168825, -0.0202509,
--0.0429996, 0.0396544, -0.0239828, 0.165668, -0.0213517,
-0.185042, -0.0250296, -0.120034, 0.214526, -0.0463617,
--0.1057, 0.135015, -19.0867, 1.25468, -2.08001,
--8.82707, -0.101745, 0.0956654, -0.11192, 0.0305665,
-0.0417711, -0.0791366, 0.0595958, -0.0531078, -0.323443,
-0.105116, 0.161608, -0.00247322, 0.1102, 0.06836,
--0.016405, 0.0748947, -0.40797, -0.0559214, -0.0119188,
-0.00719443, 0.0839447, 0.00538025, 0.059951, 0.0361408,
--5.32823, 11.4557, -1.9048, -2.48173, 0.00338364,
-0.216516, 0.137032, 0.18395, 0.119532, 0.103407,
-0.0350206, -0.00728442, -0.144015, -0.149388, -0.10501,
--0.123531, -0.0464658, -0.0159831, -0.053265, 0.0481782,
--0.00839314, 0.284347, 0.0456719, 0.12639, 0.092542,
-0.05617, -0.0303728, -0.0620569, 7.4721, 5.47042,
-0.114486, 2.65169, -0.0866742, 0.145115, 0.559422,
-0.247432, 0.225527, -0.453849, 0.511296, 0.441921,
-0.110568, -0.0378332, -0.118717, -0.08303, -0.111274,
-0.126658, -0.0864498, -0.0251473, -0.0759235, 0.12197,
-0.529339, 0.0903978, 0.0657576, -0.362635, 0.365873,
-0.328984, 9.14411, -2.79891, 2.43201, 2.56583,
--0.205957, -0.624725, -0.159719, -0.222437, -0.0953691,
--0.067294, 0.0302929, 0.0176202, 0.185405, 0.332995,
-0.013006, 0.0113313, 0.0597282, -0.0178074, -0.000720698,
-0.117357, -0.186799, -0.615088, -0.133286, -0.183112,
--0.0271545, -0.0700072, 0.0408067, 0.0998989, 2.10728,
--2.5687, 2.42354, 1.49565, 0.0194189, -0.0334431,
-0.0516768, 0.180448, -0.179868, 0.00109635, 0.184112,
--0.256548, -0.315385, -0.52391, 0.146098, 0.467537,
-0.251975, 0.0840594, 0.274851, 0.239901, -0.331939,
--0.597664, 0.145825, 0.228226, 0.0303611, 0.0232017,
-0.298219, -0.145128, 19.4815, 0.038919, 0.101,
+2.96755, 0.00115262, -0.241332, -0.176303, -0.23881,
+-0.104982, 0.0976941, 0.0866153, 0.0445939, 0.109937,
+0.0233463, 0.0474137, -0.214098, -0.104922, -0.182143,
+-8.4938, -6.0075, -0.521072, 0.0844896, -0.017247,
+-0.00201771, 0.102053, -0.000613734, -0.0365414, -0.313326,
+-0.388116, 0.195686, 0.415635, 0.139734, -0.375908,
+-0.495817, 0.197472, 0.108982, 15.8272, 1.39337,
+0.295248, 0.478087, -0.521584, 0.547038, -0.970695,
+0.410447, -0.0398747, -0.157433, 0.225191, -0.159447,
+0.0773803, -0.14035, -0.432067, 0.436629, -0.81,
+0.258396, -1.35361, 0.379898, 0.0501006, 5.69164,
+0.0244047, -0.0253634, 0.0778099, -0.00686666, 0.0670103,
+0.131673, -0.0865675, -0.088408, -0.0215524, -0.105515,
+0.130154, -0.0107951, 0.0149045, -0.00721336, 2.70627,
+-5.84219, 0.845236, 2.9728, 0.0480452, 0.0522916,
+-0.17107, -0.844511, 0.086013, 0.0808069, 0.0362425,
+0.104797, 0.0312275, 0.100703, 0.0868895, 0.107739,
+-0.155109, -0.743343, 2.12173, -3.50347, 3.38095,
+-4.60509, -0.0940445, 0.133728, -0.0279815, 0.072341,
+0.0587296, -0.490762, -0.68488, -0.171973, -0.0674625,
+0.0557464, -0.000785266, 0.326857, -0.109421, 0.0148745,
+-22.8631, 4.74747, -0.927737, -0.125692, -0.484348,
+0.448016, -0.858588, 0.36091, -0.0261568, -0.193647,
+0.224419, -0.156897, 0.0704276, -0.133405, -0.420752,
+0.374365, -0.718979, 0.213614, -0.00984738, 1.75345,
+-0.739806, 1.5547, 0.23016, -0.314378, -0.221868,
+0.444039, -0.287516, 0.0769676, 0.025709, 0.0960222,
+-0.0841409, 0.188217, 0.311774, -0.269616, -0.237803,
+0.318714, 5.50044, -3.76367, 5.06448, 0.592319,
+-3.03044, 3.38612, -4.38443, 1.30165, -0.804144,
+-0.531203, 0.605657, -0.43792, 0.352739, -0.0578825,
+-2.29906, 2.33548, -2.93828, 0.74198, 21.5563,
+5.77912, -11.0732, 0.552401, -0.274121, -0.615635,
+-0.142968, -0.201479, -0.0541993, 0.0475207, 0.222928,
+-0.0327647, -0.0123197, -0.00380516, -0.149003, -0.313818,
+-0.137811, -0.181652, 1.23463, 2.17364, 0.229491,
/* output layer */
--5.28676, -5.60396, -5.78171, 0.576374, -1.09439,
--1.20859, -0.792729, 1.30723, 0.519472, 0.813985,
-0.567552, };
+-7.91184, -1.52122, 0.603183, -3.27692, 3.61369,
+1.16504, -1.1068, 2.80566, 0.85419, 0.545877,
+0.804097, };
-static const int topo[3] = {27, 10, 1};
+static const int topo[3] = {17, 10, 1};
const MLP net = {
3,