diff options
Diffstat (limited to 'tensorflow/core/lib/wav/wav_io_test.cc')
-rw-r--r-- | tensorflow/core/lib/wav/wav_io_test.cc | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/tensorflow/core/lib/wav/wav_io_test.cc b/tensorflow/core/lib/wav/wav_io_test.cc index e54b9445ab..40ddd94abe 100644 --- a/tensorflow/core/lib/wav/wav_io_test.cc +++ b/tensorflow/core/lib/wav/wav_io_test.cc @@ -97,5 +97,63 @@ TEST(WavIO, EncodeThenDecode) { } } +TEST(WavIO, BasicMono) { + std::vector<uint8> wav_data = { + 'R', 'I', 'F', 'F', // ChunkID + 44, 0, 0, 0, // ChunkSize: 36 + SubChunk2Size + 'W', 'A', 'V', 'E', // Format + 'f', 'm', 't', ' ', // Subchunk1ID + 16, 0, 0, 0, // Subchunk1Size + 1, 0, // AudioFormat: 1=PCM + 1, 0, // NumChannels + 0x44, 0xac, 0, 0, // SampleRate: 44100 + 0x88, 0x58, 0x1, 0, // BytesPerSecond: SampleRate * NumChannels * + // BitsPerSample/8 + 2, 0, // BytesPerSample: NumChannels * BitsPerSample/8 + 16, 0, // BitsPerSample + 'd', 'a', 't', 'a', // Subchunk2ID + 8, 0, 0, 0, // Subchunk2Size: NumSamples * NumChannels * + // BitsPerSample/8 + 0, 0, // Sample 1: 0 + 0xff, 0x7f, // Sample 2: 32767 (saturated) + 0, 0, // Sample 3: 0 + 0x00, 0x80, // Sample 4: -32768 (saturated) + }; + string expected(wav_data.begin(), wav_data.end()); + float audio[] = {0.0f, 1.0f, 0.0f, -1.0f}; + string result; + TF_EXPECT_OK(EncodeAudioAsS16LEWav(audio, 44100, 1, 4, &result)); + EXPECT_EQ(expected, result); +} + +TEST(WavIO, BasicStereo) { + std::vector<uint8> wav_data = { + 'R', 'I', 'F', 'F', // ChunkID + 44, 0, 0, 0, // ChunkSize: 36 + SubChunk2Size + 'W', 'A', 'V', 'E', // Format + 'f', 'm', 't', ' ', // Subchunk1ID + 16, 0, 0, 0, // Subchunk1Size + 1, 0, // AudioFormat: 1=PCM + 2, 0, // NumChannels + 0x44, 0xac, 0, 0, // SampleRate: 44100 + 0x10, 0xb1, 0x2, 0, // BytesPerSecond: SampleRate * NumChannels * + // BitsPerSample/8 + 4, 0, // BytesPerSample: NumChannels * BitsPerSample/8 + 16, 0, // BitsPerSample + 'd', 'a', 't', 'a', // Subchunk2ID + 8, 0, 0, 0, // Subchunk2Size: NumSamples * NumChannels * + // BitsPerSample/8 + 0, 0, // Sample 1: 0 + 0xff, 0x7f, // Sample 2: 32767 (saturated) + 0, 0, // Sample 3: 0 + 0x00, 0x80, // Sample 4: -32768 (saturated) + }; + string expected(wav_data.begin(), wav_data.end()); + float audio[] = {0.0f, 1.0f, 0.0f, -1.0f}; + string result; + TF_EXPECT_OK(EncodeAudioAsS16LEWav(audio, 44100, 2, 2, &result)); + EXPECT_EQ(expected, result); +} + } // namespace wav } // namespace tensorflow |