Speak: Simple VoIP Application Project 2

 
Speak
A Simple VoIP Application
 
Project 2
 
Due date: March 3
rd
 by 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
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.

  • VoIP Application
  • Speech Detection
  • TCP
  • UDP
  • Development

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.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

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.

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

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#