Re: [Freetel-codec2] cascaded ulaw, Alaw and,AMBE etc

2016-09-16 Thread David Rowe
It's a good question Glen, off the top of my head I'm not sure. When one or more codecs are combined it's called transcoding and IIRC often causes problems. Alaw/mulaw are rather non-linear operations. That could upset the parameter estimation algorithms. - David On 17/09/16 11:38, glen

[Freetel-codec2] cascaded ulaw, Alaw and,AMBE etc

2016-09-16 Thread glen english
David you are the man to ask this one Why do (or why do you think) relatively benign companding algorithms like Alaw, uLaw, that are commonly used for encoding for VOIP links for radio systems (and other) , sounds so awful when they pass AMBE/ AMBE2 etc processed speech ? Must be something

Re: [Freetel-codec2] on verification of performance

2016-09-16 Thread glen english
and is also a healthy demonstration why bit exact is not truly necessry, just mean squared error (or something like that) . The other thing that needs to beĀ  tested is backward compatibility with previous versions for again, MSE. On 17/09/2016

Re: [Freetel-codec2] on verification of performance

2016-09-16 Thread Danilo Beuche
Hi, of course it is "import struct". This somehow got lost when I pasted it in. Danilo Am 17.09.2016 um 03:21 schrieb Danilo Beuche: Hi, I solved my "difference analysis" problem with a simple python script, which takes 2 files (left.out and right.out) as input and does 16 bit value

Re: [Freetel-codec2] on verification of performance

2016-09-16 Thread Danilo Beuche
Hi, of course it is "import struct". This somehow got lost when I pasted it in. Danilo Am 17.09.2016 um 03:21 schrieb Danilo Beuche: Hi, I solved my "difference analysis" problem with a simple python script, which takes 2 files (left.out and right.out) as input and does 16 bit value

Re: [Freetel-codec2] on verification of performance

2016-09-16 Thread glen english
good work 1 LSB can come from anywhere. usually truncation bias. On 17/09/2016 11:21 AM, Danilo Beuche wrote: Hi, I solved my "difference analysis" problem with a simple python script, which

Re: [Freetel-codec2] on verification of performance

2016-09-16 Thread Danilo Beuche
Hi, I solved my "difference analysis" problem with a simple python script, which takes 2 files (left.out and right.out) as input and does 16 bit value compares. It expects both files to be of same length. Difference is written to diff.out It compares against an absolute error ( for me set

Re: [Freetel-codec2] on verification of performance

2016-09-16 Thread glen english
it's fairly easy to just use a sliding correlatorĀ  and sync up the audio for the compare/ MSE computation etc you might want to oversample it say 4x inside the PC before the correlation- up to 32ksps from 8ksps assumption is it is all done in the

Re: [Freetel-codec2] on verification of performance

2016-09-16 Thread Danilo Beuche
Hi, to extended my own post: On 17.09.2016 01:13, Danilo Beuche wrote: > Hi, > > If the goal is to identify regressions, comparing the previously > generated output data to the output of the changed code is sufficient. > And for this we can simply compare the value by value difference since >

Re: [Freetel-codec2] on verification of performance

2016-09-16 Thread Danilo Beuche
Hi, If the goal is to identify regressions, comparing the previously generated output data to the output of the changed code is sufficient. And for this we can simply compare the value by value difference since beside rounding errors the output should be very close. For that a simple value by

Re: [Freetel-codec2] Codec on STM32

2016-09-16 Thread glen english
Hi Merit you could be looking at the difference in the floating point units between the processors- the F7 and the F4 have slightly different versions. What compiler- linker processor flags have you used -? If you use the F4 processor flags you may almost certainly get a different / wrong

[Freetel-codec2] on verification of performance

2016-09-16 Thread glen english
My video compression work tells me we almost need something else rather than a bit for bit compares. something like a SN or difference merit Anyone familiar with video compression will understand this concept . We would do an encode- decode and then look at the RMS, peak, and various other

Re: [Freetel-codec2] Verfying Codec on STM32

2016-09-16 Thread glen english
I have another take on this As Steve pointed out, there are sections of the code that produce non zero, but near zero. specifically the imag component here and there. Without looking at it carefully (That is to say, talking out of my arse) , I would guess that the imprecision of floating point

Re: [Freetel-codec2] Verfying Codec on STM32

2016-09-16 Thread David Rowe
Hello Marat and Steve, The problem of comparing two versions of the codec is difficult. It is very easy for a bug to slip in, so we need a good way of comparing. Listening tests are unreliable. We need an objective measure. The best test I have come up with is comparing the two waveforms

Re: [Freetel-codec2] commented out code

2016-09-16 Thread David Rowe
Thanks Glen and Steve for spotting this unused code. I have #ifdef-ed out the currently unused code. I'd like to keep it in there, although unused at present. The algorithm is described in chapter 4 (I think) of my thesis if anyone is interested in how it works. Guys - in future a patch

Re: [Freetel-codec2] Codec on STM32

2016-09-16 Thread Steve
I'm having the same problem. When I change the COMP W[FFT_ENC]; to float W[FFT_ENC]; (to save 2k bytes) I get different data output. Even though none of the algorithms use the imaginary data part (I edit the other files to use the new float). I haven't been able to figure it out yet, but the

[Freetel-codec2] Codec on STM32

2016-09-16 Thread Marat Galyamov
Hello. I try to use the Codec2 on the STM32F746 microcontroller. For a start, I took files of the codec and collected the project for the PC in the CodeBlocks IDE with the compiler GCC. Coding and decoding of the raw-file took place successfully, the regenerated file has high quality. Then I

Re: [Freetel-codec2] more benching and thoughts

2016-09-16 Thread Dana Myers
Subject:Re: [Freetel-codec2] more benching and thoughts Date: Fri, 16 Sep 2016 12:13:05 +1000 From: glen english Reply-To: freetel-codec2@lists.sourceforge.net To: freetel-codec2@lists.sourceforge.net Hi Danilo Yeah, I guess being a very bare

[Freetel-codec2] commented out code

2016-09-16 Thread Steve
eric, if you add: #ifdef POST_PROCESS_MBE just before: float post_process_mbe(COMP Fw[], int pmin, int pmax, float gmax, COMP Sw[], float W[], float *prev_Wo) and then add: #endif at the bottom of the file nlp.c (after test_candidate_mbe() function) then the code will be commented out as it

[Freetel-codec2] #define POST_PROCESS_MBE ???

2016-09-16 Thread glen english
Hi everybody just looking through what code is doing what and the test and post _ process_mbe appear to not be used What's the story behind POST_PROCESS_MBE and the undef code segment- unused. ? I see post_process_sub_multiples is used, instead. I observe the post_process_mbe path is more