info@voip-sip-sdk.com Tel.: 00 36 52 532 731

Voice Activation Detection (VAD)

Download: 23_SilenceFilter.zip

Ozeki VoIP SIP SDK makes it easy to implement Voice Activation Detection (VAD) into your application. After reading through this page you will be fully familiar with all the essential terms concerning VAD technology and what you will need for creating your own solution using Ozeki VoIP SIP SDK.

Prerequisites:

Operating system: Windows 8, Windows 7, Vista, 200x, XP
System memory: 512 MB+
Free disk space: 100 MB+
Development environment: Visual Studio 2010 (Recommended), Visual Studio 2008, Visual Studio 2005
Programming language: C#.NET
Supported .NET framework: .NET Framework 4.5, .NET Framework 4.0, .NET Framework 3.5 SP1
Software development kit: OZEKI VoIP SIP SDK(Download)
VoIP connection: 1 SIP account

Introduction

Voice Activation Detection (VAD) is a technology that is used for detecting the incoming voice activation of a phone call. It means that the detecting algorithm is capable to specify when the remote party speaks and it differentiates it from the silence periods.


Figure 1 - Voice activation detection

Voice Activation Detection is mainly used in predictive dialer systems, when you need to specify if the remote party is a human or an answering machine. In those solutions the main algorithm is used for measuring the length of the speech and the silence periods in between the speaking sections. This can only be written by having VAD technology implemented in the background.

Ozeki VoIP SIP SDK provides superior VAD support from the version 9.1.0. The following sample code describes how you can use this feature for detecting voice activation.

The following source code is based on the extraordinary background support that Ozeki VOIP SIP SDK provides. You will need to download and install Ozeki VoIP SIP SDK for using the sample code. The sample program is written in C# programming language, therefore you will also need to have Visual Studio 2010 and .NET Framework 4.0 for being able to use the program.

Using the Voice Activation Detection function of Ozeki VoIP SIP SDK

The Voice Activation Detection works with a special inbuilt MediaHandler class, the VADFilter. This class is responsible for the voice detection. The example program that is attached to this article contains a basic example how you can use the VADFilter class.

As the VADFilter is a standard MediaHandler, it can be used similar to other MediaHandlers. Code 1 shows how you can declare and initialize the filter object.

VADFilter vadFilter;
...
vadFilter = new VADFilter();

Code 1 - The declaration and initialization of the VADFilter object

The VADFilter object needs an AudioProcessor object that will be connected to the filter by the media connector object. Code 2 shows the initialization and setting of the AudioProcessor object.

This AudioProcessor works for noise reduction in the call. This is necessary if you do not want to detect background noises as speech in the VAD process.

audioProcessor = new AudioProcessor();
audioProcessor.DSPCollection.AddDSP(DSPTypes.SpeexPreprocessor);

Code 2 - Settings for the AudioProcessor object

When both the VADFilter and the AudioProcessor is set, they need to be connected as well as the filter needs to be connected to the audio sender object, and the microphone to the AudioProcessor (Code 3).

You can notice that basically the AudioProcessor and the VADFilter is set in between the microphone and the audio sender object. The call itself works the same, only that the talk does not goes directly from the microphone to the audio sender, but it goes through the AudioProcessor and the VADFilter that is capable of detecting the voice activity.

mediaConnector.Connect(microphone, audioProcessor);
mediaConnector.Connect(audioProcessor, vadFilter);
mediaConnector.Connect(vadFilter, phoneCallAudioSender);

Code 3 - You need to connect the proper MediaHandler object together

The sample program is a simple softphone application and works similar to a softphone. The other methods are not changed. You only need to add the above mentioned changes if you want to use the VAD functionality.

Summary

This article introduced you the basic knowledge about Voice Activation Detection and showed how Ozeki VoIP SIP SDK can help you to fulfill your goals. If you have read through this page carefully, you already have all the knowledge you need to start your own solution.

As you are now familiar with all the terms concerning this topic, now it is time to take a step further and explore what other extraordinary solution Ozeki VoIP SIP SDK can provide to you.

If you have any questions or need assistance, please contact us at info@voip-sip-sdk.com

You can select an Ozeki VoIP SIP SDK for implementing VAD on Pricing and licensing information page

Related Pages