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