aboutsummaryrefslogtreecommitdiff
path: root/data
AgeCommit message (Collapse)Author
2014-10-31Revert "Revert part of r7561, "Refactor audio conversion functions.""andrew@webrtc.org
This restores the conversion changes to AudioProcessing originally added in r7561, with minor alterations to ensure it passes all tests. TBR=kwiberg Review URL: https://webrtc-codereview.appspot.com/28899004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@7574 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-30Revert part of r7561, "Refactor audio conversion functions."kwiberg@webrtc.org
Specifically, revert this part: "Remove hacks in AudioBuffer intended to maintain bit-exactness with the float path. The conversions etc. are now all natural, and instead we enforce close but not bit-exact output between the two paths." But keep the conversion function rename, since that doesn't seem to be causing problems. R=tina.legrand@webrtc.org, bjornv@webrtc.org TBR=andrew@webrtc.org Review URL: https://webrtc-codereview.appspot.com/24999004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@7569 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-30Refactor audio conversion functions.andrew@webrtc.org
Use a consistent naming scheme that can be understood at the callsite without having to refer to documentation. Remove hacks in AudioBuffer intended to maintain bit-exactness with the float path. The conversions etc. are now all natural, and instead we enforce close but not bit-exact output between the two paths. Output of ApmTest.Process: https://paste.googleplex.com/5931055831842816 R=aluebs@webrtc.org, bjornv@webrtc.org, kwiberg@webrtc.org Review URL: https://webrtc-codereview.appspot.com/13049004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@7561 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-13Adjust speech probability in NS when echoaluebs@webrtc.org
The average speech probability for the higher band is multiplied by the quotient of the process and analyze powers, to avoid thinking that suppressed echo is speech. In order to do this both magnitudes, alanyze and process, needed to be stored. This also was used to calculate different previous STSA estimates for analyze and process. This CL was tested on two long team member recordings (bjornv and kwiberg) and the noisiest (5) recordings from the QA set. BUG=webrtc:3763 R=andrew@webrtc.org, bjornv@webrtc.org Review URL: https://webrtc-codereview.appspot.com/23799004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@7437 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-24Enable render downmixing to mono in AudioProcessing.andrew@webrtc.org
In practice, we have been doing this since time immemorial, but have relied on the user to do the downmixing (first voice engine then Chromium). It's more logical for this burden to fall on AudioProcessing, however, who can be expected to know that this is a reasonable approach for AEC. Permitting two render channels results in running two AECs serially. Critically, in my recent change to have Chromium adopt the float interface: https://codereview.chromium.org/420603004 I removed the downmixing by Chromium, forgetting that we hadn't yet enabled this feature in AudioProcessing. This corrects that oversight. The change in paths hit by production users is very minor. As commented it required adding downmixing to the int16_t path to satisfy bit-exactness tests. For reference, find the ApmTest.Process errors here: https://paste.googleplex.com/6372007910309888 BUG=webrtc:3853 TESTED=listened to the files output from the Process test, and verified that they sound as expected: higher echo while the AEC is adapting, but afterwards very close. R=aluebs@webrtc.org, bjornv@webrtc.org, kwiberg@webrtc.org Review URL: https://webrtc-codereview.appspot.com/31459004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@7292 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-24Call NS AnalyzeCaptureAudio before AECaluebs@webrtc.org
This attenuates the noise pumping generated from the NS adapting to the AEC comfort noise. When there is echo present the AEC suppresses it and adds comfort noise. This is underestimated on purpose to avoid adding more than the original background noise. The NS has to be called after the AEC, because every non-linear processing before it can ruin its performance. Therefore the noise estimation can adapt to this comfort noise, making it less aggressive and generating noise pumping. By putting the noise estimation analysis stage from the NS before the AEC, this effect can be avoided. This has been tested manually on recordings where noise pumping was present: Two long recordings done in our team by bjornv and kwiberg plus the most noisy (5) recordings in the QA set. On the other hand, one risk of doing this is to not adapt to the comfort noise and therefore suppress too much. As verified in the tested files, this is not a problem in practice. BUG=webrtc:3763 R=andrew@webrtc.org, bjornv@webrtc.org Review URL: https://webrtc-codereview.appspot.com/24679004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@7289 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-12modules/audio_processing: Updates output_data_fixed.pb test filebjornv@webrtc.org
In r6591 a shift macro was removed affecting AECM. In addition to that change a bug was fixed. The fix added a few voice_counts in ApmTest.Process. This CL updates the reference file, even though it is not used in practice since the test is currently turned off for Android (where AECM is used). BUG=3672 TESTED=locally R=andrew@webrtc.org Review URL: https://webrtc-codereview.appspot.com/14089004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@6868 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-10Noise suppression: Change signature to work on floats instead of intskwiberg@webrtc.org
Internally, it already worked on floats. This patch just changes the signature of a bunch of functions so that floats can be passed directly from the new and improved AudioBuffer without converting the data to int and back again first. (The reference data to the ApmTest.Process test had to be modified slightly; this is because the noise suppressor comes immediately after the echo canceller, which also works on floats. If I truncate to integers between the two steps, ApmTest.Process doesn't complain, but of course that's exactly the sort of thing the float conversion is supposed to let us avoid...) BUG= R=aluebs@webrtc.org, bjornv@webrtc.org, tina.legrand@webrtc.org Review URL: https://webrtc-codereview.appspot.com/13519004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@6385 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-15Revert "Revert "Audio processing: Feed each processing step its choicemflodman@webrtc.org
of int or float data" This reverts commit 6142. R=kwiberg@webrtc.org Review URL: https://webrtc-codereview.appspot.com/17519004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@6172 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-14Revert "Audio processing: Feed each processing step its choice of int or ↵mflodman@webrtc.org
float data" This reverts r6138. tbr=kwiberg@webrtc.org Review URL: https://webrtc-codereview.appspot.com/13509004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@6142 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-14Audio processing: Feed each processing step its choice of int or float datakwiberg@webrtc.org
Each audio processing step is given a pointer to an AudioBuffer, where it can read and write int data. This patch adds corresponding AudioBuffer methods to read and write float data; the buffer will automatically convert the stored data between int and float as necessary. This patch also modifies the echo cancellation step to make use of the new methods (it was already using floats internally; now it doesn't have to convert from and to ints anymore). (The reference data to the ApmTest.Process test had to be modified slightly; this is because the echo canceller no longer unnecessarily converts float data to int and then immediately back to float for each iteration in the loop in EchoCancellationImpl::ProcessCaptureAudio.) BUG= R=aluebs@webrtc.org, andrew@webrtc.org Review URL: https://webrtc-codereview.appspot.com/18399005 git-svn-id: http://webrtc.googlecode.com/svn/trunk@6138 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-05Allow the RTP level indicator computation to work at any sample rate.andrew@webrtc.org
Break out the computation to a separate class, and call directly into this from channel.cc rather than going through AudioProcessing. This circumvents AudioProcessing's sample rate limitations. We now compute the RMS over all samples rather than downmixing to a single channel. This makes the call point in channel.cc easier, is more "correct" and should have similar (negligible) complexity. This caused slight changes in the RMS output, so the ApmTest.Process reference has been updated. Snippet of the failing output: [ RUN ] ApmTest.Process Running test 4 of 12... Value of: rms_level Actual: 27 Expected: test->rms_level() Which is: 28 Running test 5 of 12... Value of: rms_level Actual: 26 Expected: test->rms_level() Which is: 27 Running test 6 of 12... Value of: rms_level Actual: 26 Expected: test->rms_level() Which is: 27 Running test 10 of 12... Value of: rms_level Actual: 27 Expected: test->rms_level() Which is: 28 Running test 11 of 12... Value of: rms_level Actual: 26 Expected: test->rms_level() Which is: 27 Running test 12 of 12... Value of: rms_level Actual: 26 Expected: test->rms_level() Which is: 27 BUG=3290 TESTED=Chrome assert is avoided and both voe_cmd_test and apprtc produce reasonable printed out results from RMS(). R=bjornv@webrtc.org Review URL: https://webrtc-codereview.appspot.com/16459004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@6056 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-13Enables robust delay validation in AEC delay logging.bjornv@webrtc.org
* Explicitly disabled robust validation in AECM. * Updated audio_processing_unittests for using robust delay validation in AEC. * Updated output_data_float.pb (not needed for Android nor fixed point, since AECM is untouched). BUG=None TESTED=modules_unittests, trybots R=aluebs@webrtc.org, andrew@webrtc.org Review URL: https://webrtc-codereview.appspot.com/6879004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@5368 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-08-20ADM no longer reads PCM files from data/audio_device. Now uses the resource ↵henrika@webrtc.org
folder instead. BUG=737 Review URL: https://webrtc-codereview.appspot.com/714012 git-svn-id: http://webrtc.googlecode.com/svn/trunk@2643 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-08-20Remove data files from data/audio_codingtina.legrand@webrtc.org
The files are already part of the resource package. TBR=andrew@webrtc.org BUG=issue737 Review URL: https://webrtc-codereview.appspot.com/724011 git-svn-id: http://webrtc.googlecode.com/svn/trunk@2642 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-07-12Added API to port internal speech probability in NS.bjornv@webrtc.org
Identical with CL652007 that's already been accepted for commit. TBR=andrew@webrtc.org BUG=None TEST=None Review URL: https://webrtc-codereview.appspot.com/670009 git-svn-id: http://webrtc.googlecode.com/svn/trunk@2511 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-05-23Move trunk/test/data -> trunk/dataandrew@webrtc.org
BUG= TEST=all trybot test failures passed locally Review URL: https://webrtc-codereview.appspot.com/583007 git-svn-id: http://webrtc.googlecode.com/svn/trunk@2280 4adac7df-926f-26a2-2b94-8c16560cd09d