New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 645666 link

Starred by 3 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocked on:
issue 558863



Sign in to add a comment

Chameleon: Add 10 min playback test for audio artifacts

Project Member Reported by cychiang@chromium.org, Sep 9 2016

Issue description

Extends audio_AudioArtifacts test so it can test playback for 10 min and examine artifacts.
 
Blockedon: 558863
I have two CLs ready
remote:   https://chromium-review.googlesource.com/383995 [autotest] audio_test_data: Add url and duration_secs attributes
remote:   https://chromium-review.googlesource.com/383996 [autotest] audio_AudioArtifacts: add control file for 10 min playback

However, this is blocked by  issue 558863  now.
I found that there is another blocker to this test.
The peak detection algorithm _peak_detection in audio_analysis module has bad performance.
It takes more than 20 minutes to analyze a 1 minute recorded audio.
I will check what takes so long.
https://chromium-review.googlesource.com/385079 fixed the peak detection performance issue.

However, I found that on Chameleon we can only use 370 MB, not 1GB of /tmp/ file.

That means, we can only support around 4 minutes.
Also, if we use all the space, any subsequent call to XMLRPC server will fail.

So I think we can first record 3 minutes.

Then, I will modify the chameleon side so we only dump and save two channel of data, that way, we can support 12 minutes.

Project Member

Comment 4 by bugdroid1@chromium.org, Oct 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/f04dea8f1aa5a7972b07c327cf43fff2aa3e4880

commit f04dea8f1aa5a7972b07c327cf43fff2aa3e4880
Author: Cheng-Yi Chiang <cychiang@chromium.org>
Date: Fri Sep 09 22:42:29 2016

[autotest] audio_test_data: Add url and duration_secs attributes

Add duration_secs for AudioTestData and FakeTestData.
Add url for FakeTestData.

duration_secs can help test determine how long to sleep for recording.
url in FakeTestData can let test play the file in browser using
brower_facade.

BUG=chromium:645666
TEST=not used yet.

Change-Id: Icbf3fc1d07c11e9e8fcc31b500cc8471b77d23de
Reviewed-on: https://chromium-review.googlesource.com/383995
Commit-Ready: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Reviewed-by: Wai-Hong Tam <waihong@google.com>

[modify] https://crrev.com/f04dea8f1aa5a7972b07c327cf43fff2aa3e4880/client/cros/audio/audio_test_data.py

Project Member

Comment 5 by bugdroid1@chromium.org, Oct 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/222e571f4ce5d4b46eb23527f5b2c1e7433b6f2f

commit 222e571f4ce5d4b46eb23527f5b2c1e7433b6f2f
Author: Cheng-Yi Chiang <cychiang@chromium.org>
Date: Fri Sep 09 22:48:37 2016

[autotest] audio_AudioArtifacts: add control file for 150s playback

Modify the test so it can support golden file served on web.
Add debug message in audio_analysis because spectral analysis takes some
time for long data.

BUG=chromium:645666
TEST=run audio_AudioArtifacts.headphone.150s test on samus.

Change-Id: I7707f6665ec030dd41bac35d969e2440c8239f13
Reviewed-on: https://chromium-review.googlesource.com/383996
Commit-Ready: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Reviewed-by: Cheng-Yi Chiang <cychiang@chromium.org>

[add] https://crrev.com/222e571f4ce5d4b46eb23527f5b2c1e7433b6f2f/server/site_tests/audio_AudioArtifacts/control.headphone.150s
[modify] https://crrev.com/222e571f4ce5d4b46eb23527f5b2c1e7433b6f2f/server/site_tests/audio_AudioArtifacts/audio_AudioArtifacts.py
[modify] https://crrev.com/222e571f4ce5d4b46eb23527f5b2c1e7433b6f2f/client/cros/audio/audio_analysis.py

Project Member

Comment 6 by bugdroid1@chromium.org, Oct 11 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/47ab82af074d76fc390f1b088118c6d48776ced6

commit 47ab82af074d76fc390f1b088118c6d48776ced6
Author: Cheng-Yi Chiang <cychiang@chromium.org>
Date: Tue Sep 13 21:24:53 2016

[autotest] audio_analysis: Improve peak detection

The peak detection algorithm was poorly written so the performance was
really bad. It took more than 20 minutes to finish analysis of 60
seconds data.
Improve the algorithm to speed up peak detection.
Also, add the logging format in unittest to check the timestamp.

BUG=chromium:645666
TEST=run audio_analysis_unittest and see the improvement in comparison
with dummy implementation.
  ./client/cros/audio/audio_analysis_unittest.py
  SpectralAnalysisTest.testPeakDetectionLarge
  2016-09-14 08:51:21,328 - root - DEBUG - Test large array using dummy
  peak detection
  2016-09-14 08:51:22,516 - root - DEBUG - Test large array using improved
  peak detection
  2016-09-14 08:51:22,944 - root - DEBUG - Compare the result
  .
  ----------------------------------------------------------------------
  Ran 1 test in 1.631s

  The dummy implementation took 1.2 seconds, while improved
  implementation took 0.4 seconds.

Change-Id: I019eb7271dd68ddd11751df60748b6841d9bcb12
Reviewed-on: https://chromium-review.googlesource.com/385079
Commit-Ready: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Reviewed-by: Wai-Hong Tam <waihong@google.com>

[modify] https://crrev.com/47ab82af074d76fc390f1b088118c6d48776ced6/client/cros/audio/audio_analysis_unittest.py
[modify] https://crrev.com/47ab82af074d76fc390f1b088118c6d48776ced6/client/cros/audio/audio_analysis.py

I have added audio_artifacts label to chromeos9-audiobox5-host2


http://cautotest/afe/#tab_id=view_host&object_id=6120

After the ebuild CL https://chromium-review.googlesource.com/#/c/403770/
we should see audio_AudioArtifacts.headphone.150s result on chromeos9-audiobox5-host2.

Thanks!
Project Member

Comment 8 by bugdroid1@chromium.org, Oct 28 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/6d38cfa0ed86484f02179f46d1e97ff66e72dd9b

commit 6d38cfa0ed86484f02179f46d1e97ff66e72dd9b
Author: Cheng-Yi Chiang <cychiang@chromium.org>
Date: Thu Oct 27 08:57:06 2016

autotest-server-tests: Add audio_AudioArtifacts to ebuild

We can enable this test in the lab.

BUG=chromium:645666
TEST=None

Change-Id: Ie41fdc7ab03421eb4a86b08f2c483b801fd1cf43
Reviewed-on: https://chromium-review.googlesource.com/403770
Commit-Ready: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Reviewed-by: Chinyue Chen <chinyue@chromium.org>

[modify] https://crrev.com/6d38cfa0ed86484f02179f46d1e97ff66e72dd9b/chromeos-base/autotest-server-tests/autotest-server-tests-9999.ebuild

I have added audio_artifacts label to chromeos9-audiobox5-host2 using atest command.

http://cautotest/afe/#tab_id=view_host&object_id=6120

But I am not sure why it was not scheduled.

I have submitted a test job from autotest frontend.

http://cautotest/afe/#tab_id=view_job&object_id=83532690

But it remains in "Queued" status for over 10 minutes.

Hi Kalin, do you know what might be wrong in the setting ?

Or, maybe we should remove "audio_artifacts" label from the test control file ?
Now the test records for 150 seconds, and do analysis for about 15 minutes, I guess it should be fine to run on all board nightly ?

Thanks!
Not sure about scheduling the test job. I see some latency in other tests runs lately.

Yes, lets add suite:chameleon_audio_nightly and suite:chameleon_audio.
Project Member

Comment 11 by bugdroid1@chromium.org, Nov 9 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/460858fc43c330f5f8fa2e1ced628dd2017d03bf

commit 460858fc43c330f5f8fa2e1ced628dd2017d03bf
Author: Cheng-Yi Chiang <cychiang@chromium.org>
Date: Tue Nov 01 00:56:04 2016

audio_AudioArtifacts: Remove audio_artifacts label

Since the test record duration is reduced to 150s, the total execution
time will be about 15 minutes. It should be fine to run on all boards
nightly.

BUG=chromium:645666
TEST=None

Change-Id: Ic07f9e97e4c347463d5984eef1263347c9b57a8f
Reviewed-on: https://chromium-review.googlesource.com/405311
Commit-Ready: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Reviewed-by: Wai-Hong Tam <waihong@google.com>

[modify] https://crrev.com/460858fc43c330f5f8fa2e1ced628dd2017d03bf/server/site_tests/audio_AudioArtifacts/control.headphone.150s

Project Member

Comment 12 by bugdroid1@chromium.org, Dec 19 2016

Labels: merge-merged-factory-reef-8811.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/2a397dcaef4bc255c16c0324cc1c18949d8eec1b

commit 2a397dcaef4bc255c16c0324cc1c18949d8eec1b
Author: Cheng-Yi Chiang <cychiang@chromium.org>
Date: Tue Sep 13 21:24:53 2016

[autotest] audio_analysis: Improve peak detection

The peak detection algorithm was poorly written so the performance was
really bad. It took more than 20 minutes to finish analysis of 60
seconds data.
Improve the algorithm to speed up peak detection.
Also, add the logging format in unittest to check the timestamp.

BUG=chromium:645666
TEST=run audio_analysis_unittest and see the improvement in comparison
with dummy implementation.
  ./client/cros/audio/audio_analysis_unittest.py
  SpectralAnalysisTest.testPeakDetectionLarge
  2016-09-14 08:51:21,328 - root - DEBUG - Test large array using dummy
  peak detection
  2016-09-14 08:51:22,516 - root - DEBUG - Test large array using improved
  peak detection
  2016-09-14 08:51:22,944 - root - DEBUG - Compare the result
  .
  ----------------------------------------------------------------------
  Ran 1 test in 1.631s

  The dummy implementation took 1.2 seconds, while improved
  implementation took 0.4 seconds.

Change-Id: I019eb7271dd68ddd11751df60748b6841d9bcb12
Reviewed-on: https://chromium-review.googlesource.com/385079
Commit-Ready: Cheng-Yi Chiang <cychiang@chromium.org>
Tested-by: Cheng-Yi Chiang <cychiang@chromium.org>
Reviewed-by: Wai-Hong Tam <waihong@google.com>
(cherry picked from commit 47ab82af074d76fc390f1b088118c6d48776ced6)
Reviewed-on: https://chromium-review.googlesource.com/422123
Reviewed-by: Ting Shen <phoenixshen@chromium.org>
Commit-Queue: Ting Shen <phoenixshen@chromium.org>
Tested-by: Ting Shen <phoenixshen@chromium.org>

[modify] https://crrev.com/2a397dcaef4bc255c16c0324cc1c18949d8eec1b/client/cros/audio/audio_analysis_unittest.py
[modify] https://crrev.com/2a397dcaef4bc255c16c0324cc1c18949d8eec1b/client/cros/audio/audio_analysis.py

You started fixing this bug over two years ago. Are you still working on it? You can update the status to "archived", "wontfix", or "closed". You can remove yourself as owner and change status to "untriaged", but if this is still a real bug, please do not sit on it.

Sign in to add a comment