webrtc/tools/e2e_quality/audio
phoglund@webrtc.org acc54b41da Added perf expectations and corrected existing tests to remove spaces from series names.
The make_expectations.py script is copied from Chrome. It can look at a test's result history and automagically compute good regress/improve values.

This patch comes into play together with https://chromereviews.googleplex.com/6242014/.

NOTE TO SELF: save history on master when deploying!

Review URL: https://webrtc-codereview.appspot.com/1019005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3339 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-07 12:05:53 +00:00
..
audio_e2e_harness.cc Move src/ -> webrtc/ 2012-10-22 18:19:23 +00:00
daemon.conf Improve the reliablity of the audio e2e test. 2012-06-07 04:00:15 +00:00
default.pa Add a framework for audio end-to-end quality testing. 2012-05-10 18:45:11 +00:00
perf Made e2e audio quality test write its results to perf. 2012-12-10 10:08:00 +00:00
README Improve the reliablity of the audio e2e test. 2012-06-07 04:00:15 +00:00
run_audio_test.py Added perf expectations and corrected existing tests to remove spaces from series names. 2013-01-07 12:05:53 +00:00

The tools here run an end-to-end audio quality test on Linux using PulseAudio.

INSTALLATION
The test depends on PulseAudio virtual devices (null sinks). Without additional
arguments, run_audio_test.py expects a pair of sinks named "capture" and
"render". To create these devices at machine startup, place the provided
default.pa file in ~/.pulse. Alternately, the "pacmd" commands therein can be
run on the command-line to create the devices.

Similarly, place the provided daemon.conf file in ~/.pulse to use high quality
resampling in PulseAudio. This will reduce the resampling impact on the outcome
of the test.

Build all WebRTC targets as usual (or just the audio_e2e_harness target) to
generate the VoiceEngine harness.

USAGE
Run run_audio_test.py to start. The script has reasonable defaults and will
use the expected location of audio_e2e_harness. Some settings will usually
be provided by the user, particularly the comparison tool command-line and
regular expression to extract the quality metric.

An example command-line, run from trunk/

tools/e2e_quality/audio/run_audio_test.py \
--input=data/voice_engine/audio_short16.pcm --output=e2e_audio_out.pcm \
--codec=L16 --compare="comparison-tool" --regexp="(\d\.\d{3})"