📜 ⬆️ ⬇️

VoIP Voice Quality Assessment Platform


This post is a continuation of my theme Universal iRig for iPhone and Android do-it-yourself or save 30 euros .
In this post I will tell you how the device created in the first post was applied. What results did it give, how to apply it, and in general about assessing the quality of communication. The material from the ALyarskiy article is also used in this post. Methods for assessing subjective speech quality. and files under the cut).


Introduction and description


To assess the quality of voice communication, there are a number of software and hardware solutions. An example of such a solution for testing VoIP services for mobile platforms is the solution presented in Fig. 1 . For testing, a wireless IP network with controlled conditions is created. The network is used only by tested devices. The network traffic from the device to the device passes through special software that emulates specified network conditions (typically using the TIA-921 standard, for example, Shunra software or standard for Linux NetEm). On mobile devices installed software for making VoIP calls. Speech signals are input / output through a headset connector using a special device (commercially available, for example, the Malden DSLA device). The device is controlled by software installed on a PC. After playing and capturing the signal on the control PC, the quality assessment metrics are calculated (PESQ, delay). The platform allows you to assess the quality of communication as close as possible to the perception of the end user, since the signal input / output paths of specific devices are taken into account.


Fig. 1: Software and hardware solution for testing the quality of voice communications of VoIP services on mobile platforms.
')
The solution described above (using a special device) is most preferable in view of its reliability (qualitative sound path of the measuring device, flexible gain settings, etc.) and exact compliance with standards, but under laboratory conditions it can be replaced with a simplified scheme, where instead of special The device for audio input / output uses a PC audio card and special software for calculating metrics (at present, there are freely distributed programs for calculating metrics). A diagram of the simplified platform is shown in Fig. 2


Fig. 2: Simplified platform, without using a special device for input / output of the speech signal.

For the operation of the simplified platform, an adapter wire is needed that connects the audio card to the headset input of the mobile device. A connection (headset -----> audio card input) is standard and the corresponding wires are commercially available. To connect (audio card output -----> headset input) you need a consistent connection so that the mobile device determines the headset connection and switches to the handset mode. An example of the input matching circuit is shown in Fig. 3
Diagram of the headset connector of mobile devices:


M - microphone
G - common wire (ground)
R - audio output right
L - audio output left


Fig. 3: An example of a matching scheme.
Resistors R1 and R2 are used as a divider to reduce the signal power from the PC audio output. Also, R2 resistance is necessary for the device to detect the connection of the headset and switch to the appropriate mode. The attenuation coefficient is selected based on the characteristics of the device. From practice, a factor of 2 can be sufficient (the signal strength from a PC can be adjusted by adjusting the volume). The common wire of the connection is also shielding and is used for shielding from the device output to the PC input.
This platform was implemented and fully described in my previous article Universal iRig for iPhone and Android do-it-yourself or save 30 euros . As already mentioned above, the differences are only in the appearance of the device. Now this is not a jar for urine tests, but a normal rectangular plastic case (which hands do not reach to paint).

So the device looked before:


So it looks like in the new building:


And this is how the filling looks:



Fig. 4: Delay measurement platform.
In fig. 4 shows a platform for measuring the delay in which there is no connection “audio card output ----> telephone headset input”, which simplifies the platform. Sound input to the mobile device is via the built-in microphone. The software installed on the PC performs sound input / output and delay calculation.

Figure 5 shows an example of a graphical interface of a PC application that allows you to play / capture a signal using a PC audio card, calculate the PESQ metric and the speech propagation delay.

Fig. 5: An example of the appearance of a PC application used in a simplified measurement platform.

Console use example:
pesq.exe +16000 female_16.pcm silk_out.pcm 
The file pesq.exe, female_16.pcm and silk_out.pcm are attached at the end of the article.

Test (example of use)


To begin, consider the algorithm for working with PESQ

Generalized PESQ algorithm scheme
(Picture taken from ALyarskiy )

Then let's look at the full signal processing

Detailed scheme of the PESQ algorithm
(Picture taken from ALyarskiy )

Now we will compare Skype (default settings) and YouMagic (SILK codec, 8kHz) in an unmonitored network. The call is made from iPhone 4S to Samsung Note.

Result in Skype:


Result in YouMagic:


The interface for MatLab was developed by my colleague, for which many thanks to him.

References:
Standard Description
Methods for assessing the subjective quality of speech - ALyarskiy

Sources in C
Compiled pesq.exe
If you suddenly ask for MSVCR100D.dll
Female_16.pcm file
Silk_out.pcm file
Library for matlab
Quick readme for matlab

Source: https://habr.com/ru/post/186640/


All Articles