Speak: Simple VoIP Application Project 2

Slide Note
Embed
Share

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.


Uploaded on Oct 08, 2024 | 0 Views


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


  1. Speak A Simple VoIP Application Project 2 Due date: March 3rdby 11:59pm

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

More Related Content