DSPRelated.com
Forums

GSM algorithm

Started by ben_psxtreme June 25, 2004
Hi everybody !

I am a student achieving an internship in a mobile network company.
They have asked me to realize a GSM compression software. The best
solution, looking at the hard piece of knowledge required to do
everything from scratch, was to find a free code source on the web.

I was then really happy to find Jutta DEgener's source code, on this
website.
http://kbs.cs.tu-berlin.de/~jutta/toast.html

However, I still have some difficulties to understand it quite well.
And I thus have some questions. (My, THAT is an introduction ;-)

To summarize my problems : it does not work. After having looked in
the code, I believe that the header is not taken in account. I have
not found a specific way to take care of it, only 160 samples being
processed again and again.
I have added my own code to add the header, but the sound is awful.
It is impossible to recognize the original file.

I have tested the exectuable found on the website, but I did not
manage to make one working, even with different files...

As you can see, I am pretty stuck, and probably not as skilled as I
would like to. If you have good suggestions to me, I would be really
pleased !

Thanks a lot

Ben



ben_psxtreme wrote:

> Hi everybody !
>
> I am a student achieving an internship in a mobile network company.
> They have asked me to realize a GSM compression software. The best
> solution, looking at the hard piece of knowledge required to do
> everything from scratch, was to find a free code source on the web.
>
> I was then really happy to find Jutta DEgener's source code, on this
> website.
> http://kbs.cs.tu-berlin.de/~jutta/toast.html
>
> However, I still have some difficulties to understand it quite well.
> And I thus have some questions. (My, THAT is an introduction ;-)
>
> To summarize my problems : it does not work. After having looked in

Please explain "it does not work".

> the code, I believe that the header is not taken in account. I have
> not found a specific way to take care of it, only 160 samples being
> processed again and again.
> I have added my own code to add the header, but the sound is awful.
> It is impossible to recognize the original file.
>
> I have tested the exectuable found on the website, but I did not
> manage to make one working, even with different files...
>
> As you can see, I am pretty stuck, and probably not as skilled as I
> would like to. If you have good suggestions to me, I would be really
> pleased !

I have a cleaned up and easier to use version of GSM 6.10 included in my free
library HawkVoiceDI. You can download it from my site below.

> Thanks a lot
>
> Ben

--
Phil Frisbie, Jr.
Hawk Software
http://www.hawksoft.com


Hi,Ben
There are a lot of free code of GSM codec,and ther
works good.and ther are written in c.if you want,i can
send you.

--- ben_psxtreme <> ģ
---------------------------------
Hi everybody !

I am a student achieving an internship in a mobile
network company.
They have asked me to realize a GSM compression
software. The best
solution, looking at the hard piece of knowledge
required to do
everything from scratch, was to find a free code
source on the web.

I was then really happy to find Jutta DEgener's source
code, on this
website.
http://kbs.cs.tu-berlin.de/~jutta/toast.html

However, I still have some difficulties to understand
it quite well.
And I thus have some questions. (My, THAT is an
introduction ;-)

To summarize my problems : it does not work. After
having looked in
the code, I believe that the header is not taken in
account. I have
not found a specific way to take care of it, only 160
samples being
processed again and again.
I have added my own code to add the header, but the
sound is awful.
It is impossible to recognize the original file.

I have tested the exectuable found on the website, but
I did not
manage to make one working, even with different
files...

As you can see, I am pretty stuck, and probably not as
skilled as I
would like to. If you have good suggestions to me, I
would be really
pleased !

Thanks a lot

Ben

_____________________________________
Note: If you do a simple "reply" with your email
client, only the author of this message will receive
your answer. You need to do a "reply all" if you want
your answer to be distributed to the entire group.

_____________________________________
About this discussion group:

To Join:

To Post:

To Leave:

Archives:
http://www.yahoogroups.com/group/speechcoding

Other DSP-Related Groups: http://www.dsprelated.com
---------------------------------
Yahoo! Groups Links

To _________________________________________________________




Hi,
U can go to the 3GPP site and get the free code along with the code for Header and
Lot of testvectors.
Hope this helps
Thanks
Hi,Ben
  There are a lot of free code of GSM codec,and ther
works good.and ther are written in c.if you want,i can
send you.

--- ben_psxtreme <p...@ifrance.com> ģ
---------------------------------
Hi everybody !

I am a student achieving an internship in a mobile
network company.
They have asked me to realize a GSM compression
software. The best
solution, looking at the hard piece of knowledge
required to do
everything from scratch, was to find a free code
source on the web.

I was then really happy to find Jutta DEgener's source
code, on this
website.
http://kbs.cs.tu-berlin.de/~jutta/toast.html

However, I still have some difficulties to understand
it quite well.
And I thus have some questions. (My, THAT is an
introduction ;-)

To summarize my problems : it does not work. After
having looked in
the code, I believe that the header is not taken in
account. I have
not found a specific way to take care of it, only 160
samples being
processed again and again.
I have added my own code to add the header, but the
sound is awful.
It is impossible to recognize the original file.

I have tested the exectuable found on the website, but
I did not
manage to make one working, even with different
files...

As you can see, I am pretty stuck, and probably not as
skilled as I
would like to. If you have good suggestions to me, I
would be really
pleased !

Thanks a lot

Ben

_____________________________________
Note: If you do a simple "reply" with your email
client, only the author of this message will receive
your answer.  You need to do a "reply all" if you want
your answer to be distributed to the entire group.

_____________________________________
About this discussion group:

To Join:  s...@yahoogroups.com

To Post:  s...@yahoogroups.com

To Leave: s...@yahoogroups.com

Archives:
http://www.yahoogroups.com/group/speechcoding

Other DSP-Related Groups: http://www.dsprelated.com
---------------------------------
Yahoo! Groups Links

   To_________________________________________________________



_____________________________________
Note: If you do a simple "reply" with your email client, only the author of this message will receive your answer.  You need to do a "reply all" if you want your answer to be distributed to the entire group.

_____________________________________
About this discussion group:

To Join:  s...@yahoogroups.com

To Post:  s...@yahoogroups.com

To Leave: s...@yahoogroups.com

Archives: http://www.yahoogroups.com/group/speechcoding

Other DSP-Related Groups: http://www.dsprelated.com


With Rgds
Chetan k.

 



Hi Ben

A reference code for the GSM speech codecs is wriiten
in C and made avilable by ETSI itself. This reference
implementation is available on the 3GPP website
www.3gpp.org

The standardized GSM documents relating to the speech
codecs are in series 06 of the specifications...and
the source codes are available there...

The series 06 pertains to the Speech codecs and so you
can read the entire documentation related to the same
too.

All the documents are freely downloadable.

Regards

Nrip Nihalani

--- wu xudong <> wrote:
> Hi,Ben
> There are a lot of free code of GSM codec,and ther
> works good.and ther are written in c.if you want,i
> can
> send you.
>
> --- ben_psxtreme <> ģ
> ---------------------------------
> Hi everybody !
>
> I am a student achieving an internship in a mobile
> network company.
> They have asked me to realize a GSM compression
> software. The best
> solution, looking at the hard piece of knowledge
> required to do
> everything from scratch, was to find a free code
> source on the web.
>
> I was then really happy to find Jutta DEgener's
> source
> code, on this
> website.
> http://kbs.cs.tu-berlin.de/~jutta/toast.html
>
> However, I still have some difficulties to
> understand
> it quite well.
> And I thus have some questions. (My, THAT is an
> introduction ;-)
>
> To summarize my problems : it does not work. After
> having looked in
> the code, I believe that the header is not taken in
> account. I have
> not found a specific way to take care of it, only
> 160
> samples being
> processed again and again.
> I have added my own code to add the header, but the
> sound is awful.
> It is impossible to recognize the original file.
>
> I have tested the exectuable found on the website,
> but
> I did not
> manage to make one working, even with different
> files...
>
> As you can see, I am pretty stuck, and probably not
> as
> skilled as I
> would like to. If you have good suggestions to me, I
> would be really
> pleased !
>
> Thanks a lot
>
> Ben >
>
> _____________________________________
> Note: If you do a simple "reply" with your email
> client, only the author of this message will receive
> your answer. You need to do a "reply all" if you
> want
> your answer to be distributed to the entire group.
>
> _____________________________________
> About this discussion group:
>
> To Join:
>
> To Post:
>
> To Leave:
>
> Archives:
> http://www.yahoogroups.com/group/speechcoding
>
> Other DSP-Related Groups: http://www.dsprelated.com >
> ---------------------------------
> Yahoo! Groups Links
>
> To >
_________________________________________________________
>
/
> ------------------------ Yahoo! Groups Sponsor
> --------------------~-->
> Yahoo! Domains - Claim yours for only $14.70
>
http://us.click.yahoo.com/Z1wmxD/DREIAA/yQLSAA/GP4qlB/TM
>
--------------------------------~->
>
>
> _____________________________________
> Note: If you do a simple "reply" with your email
> client, only the author of this message will receive
> your answer. You need to do a "reply all" if you
> want your answer to be distributed to the entire
> group.
>
> _____________________________________
> About this discussion group:
>
> To Join:
>
> To Post:
>
> To Leave:
>
> Archives:
> http://www.yahoogroups.com/group/speechcoding
>
> Other DSP-Related Groups: http://www.dsprelated.com
>
> Yahoo! Groups Links >
>

__________________________________



Hi

I have implemented g726 decoder, but the thing is i do't have an header for
this i.e my thinking is if i give any encoded data it has to identify to
which rate it is encoded and it has to decode it.. I did not found this info
in ITU standard.mY CONFUSION IS LIKE DO I NEED TO WRITE MY WON HEADER OR
standard its self gives this info,, pls clarify my doubt.. i badly need
this..

Thanks.
Harsha



Harsha-
in general, the codec kernels are invoked with the following parameters,
1. pointer's to in_ buffer, out_buffer
2. Bitrate to be decoded/encoded.
3. Frame_type
4. Headers(for enc.-maybe) etc.
Most ITU testcases are categorized using bit-rates and frame-types andt
one common method is to use a simple wrapper function to read in the
header information from the first few-bytes of test-vectors and then
passing them on to the dec/enc kernel as distinct fields such as those above.
 
Ofcourse, multi-channel versions might demand more care especially
with memory allocation for the channel-specific data, workingbuffers
as they are generally assumed to be created and initialized appropriately
before the calling the codec.
 
-Shrikanth
 
----- Original Message -----
From: "Harsha H M" <h...@tataelxsi.co.in>
To: <s...@yahoogroups.com>
Sent: Friday, July 02, 2004 12:22 AM
Subject: [speechcoding] G726 Header

> Hi
>
> I have implemented g726 decoder, but the thing is i do't have an header for
> this i.e my thinking is if i give any encoded data it has to identify to
> which rate it is encoded and it has to decode it.. I did not found this info
> in ITU standard.mY CONFUSION IS LIKE DO I NEED TO WRITE MY WON HEADER OR
> standard its self gives this info,, pls clarify my doubt.. i badly need
> this..
>
> Thanks.
> Harsha>
>
> ------------------------ Yahoo! Groups Sponsor --------------------~-->
> Yahoo! Domains - Claim yours for only $14.70
>
http://us.click.yahoo.com/Z1wmxD/DREIAA/yQLSAA/GP4qlB/TM
> --------------------------------~->
>
> _____________________________________
> Note: If you do a simple "reply" with your email client, only the author of this message will receive your answer.  You need to do a "reply all" if you want your answer to be distributed to the entire group.
>
> _____________________________________
> About this discussion group:
>
> To Join: 
s...@yahoogroups.com
>
> To Post: 
s...@yahoogroups.com
>
> To Leave:
s...@yahoogroups.com
>
> Archives:
http://www.yahoogroups.com/group/speechcoding
>
> Other DSP-Related Groups:
http://www.dsprelated.com
>  
> Yahoo! Groups Links
>
> <*> To visit your group on the web, go to:
>    
http://groups.yahoo.com/group/speechcoding/
>
> <*> To unsubscribe from this group, send an email to:
>    
s...@yahoogroups.com
>
> <*> ">http://docs.yahoo.com/info/terms/
>


Thanks Shrikanth,
U mean to say ITU test vectors will be having headders. I have to read that and confirm which rate it is?? right..
But,I did not found headder for g726 ITU test vector,, it is just straight forward encoded data..
 
Harsha
-----Original Message-----
From: Shrikanth Chandrashekar [mailto:s...@yahoo.co.in]
Sent: Friday, July 02, 2004 8:55 PM
To: h...@tataelxsi.co.in; s...@yahoogroups.com
Subject: Re: [speechcoding] G726 Header

Harsha-
in general, the codec kernels are invoked with the following parameters,
1. pointer's to in_ buffer, out_buffer
2. Bitrate to be decoded/encoded.
3. Frame_type
4. Headers(for enc.-maybe) etc.
Most ITU testcases are categorized using bit-rates and frame-types andt
one common method is to use a simple wrapper function to read in the
header information from the first few-bytes of test-vectors and then
passing them on to the dec/enc kernel as distinct fields such as those above.
 
Ofcourse, multi-channel versions might demand more care especially
with memory allocation for the channel-specific data, workingbuffers
as they are generally assumed to be created and initialized appropriately
before the calling the codec.
 
-Shrikanth
 
----- Original Message -----
From: "Harsha H M" <h...@tataelxsi.co.in>
To: <s...@yahoogroups.com>
Sent: Friday, July 02, 2004 12:22 AM
Subject: [speechcoding] G726 Header

> Hi
>
> I have implemented g726 decoder, but the thing is i do't have an header for
> this i.e my thinking is if i give any encoded data it has to identify to
> which rate it is encoded and it has to decode it.. I did not found this info
> in ITU standard.mY CONFUSION IS LIKE DO I NEED TO WRITE MY WON HEADER OR
> standard its self gives this info,, pls clarify my doubt.. i badly need
> this..
>
> Thanks.
> Harsha>
>
> ------------------------ Yahoo! Groups Sponsor --------------------~-->
> Yahoo! Domains - Claim yours for only $14.70
>
http://us.click.yahoo.com/Z1wmxD/DREIAA/yQLSAA/GP4qlB/TM
> --------------------------------~->
>
> _____________________________________
> Note: If you do a simple "reply" with your email client, only the author of this message will receive your answer.  You need to do a "reply all" if you want your answer to be distributed to the entire group.
>
> _____________________________________
> About this discussion group:
>
> To Join: 
s...@yahoogroups.com
>
> To Post: 
s...@yahoogroups.com
>
> To Leave:
s...@yahoogroups.com
>
> Archives:
http://www.yahoogroups.com/group/speechcoding
>
> Other DSP-Related Groups:
http://www.dsprelated.com
>  
> Yahoo! Groups Links
>
> <*> To visit your group on the web, go to:
>    
http://groups.yahoo.com/group/speechcoding/
>
> <*> To unsubscribe from this group, send an email to:
>    
s...@yahoogroups.com
>
> <*> ">http://docs.yahoo.com/info/terms/
>



Thanks Shrikanth,
U mean to say ITU test vectors will be having headders. I have to read that and confirm which rate it is?? right..
But,I did not found headder for g726 ITU test vector,, it is just straight forward encoded data..
g726 being an ADPCM technique might need A-law/ mu-law testing for atmost...a few rates(am guessing!!). There might be some annex/Appendix docs. @ ITUdescribing testing methods.
chk. 'em out.
-Shrikanth

 
 
Harsha
-----Original Message-----
From: Shrikanth Chandrashekar [mailto:s...@yahoo.co.in]
Sent: Friday, July 02, 2004 8:55 PM
To: h...@tataelxsi.co.in; s...@yahoogroups.com
Subject: Re: [speechcoding] G726 Header

Harsha-
in general, the codec kernels are invoked with the following parameters,
1. pointer's to in_ buffer, out_buffer
2. Bitrate to be decoded/encoded.
3. Frame_type
4. Headers(for enc.-maybe) etc.
Most ITU testcases are categorized using bit-rates and frame-types andt
one common method is to use a simple wrapper function to read in the
header information from the first few-bytes of test-vectors and then
passing them on to the dec/enc kernel as distinct fields such as those above.
 
Ofcourse, multi-channel versions might demand more care especially
with memory allocation for the channel-specific data, workingbuffers
as they are generally assumed to be created and initialized appropriately
before the calling the codec.
 
-Shrikanth
 
----- Original Message -----
From: "Harsha H M" <h...@tataelxsi.co.in>
To: <s...@yahoogroups.com>
Sent: Friday, July 02, 2004 12:22 AM
Subject: [speechcoding] G726 Header

> Hi
>
> I have implemented g726 decoder, but the thing is i do't have an header for
> this i.e my thinking is if i give any encoded data it has to identify to
> which rate it is encoded and it has to decode it.. I did not found this info
> in ITU standard.mY CONFUSION IS LIKE DO I NEED TO WRITE MY WON HEADER OR
> standard its self gives this info,, pls clarify my doubt.. i badly need
> this..
>
> Thanks.
> Harsha>
>
> ------------------------ Yahoo! Groups Sponsor --------------------~-->
> Yahoo! Domains - Claim yours for only $14.70
>
http://us.click.yahoo.com/Z1wmxD/DREIAA/yQLSAA/GP4qlB/TM
> --------------------------------~->
>
> _____________________________________
> Note: If you do a simple "reply" with your email client, only the author of this message will receive your answer.  You need to do a "reply all" if you want your answer to be distributed to the entire group.
>
> _____________________________________
> About this discussion group:
>
> To Join: 
s...@yahoogroups.com
>
> To Post: 
s...@yahoogroups.com
>
> To Leave:
s...@yahoogroups.com
>
> Archives:
http://www.yahoogroups.com/group/speechcoding
>
> Other DSP-Related Groups:
http://www.dsprelated.com
>  
> Yahoo! Groups Links
>
> <*> To visit your group on the web, go to:
>    
http://groups.yahoo.com/group/speechcoding/
>
> <*> To unsubscribe from this group, send an email to:
>    
s...@yahoogroups.com
>
> <*> ">http://docs.yahoo.com/info/terms/
>



Harsha-

> U mean to say ITU test vectors will be having headders. I have to read that
and
> confirm which rate it is?? right..
> But,I did not found headder for g726 ITU test vector,, it is just straight
forward
> encoded data..

Microsoft has assigned several unique codes that identify compressed data stored
in
WAV files; these codes are stored at offset 2 in the WAV file header. Examples
include G.711, G.723 ADPCM, GSM 6.10, etc. The idea is that Win Media player or
other standard Win-compatible players (e.g. WinAmp) will play compressed WAV
files
correctly -- as long as the correct codec plug-in has been installed and matches
with
the assigned Microsoft IDs.

Below is a web page below that lists some current codec ID assignments. As you
can
see, a number of speech codecs are included (scroll down to "fmt " section or
search
page for 'compression'):

http://www.sonicspot.com/guide/wavefiles.html

-Jeff > -----Original Message-----
> From: Shrikanth Chandrashekar [mailto:]
> Sent: Friday, July 02, 2004 8:55 PM
> To: ;
> Subject: Re: [speechcoding] G726 Header
>
> Harsha-
> in general, the codec kernels are invoked with the following parameters,
> 1. pointer's to in_ buffer, out_buffer
> 2. Bitrate to be decoded/encoded.
> 3. Frame_type
> 4. Headers(for enc.-maybe) etc.
> Most ITU testcases are categorized using bit-rates and frame-types andt
> one common method is to use a simple wrapper function to read in the
> header information from the first few-bytes of test-vectors and then
> passing them on to the dec/enc kernel as distinct fields such as those
> above.
>
> Ofcourse, multi-channel versions might demand more care especially
> with memory allocation for the channel-specific data, workingbuffers
> as they are generally assumed to be created and initialized appropriately
> before the calling the codec.
>
> -Shrikanth
>
> ----- Original Message -----
> From: "Harsha H M" <>
> To: <>
> Sent: Friday, July 02, 2004 12:22 AM
> Subject: [speechcoding] G726 Header
>
> > Hi
> >
> > I have implemented g726 decoder, but the thing is i do't have an header
> for
> > this i.e my thinking is if i give any encoded data it has to identify
> to
> > which rate it is encoded and it has to decode it.. I did not found this
> info
> > in ITU standard.mY CONFUSION IS LIKE DO I NEED TO WRITE MY WON HEADER
> OR
> > standard its self gives this info,, pls clarify my doubt.. i badly need
> > this..
> >
> > Thanks.
> > Harsha