2010-02-24 4 views
5

Ich versuche einen Sprachqualitätstest (PESQ) zu machen, aber ich verstehe nicht, wie ich anfangen soll. Ich versuche, einen öffentlichen Quellcode zu kompilieren (http://www.itu.int/itu-t/recommendations/index.aspx?ser=P (S.862)), kann aber keinen Test starten. Vielleicht arbeitet jemand damit?Wie starte ich einen PESQ-Test mit Sprachqualität?

+0

Auch wenn Sie jemand hier finden, die es benutzt hat, wie könnte sie helfen, wenn Sie don‘ t irgendwelche Details? –

+0

Ich habe zwei WAV-Dateien und möchte sie mit PESQ vergleichen. Ich habe den Code auf C++, aber ich kann keine exe-Datei machen –

Antwort

0
  • unrar die Setup-Datei
  • Tropfen beide (Original und verformte Datei) im Ordner entsprechen Datei und führen Sie die Datei
  • finden Sie die Ergebnisse in einem Notizblock erhalten
+0

Ich kann keine Ergebnisse erhalten .. –

17

Sie einen C-Compiler benötigen (Die ITU PESQ reference implementation ist eigentlich C, so dass Sie ein C++ Compiler nicht Notwendigkeit zu tun, obwohl beide gut funktionieren sollte)

Zum Beispiel auf Linux, können Sie die source geben würde Verzeichnis und kompilieren mit gcc:

$ cd Software/P862_annex_A_2005_CD/source 
$ gcc -o PESQ *.c 

Dadurch werden die Dateien dsp.c, pesqdsp.c, pesqio.c, pesqmain.c, pesqmod.c in eine Binärdatei kompilieren PESQ, die Sie mit ./PESQ dann ausführen können:

$ ./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. 

dieses binäre auszuführen und Ihren Algorithmus zu testen, müssen Sie die „Referenz“ .wav-Datei (Dies ist die saubere, ursprüngliche Sprache) und die „degradierten“ .wav-Datei (Dies ist die Ausgabe des Algorithmus). Übergeben Sie einfach beide in PESQ, und es gibt Ihnen die Ausgabe des Tests. Ein Beispiel lief auf zwei .wav-Dateien, die in der Quellenverteilung von der ITU:

$ 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 

Wo die +8000 Parameter zeigen, dass die WAV-Dateien bei 8000 Hz abgetastet werden.

4

In den letzten Versionen von GCC, können Sie diese comamnd verwenden müssen, um zu kompilieren:

gcc -o PESQ *.c -lm 

BR