Speak: Simple VoIP Application Project 2
Develop a basic two-person VoIP application with speech detection capabilities using TCP and UDP protocols. The project involves evaluating speech quality, simulating latency, implementing speech detection based on energy levels, and handling packet loss. Explore various architectural possibilities, provide sample code for reference, and submit the project as a tar/zip file by the due date.
Download Presentation
Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
E N D
Presentation Transcript
Speak A Simple VoIP Application Project 2 Due date: March 3rdby 11:59pm
Overview VoIP Been able to do this (well) for at least 20 years Web and Internet made Internet telephony possible, cheaper increasingly popular Basic Two-person System parameters to evaluate quality Speech detection Simpler version than Project 1 Minimal interface Load time options for connection, parameters
Details Windows or Linux (or Mac) Two boxes, actually Internet sockets Specify host (and port) TCP and UDP Variable chunk sizes (emulate latency) 20, 40, 60 ms are typical Also support values up to 1000 ms
More Details Basic speech detection Modified from project 1 250 ms search for zero crossing too big! Detect based on energy level only Sample only chunk from audio device Tune thresholds to be effective Can have on or off Packet Loss Drop before sending, or after receiving (your choice) Percent, uniform randomly distributed
Hints Many different architectural possibilities Can design how you want Provide some sample code ( tools ) Refer to other samples, but write your own code (and reference any others) Consider remote development (not at console) Pre-Record some conversation Read from file or device Write to file or device Allow development of system code Also good for one person testing
Sample Code Linux/Cygwin Basic TCP sockets: talk-tcp.c and listen-tcp.c Basic UDP sockets: talk- udp.c and listen-udp.c Setting a timer: setitimer.c POSIX threads: add2.c Multiple interrupts: select.c Parsing command line parameters: get-opt.c Windows A simple header file to generate error messages for Winsock errors: sockerr.h Basic TCP sockets: tcp- talk.cpp, tcp-listen.cpp Basic UDP sockets: udp- talk.cpp, udp-listen.cpp Get the IP address of a host: getIPaddress.cpp
Hand-In Email a tar/zip file Use your name as the directory Include All source code and Makefile README file with instructions on running Due end of day when due
Grading 60% Basic 2-way VoIP Application (TCP or UDP), with parameters. 15% Uses both UDP and TCP. 5% Supports Speech Detection. 5% Works under all Loss parameters. 5% Works under all Delay parameters. 10% Clear, well-written code, including comments. Should be easy to "read" and understand. Grading rubric available online