The purpose of this quick how-to document is to show that implementation of a voice quality monitoring system may be relatively simple. The most complicated task is to find an easy to use and cost effective solution that would provide a perceptual evaluation of voice/speech quality recorded by your SIP-system. However, Sevana NIQA was an easy choice.
We decided to use one of the most popular free SIP softphones – pjsip (www.pjsip.org). This is a cute, light, but powerful tool that can do the two main things required for creating a VQM system:
a.. functionality to make SIP calls – obviously all SIP phones have this functionality
b.. ability to play and record audio files
If you have a SIP software phone that supports these two features (and most likely any of them does) then by using Sevana’s AQuA or NIQA product you can setup a simple Voice Quality Monitoring (VQM) within a couple of minutes.
Read more from here: http://wordpress.sevana.fi/category/voice-sound-quality-testing-software/
Sevana Oy wrote:
The purpose of this quick how-to document is to show that implementation
of a voice quality monitoring system may be relatively simple. The most
complicated task is to find an easy to use and cost effective solution
that would provide a perceptual evaluation of voice/speech quality
recorded by your SIP-system. However, Sevana NIQA was an easy choice.
We decided to use one of the most popular free SIP softphones – pjsip
(www.pjsip.org). This is a cute, light, but powerful tool that can do
the two main things required for creating a VQM system:
* functionality to make SIP calls – obviously all SIP phones have
this functionality
* ability to play and record audio files
If you have a SIP software phone that supports these two features (and
most likely any of them does) then by using Sevana’s AQuA or NIQA
product you can setup a simple Voice Quality Monitoring (VQM) within a
couple of minutes.
Read more from here:
http://wordpress.sevana.fi/category/voice-sound-quality-testing-software/
Is it really possible to calculate the MOS just from the received
recording - without comparing it to the original file? Doesn't MOS
suffer from delay (which is not detectable just from the recording)?
Does somebody know how pjsip writes the wavefile? Will it be written
exactly like to the audio device (with possible jitter buffer
under/overrun and playback-speed adjustments) or will the voice sample
be written just one after the other to the wave file?
thanks
klaus
Hello Klaus,
Read more from here:
http://wordpress.sevana.fi/category/voice-sound-quality-testing-software/
Is it really possible to calculate the MOS just from the received
recording - without comparing it to the original file? Doesn't MOS suffer
from delay (which is not detectable just from the recording)?
It is really possible to calculate MOS just from a single recording, but
methods for that may be different. Here is a reference to ITU-T standard for
single-sided voice quality measurement:
Single-ended method for objective speech quality assessment in narrow-band
telephony applications // ITU-T
Recommendation P.563 / http://www.itu.int/rec/T-REC-P.563-200405-I/en
And here is description of our approach:
http://www.sevana.fi/non-intrusive-voice-quality-testing-software.php
Does somebody know how pjsip writes the wavefile? Will it be written
exactly like to the audio device (with possible jitter buffer
under/overrun and playback-speed adjustments) or will the voice sample be
written just one after the other to the wave file?
Call audio will be saved one after another into the same file, however, this
can also be solved in order to receive recording of a single call.
thanks
klaus
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
Hi!
Am 12.05.2010 06:37, schrieb Sevana Oy:
Does somebody know how pjsip writes the wavefile? Will it be written
exactly like to the audio device (with possible jitter buffer
under/overrun and playback-speed adjustments) or will the voice sample
be written just one after the other to the wave file?
Call audio will be saved one after another into the same file, however,
this can also be solved in order to receive recording of a single call.
That's not what I asked - maybe I should make myself more clear:
During a normal phone call, the receiver may do manipulations to the
audio stream before playing back the audio to the user. For example SIP
clients often have dynamical jitter buffer - when the buffer gets empty
the playback speed will be reduced, when the buffer gets full the
playback speed will be increased, old packets may be ignored completely.
When a call is recorded, this manipulations are not needed because it
doesn't matter if packets arrive late as for recording there are no
real-time constraints. The receiver can wait until the RTP packets are
received and then it saves the audio payload without need for
manipulation to the wav file.
If a client writes a wav file like described above, and the is no packet
loss - the recorded file will always be identical to the file sent by
the other party.
If a client does audio manipulation also for recordings, then the
recorded file will differ from the original and MOS should be different.
regards
Klaus
Hi Klaus,
If I get your question right this time the point is in the perceptual model
utilized in a voice quality assessment software. Basically, the best way is
to use both: MOS generated by our software or P.862/P.563 together with
typical VoIP characteristics. Our software like ITU standards (if I may
compare them here) implement a perceptual voice quality assessment model
that produces MOS scores according to how a human percepts the audio thus if
packets were lost or "recovered" that will lead to MOS score decrease or
increase. Hope I answered to your comment. Thanks!
----- Original Message -----
From: "Klaus Darilion" klaus.mailinglists@pernau.at
To: "pjsip list" pjsip@lists.pjsip.org
Cc: "Sevana Oy" sales@sevana.fi
Sent: Wednesday, May 12, 2010 11:50 AM
Subject: Re: [pjsip] Turn your free SIP softphone into a voice quality
monitoring instrument with Sevana’s NIQA application
Hi!
Am 12.05.2010 06:37, schrieb Sevana Oy:
Does somebody know how pjsip writes the wavefile? Will it be written
exactly like to the audio device (with possible jitter buffer
under/overrun and playback-speed adjustments) or will the voice sample
be written just one after the other to the wave file?
Call audio will be saved one after another into the same file, however,
this can also be solved in order to receive recording of a single call.
That's not what I asked - maybe I should make myself more clear:
During a normal phone call, the receiver may do manipulations to the audio
stream before playing back the audio to the user. For example SIP clients
often have dynamical jitter buffer - when the buffer gets empty the
playback speed will be reduced, when the buffer gets full the playback
speed will be increased, old packets may be ignored completely.
When a call is recorded, this manipulations are not needed because it
doesn't matter if packets arrive late as for recording there are no
real-time constraints. The receiver can wait until the RTP packets are
received and then it saves the audio payload without need for manipulation
to the wav file.
If a client writes a wav file like described above, and the is no packet
loss - the recorded file will always be identical to the file sent by the
other party.
If a client does audio manipulation also for recordings, then the recorded
file will differ from the original and MOS should be different.
regards
Klaus