Speak Freely for Unix 7.5 Pre-Release Available (fwd)

Ari Moisio armoi at sci.fi
Wed Apr 17 13:57:39 EDT 2002


Hi!

  This is about latest speakfreely:

---------- Forwarded message ----------
Subject: Speak Freely for Unix 7.5 Pre-Release Available
Date: Thu, 18 Oct 2001 13:52:24 +0200

This announcement pertains only to Speak Freely for Unix.
Users of the Windows version need read no further.

A pre-release of Speak Freely for Unix (Linux, FreeBSD,
Solaris, IRIX, etc.) version 7.5 is now available.  This
release is intended for "early adopters" interested in
testing one or more of the new capabilities and/or
verifying whether problems intended to be resolved in this
release actually have been.  If you're engaged in modifying
Speak Freely or adapting code from it for use in other
applications, the code clean up in this version makes it a
better starting point for your work.

Download Information
--------------------

Speak Freely for Unix 7.5 may be downloaded from:

     http://www.fourmilab.ch/speakfree/unix/download/7.5/speak_freely-7.5.tar.gz

This is a gzipped TAR archive containing complete source code;
the format of the distribution is unchanged from earlier
releases.  The distribution contains a complete development
log in the file "log.doc".  An extract from this document including
all changes in 7.5 and several prior versions may be read
on-line at:

     http://www.fourmilab.ch/speakfree/unix/download/7.5/sfunix_log_7.5.html

New Features
------------

Support has been added for Federal Standard 1016 CELP
(Code-Excited Linear Prediction) audio compression, via
a new "-celp" switch in sfmike.  This algorithm compresses
voice-grade audio to a 4800 bit per second data stream with
quality comparable to that of GSM (13000 bits/second)
compression.  CELP compression (but not decompression)
is fantastically computationally intense.  While a 50 MHz
486 suffices for GSM, the price of admission for CELP
is on the order of a 600 MHz Pentium III or equivalent.
Note that for floating-point intense code like this
performance depends more on processor architecture than
clock rate: a 300 MHz UltraSPARC (v9), which has five
floating point units and can issue two floating point
instructions at once, runs CELP compression about three
times faster than real time notwithstanding its slower
clock.

Sfecho now permits simulation of transmission errors on
poor connections.  A new -z option lets you specify a
percentage of packets to randomly drop and shuffle.  This
allows testing error-tolerant algorithms by running sfecho
on a local machine, set to emulate a channel with
properties like the one the algorithm is intended to
cope with.

Robust transmission mode may now be used with any
compression mode in Speak Freely protocol, not just LPC10.
A separate -robustN option on sfmike sets the number of
sequence numbered copies of each packet to be sent, which
may now be as many as 8.

Processing of robust mode packets in sfmike is greatly
improved over the bonehead algorithm I originally used.
Each packet contains a sequence number which increments
modulo 256.  Previously, packets were discarded only if
they contained precisely the same sequence number as the
immediately preceding one.  The new code computes the
difference between the current packet's sequence number and
that of the last one played (taking account of the modulo
256 wrap-around) and discards the packet if its sequence
number is less than or equal to that of the last packet,
but not more than 16 less.  This should discard most
packets shuffled by multipath routing, while limiting the
maximum loss in the case of intermittent outages which
completely lose sync to at most 16 packets.

A sample speech file containing four sentences spoken by
male and female speakers (originally supplied as a test for
the CELP library) is now included as "speech.au" in the
Speak Freely distribution.  (The original test file was 8
kHz 16 bit PCM--the version supplied in the distribution
has been recoded as 8 kHz mu-law, Speak Freely's native
format.)  This file allows evaluation of different
compression modes and diagnosis of problems due to audio
input hardware settings (clipping, insufficient input gain,
incorrect sampling rate, or conversion to mu-law, etc.) by
comparing live audio against this properly recorded file.

Bug Fixes
---------

Transmission of face images now works when the audio stream
is encrypted.  (Fix by Ivan Popov.)

LPC10 audio compression should no longer be vulnerable to
compiler optimisation problems on various platforms, nor
to potential byte order or alignment problems.  The
original LPC10 codec was machine-translated from FORTRAN
into K&R C and contained numerous constructs which invited
code generation problems.  The code is now fully prototyped
ANSI C and should no longer have portability problems.  It
has been tested on GCC/Intel, SGI/MIPS, and Sun/SPARC
compilers with the highest optimisation settings with without
problems.

Packet sizes printed in -d option output from sfmike are now
correct on little endian platforms.

Robust transmission mode for LPC10 (-lpc10rN) failed when
sfmike was run on a little-endian platform--fixed.

Compression modes displayed by the -d and -v option output
from sfecho and sfreflect are now correct on little-endian
platforms.

Code Clean-Up
-------------

All of the files in Speak Freely, including the compression
and encryption libraries, have now been converted to ANSI
C with all functions prototyped.  Every file now compiles
without any warnings in a "-Wall" compile with GCC
2.96, including warnings resulting from code re-ordering
and unrolling in an "-O4" compilation.

Sflwld multi-thread operation (configured by compiling with
-DTHREADS and linking with -lpthreads) has been tested on
Linux (GCC 2.96, Kernel 2.4.2-2).  Previously it had been
tested only on Sun Solaris.

Compatibility Notes
-------------------

CELP compression and robust transmission for compression
modes other than LPC10 are new in this release.  If you
transmit in these modes to a prior version of Speak Freely
for Unix or any presently available version of Speak Freely
for Windows, the results will be unrewarding.  Nothing
awful will happen, but the audio received may range from
silence, weird science fiction sound effects, or a
"Ma-Ma-Max Headroom" type stutter.


                      * * *

To unsubscribe from this mailing list, send E-mail containing
the word "unsubscribe" in the message body (*not* as the
Subject) to speak-freely-request at fourmilab.ch






More information about the Speakup mailing list