RNN VAD: clean-up unit tests
- add test that checks that the computed VAD probability is within
tolerance *1
- speed-up some tests by reducing the input length and skipping frames
- remove unused code in test_utils
- fix some comments
*1: RnnVadTest::RnnBitExactness is replaced by
RnnVadTest::RnnVadProbabilityWithinTolerance
Bug: webrtc:10480
Change-Id: I19332d06eacffbbe671bf7749ff4c92798bdc55c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133910
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27803}
This commit is contained in:
committed by
Commit Bot
parent
fc02a793c2
commit
c0c7d36e80
@ -46,13 +46,6 @@ void ExpectNearAbsolute(rtc::ArrayView<const float> expected,
|
||||
}
|
||||
}
|
||||
|
||||
std::unique_ptr<BinaryFileReader<float>> CreatePitchSearchTestDataReader() {
|
||||
constexpr size_t cols = 1396;
|
||||
return absl::make_unique<BinaryFileReader<float>>(
|
||||
ResourcePath("audio_processing/agc2/rnn_vad/pitch_search_int", "dat"),
|
||||
cols);
|
||||
}
|
||||
|
||||
std::pair<std::unique_ptr<BinaryFileReader<int16_t, float>>, const size_t>
|
||||
CreatePcmSamplesReader(const size_t frame_length) {
|
||||
auto ptr = absl::make_unique<BinaryFileReader<int16_t, float>>(
|
||||
@ -78,25 +71,6 @@ ReaderPairType CreateLpResidualAndPitchPeriodGainReader() {
|
||||
rtc::CheckedDivExact(ptr->data_length(), 2 + num_lp_residual_coeffs)};
|
||||
}
|
||||
|
||||
ReaderPairType CreateFftCoeffsReader() {
|
||||
constexpr size_t num_fft_points = 481;
|
||||
constexpr size_t row_size = 2 * num_fft_points; // Real and imaginary values.
|
||||
auto ptr = absl::make_unique<BinaryFileReader<float>>(
|
||||
test::ResourcePath("audio_processing/agc2/rnn_vad/fft", "dat"),
|
||||
num_fft_points);
|
||||
return {std::move(ptr), rtc::CheckedDivExact(ptr->data_length(), row_size)};
|
||||
}
|
||||
|
||||
ReaderPairType CreateSilenceFlagsFeatureMatrixReader() {
|
||||
constexpr size_t feature_vector_size = 42;
|
||||
auto ptr = absl::make_unique<BinaryFileReader<float>>(
|
||||
test::ResourcePath("audio_processing/agc2/rnn_vad/sil_features", "dat"),
|
||||
feature_vector_size);
|
||||
// Features and silence flag.
|
||||
return {std::move(ptr),
|
||||
rtc::CheckedDivExact(ptr->data_length(), feature_vector_size + 1)};
|
||||
}
|
||||
|
||||
ReaderPairType CreateVadProbsReader() {
|
||||
auto ptr = absl::make_unique<BinaryFileReader<float>>(
|
||||
test::ResourcePath("audio_processing/agc2/rnn_vad/vad_prob", "dat"));
|
||||
@ -104,23 +78,26 @@ ReaderPairType CreateVadProbsReader() {
|
||||
}
|
||||
|
||||
PitchTestData::PitchTestData() {
|
||||
auto test_data_reader = CreatePitchSearchTestDataReader();
|
||||
test_data_reader->ReadChunk(test_data_);
|
||||
BinaryFileReader<float> test_data_reader(
|
||||
ResourcePath("audio_processing/agc2/rnn_vad/pitch_search_int", "dat"),
|
||||
static_cast<size_t>(1396));
|
||||
test_data_reader.ReadChunk(test_data_);
|
||||
}
|
||||
|
||||
PitchTestData::~PitchTestData() = default;
|
||||
|
||||
rtc::ArrayView<const float, kBufSize24kHz> PitchTestData::GetPitchBufView() {
|
||||
rtc::ArrayView<const float, kBufSize24kHz> PitchTestData::GetPitchBufView()
|
||||
const {
|
||||
return {test_data_.data(), kBufSize24kHz};
|
||||
}
|
||||
|
||||
rtc::ArrayView<const float, kNumPitchBufSquareEnergies>
|
||||
PitchTestData::GetPitchBufSquareEnergiesView() {
|
||||
PitchTestData::GetPitchBufSquareEnergiesView() const {
|
||||
return {test_data_.data() + kBufSize24kHz, kNumPitchBufSquareEnergies};
|
||||
}
|
||||
|
||||
rtc::ArrayView<const float, kNumPitchBufAutoCorrCoeffs>
|
||||
PitchTestData::GetPitchBufAutoCorrCoeffsView() {
|
||||
PitchTestData::GetPitchBufAutoCorrCoeffsView() const {
|
||||
return {test_data_.data() + kBufSize24kHz + kNumPitchBufSquareEnergies,
|
||||
kNumPitchBufAutoCorrCoeffs};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user