Hi Stuart,

I have a first pass at the API for multiple rates in the codec2-dev
branch:

https://freetel.svn.sourceforge.net/svnroot/freetel/codec2-dev/src/codec2.h

Just a mode flag in codec2_create();

Re packet loss repeating the last packet should work OK.  The sinusoidal
algorithm naturally interpolates from one frame to the next.  Speech has
a lot of silence in it so in many cases you wont miss the lost packet.

Just curious - what is the application you are using Codec 2 for?

Thanks for the patch, I tried to apply it but "patch" is complaining
about some hidden characters.  Could u pls post it to the list a a text
file attachment?

Thanks,

David

On Sun, 2011-11-27 at 14:41 +0000, Stuart Marsden wrote:
> Great work on the codec.  I have found it recently when looking for
> MELP alternatives.  My use case is for UDP transmission and below the
> 2500 rate I do not get any real benefit due to other overheads. I am
> therefore glad that the codec will have a choice of rate (might even
> be nice to see a 5000 rate). How will this be exposed? I assumed the
> api was not fixed yet and I can soon adapt my programme but it would
> be interesting to know how the rate will be selected.
> 
> I am using codec2 as part of a Qt programme and linking to it as a
> library and have basically wrapped the c2enc and c2dec example in a
> QIODevice which makes it quite easy to en/decode stuff without having
> to know much about the implementation in the rest of the code.
> Because I am using c++ I had to adapt the header file so I could use
> it (a patch is below that should allow others to use with c++ and not
> change anything for c code).
> 
> I am multicasting to a network with codec2 wrapped in a really simple
> protocol.  I am just working out my jitter buffer implementation at
> the moment but on my reliable home network it works really well.
> 
> I am trying to figure out a simple way to deal with packet loss.  I
> was thinking of a moving overlapping window so I basically transmit
> each frame twice so if I lose a packet I have a chance that I will get
> the data from another packet. I just wondered if there is any chance
> of an encoding scheme that would mean that I could encode the same
> frame two different ways such that any one can produce acceptable
> voice quality but if both are available then we get even better
> quality. Maybe flipping between wideband/narrowband. Do not know much
> about making voice codecs so this could be a bad idea but thought it
> might be an efficient way to make the best of my need to transmit each
> frame twice. Due to the packet overhead and the short time window for
> FEC I see no point in my use case at looking at highly efficient FEC
> schemes.
> 
> Anyway thanks for codec2,
> Stuart Marsden
> 
> Patch to apply to codec2.h so can be used with c++:
> 
> Index: src/codec2.h
> ===================================================================
> --- src/codec2.h        (revision 309)
> +++ src/codec2.h        (working copy)
> @@ -26,6 +26,9 @@
>    along with this program; if not, see <http://www.gnu.org/licenses/>.
>  */
> 
> +#ifdef __cplusplus
> +extern "C" {
> +#endif
>  #ifndef __CODEC2__
>  #define  __CODEC2__
> 
> @@ -39,3 +42,8 @@
>        const unsigned char * bits);
> 
>  #endif
> +
> +#ifdef __cplusplus
> +}
> +#endif
> +
> 
> >
> >
> > In other news I have been steadily working on splitting the combined
> > c2sim simulation version of 1400 bit/s into a separate encoder & decoder
> > that can support 2500 and 1400.  Making the separate encoder and decoder
> > exactly match the simulation has exposed and allowed me fix a few small
> > bugs.  The new version of 2500 is now working, now debugging the
> > separate enc/dec versions of 1400.
> >
> > Thanks,
> >
> > David
> >
> 
> ------------------------------------------------------------------------------
> All the data continuously generated in your IT infrastructure 
> contains a definitive record of customers, application performance, 
> security threats, fraudulent activity, and more. Splunk takes this 
> data and makes sense of it. IT sense. And common sense.
> http://p.sf.net/sfu/splunk-novd2d
> _______________________________________________
> Freetel-codec2 mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/freetel-codec2



------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure 
contains a definitive record of customers, application performance, 
security threats, fraudulent activity, and more. Splunk takes this 
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
Freetel-codec2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freetel-codec2

Reply via email to