DSPRelated.com
Forums

ITU G726 code not working for speech files

Started by Aditi Akula December 14, 2009
Hi Everyone,

I am using the G726 code from ITU (g726.c, g726.h, cvt_h_b.c, etc) for 16
kbps an using it as a Visual C++ project. I have tested the code using the
test vectors from ITU and found them to be bit exact (sent in the 16-bit
A-law/ Mu-law output from the cvt_h_b.c code). I have also modified the
code to accept 16-bit linear PCM data and send out linear PCM data and
tested with the test vectors and found to be bit exact too.

But I have a unique problem. When I send in speech file through this code
(modified code to accept and give out 16-bit linear PCM), something like
noise comes out of it. I am unable to understand why a code which gives
out bit exact test vectors cannot handle speech.

I have a few questions

1) I would like to know if the G726 code from ITU (g726.c and g726.h) also
work for the speech files or are they written only to verify the test
vectors.

2) If anybody else has already encountered a problem like this, can you
please help me in debugging it and throw some light on what might be the
obvious problem.

Thank you,
Aditi.
It was long back when I had worked on this but AFAIK, this code can't work on speech files without modification.

Thanks,
Hemant
Sent from my iPhone

On Dec 14, 2009, at 8:45 AM, "Aditi Akula" wrote:

Hi Everyone,

I am using the G726 code from ITU (g726.c, g726.h, cvt_h_b.c, etc) for 16
kbps an using it as a Visual C++ project. I have tested the code using the
test vectors from ITU and found them to be bit exact (sent in the 16-bit
A-law/ Mu-law output from the cvt_h_b.c code). I have also modified the
code to accept 16-bit linear PCM data and send out linear PCM data and
tested with the test vectors and found to be bit exact too.

But I have a unique problem. When I send in speech file through this code
(modified code to accept and give out 16-bit linear PCM), something like
noise comes out of it. I am unable to understand why a code which gives
out bit exact test vectors cannot handle speech.

I have a few questions

1) I would like to know if the G726 code from ITU (g726.c and g726.h) also
work for the speech files or are they written only to verify the test
vectors.

2) If anybody else has already encountered a problem like this, can you
please help me in debugging it and throw some light on what might be the
obvious problem.

Thank you,
Aditi.
Hi Hemant,

Could you tell me more about what kind of modification needs to be done
on this code. I am working on it but your advice would be more beneficial.

Thank you,
Aditi.

Hemant Kumar wrote:

>
> It was long back when I had worked on this but AFAIK, this code can't
> work on speech files without modification.
>
> Thanks,
> Hemant
> Sent from my iPhone
>
> On Dec 14, 2009, at 8:45 AM, "Aditi Akula" > > wrote:
>
>>
>>
>> Hi Everyone,
>>
>> I am using the G726 code from ITU (g726.c, g726.h, cvt_h_b.c, etc) for 16
>> kbps an using it as a Visual C++ project. I have tested the code
>> using the
>> test vectors from ITU and found them to be bit exact (sent in the 16-bit
>> A-law/ Mu-law output from the cvt_h_b.c code). I have also modified the
>> code to accept 16-bit linear PCM data and send out linear PCM data and
>> tested with the test vectors and found to be bit exact too.
>>
>> But I have a unique problem. When I send in speech file through this code
>> (modified code to accept and give out 16-bit linear PCM), something like
>> noise comes out of it. I am unable to understand why a code which gives
>> out bit exact test vectors cannot handle speech.
>>
>> I have a few questions
>>
>> 1) I would like to know if the G726 code from ITU (g726.c and g726.h)
>> also
>> work for the speech files or are they written only to verify the test
>> vectors.
>>
>> 2) If anybody else has already encountered a problem like this, can you
>> please help me in debugging it and throw some light on what might be the
>> obvious problem.
>>
>> Thank you,
>> Aditi.
>>
Hi everyone,

I have worked on it and have a few more questions.
The G726 code did not work for 16-bit linear PCM speech files because
there is function called "G726_sync" (for synchronous tandem coding)
which is
A-law/ Mu-law dependent and is hard-coded so cannot be adjusted to
handle linear PCM data.

So what I have done is after getting the 16-bit linear PCM speech data,
I convert it to Mu-law (default) and send it to the encoder and decoder
and after the decoder convert it back to linear PCM. This works but the
question is

1) Can the "G726_sync" function be modified to handle linear PCM data.
If so could you tell me how.

2) And also what is the necessity for the synchronous tandem coding in G726.

Thank you,
Aditi.

Aditi Akula wrote:

>
>
> Hi Hemant,
>
> Could you tell me more about what kind of modification needs to be done
> on this code. I am working on it but your advice would be more beneficial.
>
> Thank you,
> Aditi.
>
> Hemant Kumar wrote:
>
> >
> > It was long back when I had worked on this but AFAIK, this code can't
> > work on speech files without modification.
> >
> > Thanks,
> > Hemant
> >
> >
> > Sent from my iPhone
> >
> > On Dec 14, 2009, at 8:45 AM, "Aditi Akula" >
> > >> wrote:
> >
> >>
> >>
> >> Hi Everyone,
> >>
> >> I am using the G726 code from ITU (g726.c, g726.h, cvt_h_b.c, etc)
> for 16
> >> kbps an using it as a Visual C++ project. I have tested the code
> >> using the
> >> test vectors from ITU and found them to be bit exact (sent in the
> 16-bit
> >> A-law/ Mu-law output from the cvt_h_b.c code). I have also modified the
> >> code to accept 16-bit linear PCM data and send out linear PCM data and
> >> tested with the test vectors and found to be bit exact too.
> >>
> >> But I have a unique problem. When I send in speech file through
> this code
> >> (modified code to accept and give out 16-bit linear PCM), something
> like
> >> noise comes out of it. I am unable to understand why a code which gives
> >> out bit exact test vectors cannot handle speech.
> >>
> >> I have a few questions
> >>
> >> 1) I would like to know if the G726 code from ITU (g726.c and g726.h)
> >> also
> >> work for the speech files or are they written only to verify the test
> >> vectors.
> >>
> >> 2) If anybody else has already encountered a problem like this, can you
> >> please help me in debugging it and throw some light on what might
> be the
> >> obvious problem.
> >>
> >> Thank you,
> >> Aditi.
> >>
> >
> >