3
edits
Changes
no edit summary
Analysis of tools and techniques for measuring WebRTC Audio Performance.
=="'Background" ==== "= Chrome Audio Perf ==Audio Processing Per 10ms AnalysisTest Code: process_test.cDetails: 1. Uses WebRTC AudioProcessingModule to simulate mic to render audio processing. 2. AudioEngine Configuration touch points : Sample Rate, Input and Output Channels, Reverse Channels, Echo Cancellation, Gain Control, Noise Suppression, Voice Activity Detection, Level Metrics, Delay, Drift Compensation,Echo MetricsLogic: For every Input AudioFrame time ProcessStream() also apply component configuration For every Output AudioFrame time AnalyzeReverseStream() Calculate Execution Time as average for all the 10ms frames processed and analyzed. Audio Quality Voice Engine - E2E Code:run_audio_test.py third_party/webrtc/tools/e2e_qualityThis uses PulseAudio to setup virtual devices followed by comparison tool to measure the quality.This is based on VoiceEngine loopback call WebRTC Recording TimeCode: webrtc_audio_device_unittest.ccThis uses VoEMediaProcess::Process() callback to act as interceptorto audio frames at the recording path to time the recoding setup time WebRTC Playout Setup TimeThis uses VoEMediaProcess::Process() callback to act as interceptorto audio frames before playback to time the setup time WebRTC Loopback With Signal ProcessingWebRTC Loopback Without Signal ProcessingBoth the tests uses loopback call with/without APM enabled. this loopback runs for 100 AudioFrames. == Proposal" ===== "Using Talos Framework ===== "Open Questions" ==