如何开始语音质量PESQ测试?

Jea*_*rre 6 c++ compilation

我正在尝试进行语音质量测试(pesq),但我不明白如何开始.我试图编译公共源代码(http://www.itu.int/itu-t/recommendations/index.aspx?ser=P(p.862))但无法开始测试.也许有人合作过这个?

sta*_*oat 18

您将需要一个C编译器(ITU PESQ参考实现实际上是C,因此您不需要 C++编译器,尽管两者都可以正常工作)

例如,在linux上,您将进入source目录并使用gcc以下代码进行编译:

$ cd Software/P862_annex_A_2005_CD/source
$ gcc -o PESQ *.c
Run Code Online (Sandbox Code Playgroud)

这会将文件编译dsp.c, pesqdsp.c, pesqio.c, pesqmain.c, pesqmod.c成二进制文件PESQ,然后您可以运行./PESQ:

$ ./PESQ
Perceptual Evaluation of Speech Quality (PESQ)
Reference implementation for ITU-T Recommendations P.862, P.862.1 and P.862.2.
Version 2.0 October 2005.

<snip long unenlightening IP notice>

Usage:
 PESQ HELP               Displays this text
 PESQ [options] ref deg
 Run model on reference ref and degraded deg

 Options: +8000 +16000 +swap +wb
  Sample rate - No default. Must select either +8000 or +16000.
  Swap byte order - machine native format by default. Select +swap for byteswap.
  Default mode of operation is P.862 (narrowband handset listening). Select +wb 
  to use P.862.2 wideband extension (headphone listening).

 File names may not begin with a + character.

 Files with names ending .wav or .WAV are assumed to have a 44-byte header, which is automatically skipped.  All other file types are assumed to have no header.
Run Code Online (Sandbox Code Playgroud)

要运行此二进制文件并测试算法,您需要"reference".wav文件(这是干净的原始语音)和"degraded".wav文件(这是算法的输出).简单地将两者都传入PESQ,它将为您提供测试的输出.国际电联的源代码分发中包含两个.wav文件的示例:

$ cd Software/P862_annex_A_2005_CD/conform
$ ../source/PESQ +8000 or105.wav dg105.wav
Perceptual Evaluation of Speech Quality (PESQ)
Reference implementation for ITU-T Recommendations P.862, P.862.1 and P.862.2.
Version 2.0 October 2005.

<snip IP notice>

Reading reference file or105.wav...done.
Reading degraded file dg105.wav...done.
 Level normalization...
 IRS filtering...
 Variable delay compensation...
 Acoustic model processing...

P.862 Prediction (Raw MOS, MOS-LQO):  = 2.237   1.844
Run Code Online (Sandbox Code Playgroud)

其中+8000参数表示wav文件以8000Hz采样.


小智 5

在GCC的最新版本中,您可能必须使用此comamnd进行编译:

gcc -o PESQ *.c -lm
Run Code Online (Sandbox Code Playgroud)

BR