diff --git a/demos/TTSArmLinux/src/Predictor.hpp b/demos/TTSArmLinux/src/Predictor.hpp index 765d859be..6d4926fff 100644 --- a/demos/TTSArmLinux/src/Predictor.hpp +++ b/demos/TTSArmLinux/src/Predictor.hpp @@ -150,6 +150,10 @@ public: return wav_; } + int GetWavSize() { + return wav_.size() * sizeof(float); + } + void ReleaseWav() { wav_.clear(); } @@ -188,7 +192,7 @@ public: // 写入头信息 WavHeader header; header.size = sizeof(header) - 8; - header.data_size = wav_.size() * sizeof(float); + header.data_size = GetWavSize(); header.byte_rate = header.sample_rate * header.num_channels * header.bits_per_sample / 8; header.block_align = header.num_channels * header.bits_per_sample / 8; fout.write(reinterpret_cast(&header), sizeof(header)); diff --git a/demos/TTSArmLinux/src/main.cc b/demos/TTSArmLinux/src/main.cc index 4068cb0b9..ceb76358f 100644 --- a/demos/TTSArmLinux/src/main.cc +++ b/demos/TTSArmLinux/src/main.cc @@ -60,7 +60,8 @@ int main(int argc, char *argv[]) { return -1; } - std::cout << "Inference time: " << predictor.GetInferenceTime() << "ms, WAV size: " << predictor.GetWav().size() << std::endl; + std::cout << "Inference time: " << predictor.GetInferenceTime() << " ms, " + << "WAV size (without header): " << predictor.GetWavSize() << " bytes" << std::endl; if (!predictor.WriteWavToFile(outputWavPath)) { std::cerr << "write wav file failed" << std::endl;