Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Estimating SNR of an Environment where obtaining clean speech is not p (Read 5796 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Estimating SNR of an Environment where obtaining clean speech is not p

is that possible to find SNR of an environment ? ie., i have a outdoor environment where i cannot find the clean speech ,if so i want to measure the signal power to noise power how to do that

can i do some thing like put a voice activity detection and find voice frames and find the voice frames power to non voice frames power will that be SNR of that environment ?

i have seen some tools like baudline giving segmental SNR will they follow the same method i have mentioned or how this actually happen i have also listened to tools like SOX

Estimating SNR of an Environment where obtaining clean speech is not p

Reply #1
If you have an audio editor that can calculate the average dB level, you can use that to get an approximation. 

Record the background noise only, and then the speech and background noise together (without changing anything else).  Then, subtract* the two dB averages.  Or, if you already have the file, just select the parts the file you want to test.

But if the noise is really that bad, you may not have any difference (a SNR that's 0dB or actually negative).    This will actually give you (Signal + Noise)/Noise.  Sorry, I don't have the math for a correction, but you can probably look it up...  i.e.  If Signal & noise are equal,  you'll get +3dB when they are combined, which would imply a SNR of 3dB, when the true SNR is 0dB...  I think that's the worst case error, unless you have a negative SNR and you can't measure any difference...  I don't suppose you can measure the speech without the noise to get a true ratio?

There is an optional plug-in for Audacity ("stats.ny", I think) that can give you the average & peak levels of a selection.    I can also "trick" GoldWave into doing it by selecting the Match Volume effect, and making a note of the average before canceling the actual effect.  I believe Adobe Audition has this analysis tools built-in, but I don't own Audition.

P.S.
The SOX "stats" command can give you RMS levels.    It looks like it analyzes the whole file, so you if you have only one file you'll have to edit/split it to analyze the speech & noise separately.



* Since dB is logarithmic, simple subtraction gives you a ratio.

Estimating SNR of an Environment where obtaining clean speech is not p

Reply #2
is that possible to find SNR of an environment ? ie., i have a outdoor environment where i cannot find the clean speech ,if so i want to measure the signal power to noise power how to do that


Generally one defines the SNR in a measurement as the ratio of the highest possible signal to the power of the noise floor.  You can easily do this.

However, depending on what you are interested in, you may chose to define SNR differently.