About the application
This application was developed for providing point-to-point near real time Voice Communication over networks. However, bandwidth limitations necessitate the use of compression / decompression of data transferred. As this is an experimental project and efficient compression / decompression algorithms are proprietary, the same has not been incorporated in the application. On availability of a suitable algorithm, there is scope to implement it into the application.
This application uses the UDP protocol to transmit speech over the network using the Winsock interface. This MS-Windows version records and plays 8-bits/sample buffers at the default Windows sampling frequency of 11.025 Khz and uses squelching and silence filtration techniques to distinguish between "silent" and "voiced" speech. This eliminates the need of manual switching from playback mode to recording mode.
SpeakEazy was developed under the assumption that the user will be most likely be using a half duplex sound card. Since half duplex sound cards can either record or play but not do both simultaneously, a technique called squelch has been implemented under SpeakEazy which lets the computer decide whether it should begin the recording process or the playback process.
The application consists of a single server and a client, running on different threads. The client can initiate a connection and server can accept a connection request from another client. This eliminates the need for running two separate programs in the Microsoft Windows environment, which only serves to tie up system resources, and thus slow down other programs. On execution of the application, the server starts, waiting for a connection call. The calling party's client sends a message to the remote server, requesting a connection. If the remote server is running, it will inform its user of a connection request, and the user will either accept or reject the connection. The remote server will then send an appropriate message to the calling client. If the remote server accepts connection, it will launch its client, which will initiate a connection to the calling party's server. However, if the remote server declines a connection, a message to that effect is sent to the calling client and application at both ends are reset.
Topics: MAIN PAGE
INTRODUCTION TO THE APPLICATION
TOOLS USED
ALGORITHM
MINIMUM SYSTEM REQUIREMENTS
UPGRADATION POSSIBLE
DEVELOPED BY
VIEW AND DOWNLOAD THE SOURCE CODE