README
for codec2/unittest
Created David Rowe 31 July 2012
Training (experimental) sparse phase VQs:
1/ In ../src/phase.c phase_experiment() enable:
print_sparse_pred_error()
and 'make' c2sim (in src)
2/ Run over a training database:
$ ./c2sim /xhome1/codec2/samples/train.spc --phaseexp > train_phtrain.txt
a) check stats in Octave:
octave> load ../src/train_phtrain.txt
octave> std(nonzeros(train_phtrain(:,1:20)))
octave> hist(nonzeros(train_phtrain(:,1:20)),20)
3/ Extract and convert to floats vector you wish to train for example
first 20 (out of MAX_AMP == 80):
$ ./extract ../src/train_phtrain.txt train_phtrain.flt 1 20
4/ Convert to rectangular:
$ ./polar2rect train_phtrain.flt train_phtrainr.flt
5/ Run this program:
$ ./vqtrainph train_phtrainr.flt 20 1024 vq.txt
Ouput is vq.txt
Tests
-----
+ build up insmallest possible stesp
+ impl errors v alg errors
+ use actual phase data as codebook
+ test vq with rand phases first or known data