Speak Freely is a Windows application that allows you to talk (actually send voice, not typed characters) over a network. If your network connection isn't fast enough to support real-time voice data, four forms of compression may allow you, assuming your computer is fast enough, to converse nonetheless. To enable secure communications, encryption with DES, IDEA, and/or a key file is available. If PGP is installed on the user's machine, it can be invoked automatically to exchange IDEA session keys for a given conversation. Speak Freely for Windows is compatible with Speak Freely for Unix, and users of the two programs can intercommunicate. Users can find one another by communicating with a "Look Who's Listening" phonebook server. You can designate a bitmap file to be sent to users who connect so they can see who they're talking to. Speak Freely supports Internet RTP protocol, allowing it to communicate with other Internet voice programs which use that protocol; in addition, Speak Freely can also communicate with programs which support the VAT (Visual Audio Tool) protocol.
Release 7.0 now available! This release is a 32-bit application
which runs in native mode on Windows 95 and Windows NT. Starting with Release
7.0, Speak Freely for Windows will be released only for 32-bit systems.
Users of 16-bit Windows 3.x systems can continue to use Speak Freely
6.0, which remains available and can communicate with later releases without
difficulty.
Release 7.0 includes support for United States Department of Defense Federal Standard 1015 / NATO-STANAG-4198 / LPC-10 compression algorithm, republished as Federal Information Processing Standards Publication 137 (FIPS Pub 137). LPC-10 compression (an algorithm completely different from that the original LPC compression) compresses sound by a factor of more than 26 to 1 with fidelity, albeit less than that of GSM compression, perfectly adequate for voice-grade communications.
The extreme compression achieved by the LPC-10 algorithm allows the option of ``robust transmission,'' in which multiple copies of sound packets are sent, each containing a sequence number which allows the receiver to discard duplicate or out-of-sequence packets. Robust transmission often allows intelligible conversation over heavily loaded network links which would otherwise induce random pauses and gaps in received sound.
Mailing lists now open! Two Internet mailing lists devoted to Speak Freely are now open to subscribers, one for general unmoderated discussion of all topics related to Speak Freely (also available as a periodic digest) and a moderated list reserved for announcements of general interest to the Speak Freely user community. Please consult the mailing list documentation for further details and information on how to subscribe.
Remote echo servers now available! Servers are now running at the sites corona.itre.ncsu.edu, echo.fourmilab.to, and echo.fourmilab.ch which echo back any sound you send ten seconds later, using the same compression and encryption modes as the sound you sent. This lets you experiment with different modes without tying up a person on the other end. Note: the echo.fourmilab.ch server shares its Internet link with the very busy www.fourmilab.ch Web site; as a result, due to outbound traffic you may experience pauses when using this server that you wouldn't encounter otherwise.
Notice: A great deal of work has been done to make Speak Freely
work on as many computer configurations as possible, but given the extraordinary
variety and uneven quality of sound cards and drivers, network interfaces,
Internet Service Providers, Windows Sockets drivers, etc. in the real world,
and the fact that many of these components were not designed and have not
been tested for real-time transmission of sound, you may have to do some
fiddling with your configuration to get Speak Freely running satisfactorily,
and you may discover that with your current configuration you can't get
it to work at all. Speak Freely uses only standard Windows multimedia
and network services, but it pushes them much harder than do most other
Internet tools. If the hardware and drivers on your machine do not function
according to Microsoft's specifications, there is nothing Speak Freely
can do about it.
Further, if your network connection isn't sufficiently fast and consistent, and/or your computer doesn't run fast enough to execute this very demanding program in real time, you'll be disappointed with the results. A 486/50 or faster computer with a 28.8 kilobit per second or faster Internet connection is ideal; you can run over a 14.4 kilobit per second Internet connection by using LPC compression. If your computer is fast enough to run LPC-10 compression (a 75 Mhz or faster Pentium is generally required), you can send audio over links as slow as 4800 bits per second. Speak Freely is a 32 bit Windows applications which runs under Windows 95 and Windows NT. Earlier versions which run on 16-bit Windows and compatible systems (such as OS/2 Warp) remain available. Just in case I inadvertently broke something in this latest release, executable and source distributions for all prior releases remain available.
Download Speak Freely
Download Speak Freely non-cryptographic version
pkunzip -d speakfs.zipThe "-d" option is essential; without it the subdirectory structure in the archive will be lost. Once you've extracted the files, you can use Visual C++ to build all of the libraries in the subdirectories and then build the main program. Assuming the protected mode help compiler, hcp, is on your path, typing make in the help subdirectory will rebuild the help file.
If you decide to experiment with the source code, you're entirely on your own--I do not have the time to provide support to novice developers. Speak Freely is a large, complicated, and tricky program which requires a substantial investment in time to learn your way around before you commence any serious development.
Download Speak Freely source code
Speak Freely not only because you aren't running up your phone bill, but also knowing your conversation is secure from eavesdroppers. Speak Freely provides three different kinds of encryption, including the same highly-secure IDEA algorithm PGP uses to encrypt message bodies. By using PGP to automatically exchange keys, session you can Speak Freely to total strangers, over public networks, with greater security than most readily available telephone scramblers provide.
Speak Freely for Windows is 100% compatible with Speak Freely for Unix, currently available for a wide variety of Unix systems. Windows users can converse, over the Internet, with users of those Unix machines.
Multicasting is implemented, allowing those whose networks support the facility to create multi-party discussion groups to which users can subscribe and drop at will. For those without access to Multicasting, a rudimentary Broadcast capability allows transmission of an audio feed to multiple hosts on a fast local network.
Whether Speak Freely will work effectively for you depends upon your CPU speed, network bandwidth, load on the network, and the compression and encryption modes you select in a complicated and subtle manner. The best way to find out is to try it; if it works, great; if it doesn't, try again when you next upgrade your computer or network connection. Speak Freely provides a built-in performance benchmark to assist you in selecting modes appropriate for your computer. You can experiment to determine which settings work best by connecting to an echo server which returns any sound you send to it after a 10 second delay.