Commit Graph

32 Commits

Author SHA1 Message Date
ee30082af8 Set correct sample rate in far_frame in audioproc tool.
One debug recording with non matching sample rates between render and capture revealed a bug in modules/audio_processing/test/process_test.cc
The far_frame (render audio frame) used was loaded with the capture rate instead of the render rate with a data length mismatch error as result.

BUG=N/A
TESTED=manually on linux
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7695 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-13 11:00:10 +00:00
a3ed713dad Add a WavReader counterpart to WavWriter.
Don't bother with a C interface as we currently have no need to call
this from C code. The first use will be in the audioproc tool.

R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7585 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-31 21:51:03 +00:00
634c926928 audioproc: Now also writes to output file in simulation mode
After changing to use wav as default file format no output was written in simulation mode.

BUG=3359
TESTED=locally
R=aluebs@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7286 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-24 12:21:51 +00:00
021e76fd39 Add support for WAV output in audioproc
The default output is a WAV file, except if the --pcm_output flag is set.

BUG=webrtc:3359
R=bjornv@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7069 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-04 18:12:00 +00:00
74cf916924 Fix issues in audioproc for float aecdumps
* The right buffer size is used to dump to file when the output sample rate is different from the input one.
* The percentage of processed chunks is calculated correctly when float data available.

BUG=webrtc:3359
R=bjornv@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7036 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-03 11:05:01 +00:00
9825afc3bd Add ExperimentalNs support in Config
R=andrew@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6567 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-30 17:39:53 +00:00
84f8ec1f9c Changes to tests and tools in audio_processing.
- Disables ApmTest.EchoCancellationReportsCorrectDelays
This test relys completely on the structure of how reported system delays are handled in AEC. In addition it assumes a fix setup of delay logging buffers. This test should be refactored.

- Adds flag to turn off reported_delay in audioproc
Now it is feasible to turn on and off the use of reported system delays.

BUG=N/A
R=aluebs@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6492 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-19 12:14:33 +00:00
8f69330310 Replace scoped_array<T> with scoped_ptr<T[]>.
scoped_array is deprecated. This was done using a Chromium clang tool:
http://src.chromium.org/viewvc/chrome/trunk/src/tools/clang/rewrite_scoped_ar...

except for the few not-built-on-Linux files which were updated manually.

TESTED=trybots
BUG=2515
R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5985 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-25 23:10:28 +00:00
ddbb8a2c24 Support arbitrary input/output rates and downmixing in AudioProcessing.
Select "processing" rates based on the input and output sampling rates.
Resample the input streams to those rates, and if necessary to the
output rate.

- Remove deprecated stream format APIs.
- Remove deprecated device sample rate APIs.
- Add a ChannelBuffer class to help manage deinterleaved channels.
- Clean up the splitting filter state.
- Add a unit test which verifies the output against known-working
native format output.

BUG=2894
R=aluebs@webrtc.org, bjornv@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5959 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-22 21:00:04 +00:00
b13a7d5b1c Don't disable experimental AGC in audioproc.
R=aluebs@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5798 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-27 00:11:11 +00:00
a8b97373d5 Add tests and modify tools for new float deinterleaved interface.
- Add an Initialize() overload to allow specification of format
parameters. This is mainly useful for testing, but could be used in
the cases where a consumer knows the format before the streams arrive.
- Add a reverse_sample_rate_hz_ parameter to prepare for mismatched
capture and render rates. There is no functional change as it is
currently constrained to match the capture rate.
- Fix a bug in the float dump: we need to use add_ rather than set_.
- Add a debug dump test for both int and float interfaces.
- Enable unpacking of float dumps.
- Enable audioproc to read float dumps.
- Move more shared functionality to test_utils.h, and generally tidy up
a bit by consolidating repeated code.

BUG=2894
TESTED=Verified that the output produced by the float debug dump test is
correct. Processed the resulting debug dump file with audioproc and
ensured that we get identical output. (This is crucial, as we need to
be able to exactly reproduce online results offline.)

R=aluebs@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5676 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-10 22:26:12 +00:00
bc1d22461b Add experimental noise suppression flag to audioproc test
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5608 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-25 16:50:22 +00:00
6a94734d4d Adds back set_sample_rate_hz() when Init is called in recordings.
Recordings that had a AnalyzeReverseStream() call prior to ProcessStream() where aborted due to sample rates being set upon call by ProcessStream(). That change was done in r5346.
Before we have a smarter handling on how to set sample rate automatically, this CL adds back that setting.

BUG=
TESTED=trybots, modules_unittests
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5394 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-16 08:41:09 +00:00
60730cfe3c Remove the requirement to call set_sample_rate_hz and friends.
Instead have ProcessStream transparently handle changes to the stream
audio parameters (sample rate and channels). This removes two locks
per 10 ms ProcessStream call taken by VoiceEngine (four total with the
audio level indicator.)

Also, prepare future improvements by having the splitting filter take
a length parameter. This will allow it to work at different sample
rates. Remove the useless splitting_filter wrapper.

TESTED=voe_cmd_test with audio processing enabled and switching between
codecs; unit tests.

R=aluebs@webrtc.org, bjornv@webrtc.org, turaj@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5346 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-07 17:45:09 +00:00
22858d4785 Add an extended filter option to audioproc.
R=bjornv@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5024 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-23 14:07:17 +00:00
ca764ab22d Add a parameter to audioproc for overriding the delay.
Rename the parameter for adding to the input delay to "add_delay".

R=bjornv@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4939 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-07 16:44:32 +00:00
f3930e941c Small refactoring of AudioProcessing use in channel.cc.
- Apply consistent naming.
- Use a scoped_ptr for rx_audioproc_.
- Remove now unnecessary AudioProcessing::Destroy().

R=bjornv@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4784 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-18 22:37:32 +00:00
8c34ceeef1 Include "gtest/gtest.h", not by full path, on WEBRTC_ANDROID_PLATFORM_BUILD
BUG=
TBR=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4119 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-28 09:24:03 +00:00
7fad4b8c9f Include files from webrtc/.. paths in audio_processing/
BUG=1662
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4116 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-28 08:11:59 +00:00
dff69c56b0 Add AEC suppression level option to audioproc.
TBR=bjornv

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3927 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-30 23:01:09 +00:00
1acb3b33bc Add comfort noise disabling and routing mode selection to audioproc.
TBR=bjornv

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3907 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-26 00:39:27 +00:00
b7192b8247 WebRtc_Word32 -> int32_t in audio_processing/
BUG=314

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3809 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-10 07:50:54 +00:00
6be1e934ad Properly error check calls to AudioProcessing.
Checks must be made with "!= 0", not "== -1". Additionally:
* Clean up the function calling into AudioProcessing.
* Remove the unused _noiseWarning.
* Make the other warnings bool.

BUG=chromium:178040

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3590 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-01 18:47:28 +00:00
00ab7cf4fd Fix perf output for audioproc and iSAC fixed-point tests
The measurement and trace entries had been mixed up in the calls to webrtc::test::PrintResult, resulting in the plotted graphs were named after the metric. The parameter names are quite confusing which probably led to this.

BUG=none
TEST=none

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3496 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-11 12:33:03 +00:00
bafdae3cfc Fix simulated analog gain in audioproc.
* It doesn't make much sense to apply at all when reading from the protobuf.
* Reduced the gain to be closer to actual mics.

BUG=1260

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3366 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-11 23:11:29 +00:00
10abe25f6d Make audioproc output files be written to output dir by default.
This makes the following files be written into the output dir instead of
the current working dir:
* out.pcm
* vad_out.dat
* ns_prob.dat

TEST=out/Debug/audioproc -aecm -ns -agc --fixed_digital --perf -pb
resources/audioproc.aecdump
All trybots passing.
BUG=none

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3302 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-17 18:28:07 +00:00
0e739508e0 Added buildbot benchmarking in iSAC and APM into Android platform build.
Review URL: https://webrtc-codereview.appspot.com/964022

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3247 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-07 15:26:28 +00:00
b43502e388 Revert 3170 - Added performance benchmarking in APM and iSAC-fix for Buildbots.
Review URL: https://webrtc-codereview.appspot.com/929022

TBR=kma@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/969009

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3172 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-26 23:57:38 +00:00
4cd8f1f182 Added performance benchmarking in APM and iSAC-fix for Buildbots.
Review URL: https://webrtc-codereview.appspot.com/929022

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3170 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-26 22:02:47 +00:00
8186534111 Only reinitialize AudioProcessing when needed.
This takes away the burden from the user, resulting in cleaner code.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3010 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-27 00:28:27 +00:00
534e495df0 Qickly fixed android platform build breakage
TBR=ajm
Review URL: https://webrtc-codereview.appspot.com/920006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2966 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-22 21:21:52 +00:00
14b43beb7c Move src/ -> webrtc/
TBR=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2963 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-22 18:19:23 +00:00