Loading audio/aidl/vts/EffectHelper.h +13 −4 Original line number Diff line number Diff line Loading @@ -429,19 +429,28 @@ class EffectHelper { } } // Generate multitone input between -1 to +1 using testFrequencies void generateMultiTone(const std::vector<int>& testFrequencies, std::vector<float>& input, const int samplingFrequency) { // Generate multitone input between -amplitude to +amplitude using testFrequencies // All test frequencies are considered having the same amplitude void generateSineWave(const std::vector<int>& testFrequencies, std::vector<float>& input, const float amplitude = 1.0, const int samplingFrequency = kSamplingFrequency) { for (size_t i = 0; i < input.size(); i++) { input[i] = 0; for (size_t j = 0; j < testFrequencies.size(); j++) { input[i] += sin(2 * M_PI * testFrequencies[j] * i / samplingFrequency); } input[i] /= testFrequencies.size(); input[i] *= amplitude / testFrequencies.size(); } } // Generate single tone input between -amplitude to +amplitude using testFrequency void generateSineWave(const int testFrequency, std::vector<float>& input, const float amplitude = 1.0, const int samplingFrequency = kSamplingFrequency) { generateSineWave(std::vector<int>{testFrequency}, input, amplitude, samplingFrequency); } // Use FFT transform to convert the buffer to frequency domain // Compute its magnitude at binOffsets std::vector<float> calculateMagnitude(const std::vector<float>& buffer, Loading audio/aidl/vts/VtsHalBassBoostTargetTest.cpp +2 −13 Original line number Diff line number Diff line Loading @@ -187,18 +187,6 @@ class BassBoostDataTest : public ::testing::TestWithParam<BassBoostDataTestParam } } // Generate multitone input between -1 to +1 using testFrequencies void generateMultiTone(const std::vector<int>& testFrequencies, std::vector<float>& input) { for (auto i = 0; i < kInputSize; i++) { input[i] = 0; for (size_t j = 0; j < testFrequencies.size(); j++) { input[i] += sin(2 * M_PI * testFrequencies[j] * i / kSamplingFrequency); } input[i] /= testFrequencies.size(); } } // Use FFT transform to convert the buffer to frequency domain // Compute its magnitude at binOffsets std::vector<float> calculateMagnitude(const std::vector<float>& buffer, Loading Loading @@ -251,7 +239,8 @@ TEST_P(BassBoostDataTest, IncreasingStrength) { roundToFreqCenteredToFftBin(testFrequencies, binOffsets); generateMultiTone(testFrequencies, input); // Generate multitone input generateSineWave(testFrequencies, input); inputMag = calculateMagnitude(input, binOffsets); Loading audio/aidl/vts/VtsHalEnvironmentalReverbTargetTest.cpp +5 −10 Original line number Diff line number Diff line Loading @@ -224,12 +224,6 @@ class EnvironmentalReverbHelper : public EffectHelper { output.size()); } void generateSineWaveInput(std::vector<float>& input) { int frequency = 1000; for (size_t i = 0; i < input.size(); i++) { input[i] = sin(2 * M_PI * frequency * i / kSamplingFrequency); } } using Maker = EnvironmentalReverb (*)(int); static constexpr std::array<Maker, static_cast<int>(EnvironmentalReverb::bypass) + 1> Loading Loading @@ -287,6 +281,7 @@ class EnvironmentalReverbHelper : public EffectHelper { static constexpr int kDurationMilliSec = 500; static constexpr int kBufferSize = kSamplingFrequency * kDurationMilliSec / 1000; static constexpr int kInputFrequency = 1000; int mStereoChannelCount = getChannelCount(AudioChannelLayout::make<AudioChannelLayout::layoutMask>( Loading Loading @@ -349,7 +344,7 @@ class EnvironmentalReverbDataTest : EnvironmentalReverbHelper(std::get<DESCRIPTOR_INDEX>(GetParam())) { std::tie(mTag, mParamValues) = std::get<TAG_VALUE_PAIR>(GetParam()); mInput.resize(kBufferSize); generateSineWaveInput(mInput); generateSineWave(kInputFrequency, mInput); } void SetUp() override { SKIP_TEST_IF_DATA_UNSUPPORTED(mDescriptor.common.flags); Loading Loading @@ -439,7 +434,7 @@ class EnvironmentalReverbMinimumParamTest TEST_P(EnvironmentalReverbMinimumParamTest, MinimumValueTest) { std::vector<float> input(kBufferSize); generateSineWaveInput(input); generateSineWave(kInputFrequency, input); std::vector<float> output(kBufferSize); setParameterAndProcess(input, output, mValue, mTag); float energy = computeOutputEnergy(input, output); Loading Loading @@ -475,7 +470,7 @@ class EnvironmentalReverbDiffusionTest : EnvironmentalReverbHelper(std::get<DESCRIPTOR_INDEX>(GetParam())) { std::tie(mTag, mParamValues) = std::get<TAG_VALUE_PAIR>(GetParam()); mInput.resize(kBufferSize); generateSineWaveInput(mInput); generateSineWave(kInputFrequency, mInput); } void SetUp() override { SKIP_TEST_IF_DATA_UNSUPPORTED(mDescriptor.common.flags); Loading Loading @@ -554,7 +549,7 @@ class EnvironmentalReverbDensityTest if (mIsInputMute) { std::fill(mInput.begin(), mInput.end(), 0); } else { generateSineWaveInput(mInput); generateSineWave(kInputFrequency, mInput); } } void SetUp() override { Loading audio/aidl/vts/VtsHalPresetReverbTargetTest.cpp +2 −8 Original line number Diff line number Diff line Loading @@ -132,7 +132,8 @@ class PresetReverbProcessTest : public ::testing::TestWithParam<PresetReverbProc public: PresetReverbProcessTest() { std::tie(mFactory, mDescriptor) = GetParam(); generateSineWaveInput(); mInput.resize(kBufferSize); generateSineWave(1000 /*Input Frequency*/, mInput); } void SetUp() override { Loading @@ -144,13 +145,6 @@ class PresetReverbProcessTest : public ::testing::TestWithParam<PresetReverbProc ASSERT_NO_FATAL_FAILURE(TearDownPresetReverb()); } void generateSineWaveInput() { int frequency = 1000; for (size_t i = 0; i < kBufferSize; i++) { mInput.push_back(sin(2 * M_PI * frequency * i / kSamplingFrequency)); } } bool isAuxiliary() { return mDescriptor.common.flags.type == aidl::android::hardware::audio::effect::Flags::Type::AUXILIARY; Loading audio/aidl/vts/VtsHalVirtualizerTargetTest.cpp +1 −4 Original line number Diff line number Diff line Loading @@ -163,10 +163,7 @@ class VirtualizerProcessTest : public ::testing::TestWithParam<VirtualizerProces if (mZeroInput) { std::fill(buffer.begin(), buffer.end(), 0); } else { int frequency = 100; for (size_t i = 0; i < buffer.size(); i++) { buffer[i] = sin(2 * M_PI * frequency * i / kSamplingFrequency); } generateSineWave(1000 /*Input Frequency*/, buffer); } } Loading Loading
audio/aidl/vts/EffectHelper.h +13 −4 Original line number Diff line number Diff line Loading @@ -429,19 +429,28 @@ class EffectHelper { } } // Generate multitone input between -1 to +1 using testFrequencies void generateMultiTone(const std::vector<int>& testFrequencies, std::vector<float>& input, const int samplingFrequency) { // Generate multitone input between -amplitude to +amplitude using testFrequencies // All test frequencies are considered having the same amplitude void generateSineWave(const std::vector<int>& testFrequencies, std::vector<float>& input, const float amplitude = 1.0, const int samplingFrequency = kSamplingFrequency) { for (size_t i = 0; i < input.size(); i++) { input[i] = 0; for (size_t j = 0; j < testFrequencies.size(); j++) { input[i] += sin(2 * M_PI * testFrequencies[j] * i / samplingFrequency); } input[i] /= testFrequencies.size(); input[i] *= amplitude / testFrequencies.size(); } } // Generate single tone input between -amplitude to +amplitude using testFrequency void generateSineWave(const int testFrequency, std::vector<float>& input, const float amplitude = 1.0, const int samplingFrequency = kSamplingFrequency) { generateSineWave(std::vector<int>{testFrequency}, input, amplitude, samplingFrequency); } // Use FFT transform to convert the buffer to frequency domain // Compute its magnitude at binOffsets std::vector<float> calculateMagnitude(const std::vector<float>& buffer, Loading
audio/aidl/vts/VtsHalBassBoostTargetTest.cpp +2 −13 Original line number Diff line number Diff line Loading @@ -187,18 +187,6 @@ class BassBoostDataTest : public ::testing::TestWithParam<BassBoostDataTestParam } } // Generate multitone input between -1 to +1 using testFrequencies void generateMultiTone(const std::vector<int>& testFrequencies, std::vector<float>& input) { for (auto i = 0; i < kInputSize; i++) { input[i] = 0; for (size_t j = 0; j < testFrequencies.size(); j++) { input[i] += sin(2 * M_PI * testFrequencies[j] * i / kSamplingFrequency); } input[i] /= testFrequencies.size(); } } // Use FFT transform to convert the buffer to frequency domain // Compute its magnitude at binOffsets std::vector<float> calculateMagnitude(const std::vector<float>& buffer, Loading Loading @@ -251,7 +239,8 @@ TEST_P(BassBoostDataTest, IncreasingStrength) { roundToFreqCenteredToFftBin(testFrequencies, binOffsets); generateMultiTone(testFrequencies, input); // Generate multitone input generateSineWave(testFrequencies, input); inputMag = calculateMagnitude(input, binOffsets); Loading
audio/aidl/vts/VtsHalEnvironmentalReverbTargetTest.cpp +5 −10 Original line number Diff line number Diff line Loading @@ -224,12 +224,6 @@ class EnvironmentalReverbHelper : public EffectHelper { output.size()); } void generateSineWaveInput(std::vector<float>& input) { int frequency = 1000; for (size_t i = 0; i < input.size(); i++) { input[i] = sin(2 * M_PI * frequency * i / kSamplingFrequency); } } using Maker = EnvironmentalReverb (*)(int); static constexpr std::array<Maker, static_cast<int>(EnvironmentalReverb::bypass) + 1> Loading Loading @@ -287,6 +281,7 @@ class EnvironmentalReverbHelper : public EffectHelper { static constexpr int kDurationMilliSec = 500; static constexpr int kBufferSize = kSamplingFrequency * kDurationMilliSec / 1000; static constexpr int kInputFrequency = 1000; int mStereoChannelCount = getChannelCount(AudioChannelLayout::make<AudioChannelLayout::layoutMask>( Loading Loading @@ -349,7 +344,7 @@ class EnvironmentalReverbDataTest : EnvironmentalReverbHelper(std::get<DESCRIPTOR_INDEX>(GetParam())) { std::tie(mTag, mParamValues) = std::get<TAG_VALUE_PAIR>(GetParam()); mInput.resize(kBufferSize); generateSineWaveInput(mInput); generateSineWave(kInputFrequency, mInput); } void SetUp() override { SKIP_TEST_IF_DATA_UNSUPPORTED(mDescriptor.common.flags); Loading Loading @@ -439,7 +434,7 @@ class EnvironmentalReverbMinimumParamTest TEST_P(EnvironmentalReverbMinimumParamTest, MinimumValueTest) { std::vector<float> input(kBufferSize); generateSineWaveInput(input); generateSineWave(kInputFrequency, input); std::vector<float> output(kBufferSize); setParameterAndProcess(input, output, mValue, mTag); float energy = computeOutputEnergy(input, output); Loading Loading @@ -475,7 +470,7 @@ class EnvironmentalReverbDiffusionTest : EnvironmentalReverbHelper(std::get<DESCRIPTOR_INDEX>(GetParam())) { std::tie(mTag, mParamValues) = std::get<TAG_VALUE_PAIR>(GetParam()); mInput.resize(kBufferSize); generateSineWaveInput(mInput); generateSineWave(kInputFrequency, mInput); } void SetUp() override { SKIP_TEST_IF_DATA_UNSUPPORTED(mDescriptor.common.flags); Loading Loading @@ -554,7 +549,7 @@ class EnvironmentalReverbDensityTest if (mIsInputMute) { std::fill(mInput.begin(), mInput.end(), 0); } else { generateSineWaveInput(mInput); generateSineWave(kInputFrequency, mInput); } } void SetUp() override { Loading
audio/aidl/vts/VtsHalPresetReverbTargetTest.cpp +2 −8 Original line number Diff line number Diff line Loading @@ -132,7 +132,8 @@ class PresetReverbProcessTest : public ::testing::TestWithParam<PresetReverbProc public: PresetReverbProcessTest() { std::tie(mFactory, mDescriptor) = GetParam(); generateSineWaveInput(); mInput.resize(kBufferSize); generateSineWave(1000 /*Input Frequency*/, mInput); } void SetUp() override { Loading @@ -144,13 +145,6 @@ class PresetReverbProcessTest : public ::testing::TestWithParam<PresetReverbProc ASSERT_NO_FATAL_FAILURE(TearDownPresetReverb()); } void generateSineWaveInput() { int frequency = 1000; for (size_t i = 0; i < kBufferSize; i++) { mInput.push_back(sin(2 * M_PI * frequency * i / kSamplingFrequency)); } } bool isAuxiliary() { return mDescriptor.common.flags.type == aidl::android::hardware::audio::effect::Flags::Type::AUXILIARY; Loading
audio/aidl/vts/VtsHalVirtualizerTargetTest.cpp +1 −4 Original line number Diff line number Diff line Loading @@ -163,10 +163,7 @@ class VirtualizerProcessTest : public ::testing::TestWithParam<VirtualizerProces if (mZeroInput) { std::fill(buffer.begin(), buffer.end(), 0); } else { int frequency = 100; for (size_t i = 0; i < buffer.size(); i++) { buffer[i] = sin(2 * M_PI * frequency * i / kSamplingFrequency); } generateSineWave(1000 /*Input Frequency*/, buffer); } } Loading