Hi everyone,
Last week I did an initial drop of the end to end audio test we have been discussing.
The idea is fairly simple, play a sine wave and test the audio stack by sampling/testing the sine back in via loopback cable. The app is called testfreq and is driven by a script called e2eaudiotest. It opens and configures the audio device, takes a sample and then does a discrete fourier transformation to find the frequency using the fftw3 library. The test script driver uses speaker-test to play a sine wave at A 440, which for now is the test frequency. It's still basic at this point, but it does work on my system. There is a lot of additional things I'd like to do, initial stack configuration, passing in the device, passing the test frequency, doing more auto detection, clean up the code, etc, but I wanted to start getting feedback. Any and all would be appreciated.
Have a look, and if you have a loopback cable, give it a spin:
http://git.linaro.org/gitweb?p=people/kurt-r-taylor/e2eaudiotest.git
You can also read more about it and check my progress here:
https://blueprints.launchpad.net/linaro-multimedia-project/+spec/linaro-mmwg...
Enjoy!
On 28 November 2011 20:01, Kurt Taylor kurt.taylor@linaro.org wrote:
Hi everyone,
Last week I did an initial drop of the end to end audio test we have been discussing.
The idea is fairly simple, play a sine wave and test the audio stack by sampling/testing the sine back in via loopback cable. The app is called testfreq and is driven by a script called e2eaudiotest. It opens and configures the audio device, takes a sample and then does a discrete fourier transformation to find the frequency using the fftw3 library. The test script driver uses speaker-test to play a sine wave at A 440, which for now is the test frequency. It's still basic at this point, but it does work on my system. There is a lot of additional things I'd like to do, initial stack configuration, passing in the device, passing the test frequency, doing more auto detection, clean up the code, etc, but I wanted to start getting feedback. Any and all would be appreciated.
Have a look, and if you have a loopback cable, give it a spin:
http://git.linaro.org/gitweb?p=people/kurt-r-taylor/e2eaudiotest.git
You can also read more about it and check my progress here:
https://blueprints.launchpad.net/linaro-multimedia-project/+spec/linaro-mmwg...
Looks pretty good for a low level test. I'm not sure how well it'll work with Android. Would you be able to put together an Android App that used MediaPlayer and MediaRecorder to accomplish the same thing?
It should like this test may be a good candidate for kernel regression testing.
Enjoy!
--
Kurt Taylor (irc krtaylor) Linaro Multimedia Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog
On 11/29/2011 10:34 AM, Somebody in the thread at some point said:
On 28 November 2011 20:01, Kurt Taylorkurt.taylor@linaro.org wrote:
Hi everyone,
Last week I did an initial drop of the end to end audio test we have been discussing.
The idea is fairly simple, play a sine wave and test the audio stack by sampling/testing the sine back in via loopback cable. The app is called testfreq and is driven by a script called e2eaudiotest. It opens and configures the audio device, takes a sample and then does a discrete fourier transformation to find the frequency using the fftw3 library. The test script driver uses speaker-test to play a sine wave at A 440, which for now is the test frequency. It's still basic at this point, but it does work on my system. There is a lot of additional things I'd like to do, initial stack configuration, passing in the device, passing the test frequency, doing more auto detection, clean up the code, etc, but I wanted to start getting feedback. Any and all would be appreciated.
Have a look, and if you have a loopback cable, give it a spin:
http://git.linaro.org/gitweb?p=people/kurt-r-taylor/e2eaudiotest.git
You can also read more about it and check my progress here:
https://blueprints.launchpad.net/linaro-multimedia-project/+spec/linaro-mmwg...
Looks pretty good for a low level test. I'm not sure how well it'll work with Android. Would you be able to put together an Android App that used MediaPlayer and MediaRecorder to accomplish the same thing?
Vishal was using mutant Android forms of aplay and arec when getting audio up initially on Panda... subsequently I saw a friend doing simultaneous record and play using the same tools. It's alsa under the covers afaics.
Kurt did you try this on Panda yet?
-Andy
Neat, thanks for doing this! Ricardo and I just had a meeting today about the regression/sanity test suite for Ubuntu LEBs, and this should definitely be one of the tests in it.
Thanks, Paul Larson
On Mon, Nov 28, 2011 at 8:01 PM, Kurt Taylor kurt.taylor@linaro.org wrote:
Hi everyone,
Last week I did an initial drop of the end to end audio test we have been discussing.
The idea is fairly simple, play a sine wave and test the audio stack by sampling/testing the sine back in via loopback cable. The app is called testfreq and is driven by a script called e2eaudiotest. It opens and configures the audio device, takes a sample and then does a discrete fourier transformation to find the frequency using the fftw3 library. The test script driver uses speaker-test to play a sine wave at A 440, which for now is the test frequency. It's still basic at this point, but it does work on my system. There is a lot of additional things I'd like to do, initial stack configuration, passing in the device, passing the test frequency, doing more auto detection, clean up the code, etc, but I wanted to start getting feedback. Any and all would be appreciated.
Have a look, and if you have a loopback cable, give it a spin:
http://git.linaro.org/gitweb?p=people/kurt-r-taylor/e2eaudiotest.git
You can also read more about it and check my progress here:
https://blueprints.launchpad.net/linaro-multimedia-project/+spec/linaro-mmwg...
Enjoy!
--
Kurt Taylor (irc krtaylor) Linaro Multimedia Linaro.org http://www.linaro.org/* **│ *Open source software for ARM SoCs Follow *Linaro: *Facebook http://www.facebook.com/pages/Linaro | Twitterhttp://twitter.com/#%21/linaroorg| Blog http://www.linaro.org/linaro-blog/
linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
Cool! Kurt, thanks for publishing such a useful tool; you will have made many people who test Gumstix Overos happy that they don't have to listen to inane audio samples each time a board is tested.
-Ash
On Mon, Nov 28, 2011 at 6:01 PM, Kurt Taylor kurt.taylor@linaro.org wrote:
Hi everyone,
Last week I did an initial drop of the end to end audio test we have been discussing.
The idea is fairly simple, play a sine wave and test the audio stack by sampling/testing the sine back in via loopback cable. The app is called testfreq and is driven by a script called e2eaudiotest. It opens and configures the audio device, takes a sample and then does a discrete fourier transformation to find the frequency using the fftw3 library. The test script driver uses speaker-test to play a sine wave at A 440, which for now is the test frequency. It's still basic at this point, but it does work on my system. There is a lot of additional things I'd like to do, initial stack configuration, passing in the device, passing the test frequency, doing more auto detection, clean up the code, etc, but I wanted to start getting feedback. Any and all would be appreciated.
Have a look, and if you have a loopback cable, give it a spin:
http://git.linaro.org/gitweb?p=people/kurt-r-taylor/e2eaudiotest.git
You can also read more about it and check my progress here:
https://blueprints.launchpad.net/linaro-multimedia-project/+spec/linaro-mmwg...
Enjoy!
--
Kurt Taylor (irc krtaylor) Linaro Multimedia Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog
linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
On 29 November 2011 07:31, Kurt Taylor kurt.taylor@linaro.org wrote:
Hi everyone,
Last week I did an initial drop of the end to end audio test we have been discussing.
The idea is fairly simple, play a sine wave and test the audio stack by sampling/testing the sine back in via loopback cable. The app is called testfreq and is driven by a script called e2eaudiotest. It opens and configures the audio device, takes a sample and then does a discrete fourier transformation to find the frequency using the fftw3 library. The test script driver uses speaker-test to play a sine wave at A 440, which for now is the test frequency. It's still basic at this point, but it does work on my system. There is a lot of additional things I'd like to do, initial stack configuration, passing in the device, passing the test frequency, doing more auto detection, clean up the code, etc, but I wanted to start getting feedback. Any and all would be appreciated.
Have a look, and if you have a loopback cable, give it a spin:
http://git.linaro.org/gitweb?p=people/kurt-r-taylor/e2eaudiotest.git
You can also read more about it and check my progress here:
https://blueprints.launchpad.net/linaro-multimedia-project/+spec/linaro-mmwg...
Great job!
Though, how bad is the idea of separating out stream capture from DFT analysis part ? That could make testing simpler by just 'piping' in the captured data real-time or from a recorded file using standard apps like 'arecord' or some android app.
cheers! -jassi
On Mon, Nov 28, 2011 at 08:01:01PM -0600, Kurt Taylor wrote:
The idea is fairly simple, play a sine wave and test the audio stack by sampling/testing the sine back in via loopback cable. The app is called testfreq and is driven by a script called e2eaudiotest. It opens and
Might be worth looking at the similar loopback test that Lennart did to measure the accuracy or otherwise of the dB info provided for volume controls.