Hawk Logo

Hawk Software

Programming, web design, and more

HawkVoice™

HawkVoiceDI end user information is here.

HawkVoice is a game oriented, multiplayer voice over network API released under the GNU Library General Public License (LGPL) , with support for Linux®/UNIX® systems and Windows® 9x/ME/NT/2000/XP/CE. It is designed to be a portable, free, open source code alternative to the Microsoft® DirectPlay® Voice in DX8-9. It provides voice compression using several free voice codecs. The very low bitrate (VLB) codecs, those less than 6 Kbps, are optimized for the compression of human speech.

Update:
The fixed point OpenLPC codec is now available under the LGPL! It will be included in the next release, or you can download it right now as a separate archive.

HawkVoiceDI version 0.91 beta is on the download page. This update includes several bug fixes, and some new features. A variable bit rate (VBR) LPC-10 codec option has been added. This VBR-LPC-10 codec averages less than 1200 bps with average speech, but varies from 256 bps for silence up to the full 2.4 Kbps for fast-no-breaks-speech. Also, two new functions were added to HawkEncrypt to sign and authenticate packets.

HawkVoiceDI (HVDI) is the low level voice packet and utility code from HawkVoice released as a separate library. The API is now 22 functions, and it has everything you need to encode/decode voice packets, and optionally encrypt them. All you need to do is create your network connections (any network type, serial, etc.), record and playback sound using the library or API of your choice, then use HVDI to encode/decode your 16 bit voice samples and send/receive the packets. HVDI now has functions for AGC (automatic gain control), VOX (voice activated transmission), sample rate conversion, and a mixer. More codec information is on the HawkVoice codecs page.

All included codecs (voice encoders and decoders) are free and open source, so no royalties are required. The codecs included are:

Kbps       codec name       license  code type

64         G.711 u-law      LGPL     fixed point
32         Intel/DVI ADPCM  Free *   fixed point
13.2       GSM              LGPL     fixed point
4.8        LPC              LGPL     floating point
4.5-2.3    CELP             LGPL     floating point
2.4        LPC10            LGPL     floating point
2.4        LPC10            $        fixed point
Up to 2.4  VBR-LPC10        LGPL     floating point
Up to 2.4  VBR-LPC10        $        fixed point
1.8-1.4    OpenLPC          Free *   floating point
1.8-1.4    OpenLPC          LGPL, $  fixed point

* must display a copyright notice
$ fixed point code is available for license, contact
Phil Frisbie, Jr. for details

You can compare the sound quality of these codecs here.

HawkVoiceDI also includes MD5 and Blowfish for encryption of the voice stream.

HawkVoice will support all popular voice modes, including peer to peer, forwarding server, and mixing server. I also plan to add a point to point mode to make it easy to create a simple 2 point connection for telephone-like applications.

Here is the current HawkVoiceDI change log (12 January 2004): HVDIchanges.txt

Here is the current HawkVoiceDI version 0.91 beta header file showing the low level API (12 January 2004): hvdi.h

Here is a quick reference for the HawkVoiceDI API (12 January 2004): api.txt

Here is the current HawkVoice change log (16 March 2001): HVchanges.txt

Here is the current FAQ (04 March 2001): hvfaq.txt

Here is the current HawkVoice version 0.5 alpha header file showing the voice API (21 March 2001): hawkvoice.h

Microsoft, Windows, DirectX and DirectPlay are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.
Linux is the registered trademark of Linus Torvalds in the U.S. and other countries.
UNIX is a registered trademark of The Open Group in the US and other countries.


HawkNL, HawkNLU, and HawkVoice are trademarks of Phil Frisbie.