(#484) Speakfreely patches

Speak Freely Forum <[email protected]> Tue, 7 Oct 2003 08:07:08 +0200 (MEST)
Newsgroups gmane.comp.audio.speak-freely.general
Message-ID <[email protected]>
Message posted to the Speak Freely Forum
  by John H on Tue, 7 Oct 2003 08:07:08 +0200 (MEST).
  http://www.fourmilab.ch/wb/speak-freely.pl?rev=484

A few years ago I made some changes to speakfreely for my personal use. At the
time I didn't get interest in them, but I recently ported the changes to 7.6
for unix. What I've done is:

* Provide incoming packet re-ordering for packets that are swapped during
transit. This has noticebly improved quality for some connections. It only
works with the rtp protocol, because that provides the sequence number. This
intelligent handling of the packet sequence also means that lost packets may
be handled better. I implemented this on the unix version, but plan to do it
on the windows one as well.

* I have written a conversation logging tool. This is a small application that
receives gsm packets from both the transmit and receive sections and puts them
together in a single file in groups of talkspurts. Again, this
was on the unix version.

* I have written resampling routines to change sampling frequencies. On _some_
hardware this has made huge improvements to the audio quality. Basically, the
sampling and playback is done at 44.1kHz and the conversion is made to 8kHz in
software. I have used a proper polyphase filter implementation to prevent
artifacts and aliasing. Some soundcards seem to do a very poor job at 8kHz
sampling, and this resampling has given much better results. This was working
on both windows and unix in 7.1. I've ported to 7.6 on unix, but haven't
tested it - it's not useful to me personally at the moment.

I also plan the following:
* Add the Speex codec. That's for the better bitrate/quality tradeoff, and
because it has algorithms to extrapolate through lost packets. I'm thinking
both unix and windows versions for this.

* I may have a try at echo-cancellation and comfort noise - especially as
speex has algorithms for the former.

If anyone is interested in these patches, or to try merging them, let me know.
It seems that the sourceforge projects aren't really going yet either.

Also, if anyone has any tips at getting the windows version to compile under
cygwin, that would be good to have too. I'm hoping it's just a makefile.


                      * * *

To unsubscribe from this mailing list, send E-mail containing
the word "unsubscribe" in the message body (*not* as the
Subject) to [email protected]