From 5f8d11034a57b803ed4bd6e74ca6bf43be66400e Mon Sep 17 00:00:00 2001 From: Hui Zhang Date: Fri, 10 Mar 2023 07:40:55 +0000 Subject: [PATCH] fix log; add vad rtf --- runtime/engine/common/base/log_impl.cc | 30 +++++++------------ runtime/engine/common/base/log_impl.h | 2 +- .../vad/interface/vad_interface_main.cc | 7 +++++ 3 files changed, 18 insertions(+), 21 deletions(-) diff --git a/runtime/engine/common/base/log_impl.cc b/runtime/engine/common/base/log_impl.cc index 8286f1e70..ec58917d7 100644 --- a/runtime/engine/common/base/log_impl.cc +++ b/runtime/engine/common/base/log_impl.cc @@ -29,9 +29,9 @@ LogMessage::LogMessage(const char* file, bool out_to_file /* = false */) : level_(level), verbose_(verbose), out_to_file_(out_to_file) { if (FLAGS_logtostderr == 0) { - stream_ = std::shared_ptr(&std::cout); + stream_ = static_cast(&std::cout); } else if (FLAGS_logtostderr == 1) { - stream_ = std::shared_ptr(&std::cerr); + stream_ = static_cast(&std::cerr); } else if (out_to_file_) { // logfile lock_.lock(); @@ -46,7 +46,7 @@ LogMessage::~LogMessage() { lock_.unlock(); } - if (level_ == FATAL) { + if (verbose_ && level_ == FATAL) { std::abort(); } } @@ -73,30 +73,20 @@ void LogMessage::init(const char* file, int line) { std::string("log." + proc_name + ".log.FATAL." + tmp + "." + pid); } - std::ofstream ofs; + thread_local static std::ofstream ofs; if (level_ == DEBUG) { - stream_ = std::make_shared( - s_debug_logfile_.c_str(), std::ios::out | std::ios::app); - // ofs.open(s_debug_logfile_.c_str(), std::ios::out | std::ios::app); + ofs.open(s_debug_logfile_.c_str(), std::ios::out | std::ios::app); } else if (level_ == INFO) { - // ofs.open(s_warning_logfile_.c_str(), std::ios::out | std::ios::app); - stream_ = std::make_shared( - s_warning_logfile_.c_str(), std::ios::out | std::ios::app); + ofs.open(s_info_logfile_.c_str(), std::ios::out | std::ios::app); } else if (level_ == WARNING) { - // ofs.open(s_warning_logfile_.c_str(), std::ios::out | std::ios::app); - stream_ = std::make_shared( - s_warning_logfile_.c_str(), std::ios::out | std::ios::app); + ofs.open(s_warning_logfile_.c_str(), std::ios::out | std::ios::app); } else if (level_ == ERROR) { - // ofs.open(s_error_logfile_.c_str(), std::ios::out | std::ios::app); - stream_ = std::make_shared( - s_error_logfile_.c_str(), std::ios::out | std::ios::app); + ofs.open(s_error_logfile_.c_str(), std::ios::out | std::ios::app); } else { - // ofs.open(s_fatal_logfile_.c_str(), std::ios::out | std::ios::app); - stream_ = std::make_shared( - s_fatal_logfile_.c_str(), std::ios::out | std::ios::app); + ofs.open(s_fatal_logfile_.c_str(), std::ios::out | std::ios::app); } - // stream_ = &ofs; + stream_ = &ofs; stream() << tmp << " " << file << " line " << line << "; "; stream() << std::flush; diff --git a/runtime/engine/common/base/log_impl.h b/runtime/engine/common/base/log_impl.h index 535007b1a..10a6bfe30 100644 --- a/runtime/engine/common/base/log_impl.h +++ b/runtime/engine/common/base/log_impl.h @@ -67,7 +67,7 @@ class LogMessage { void init(const char* file, int line); private: - std::shared_ptr stream_; + std::ostream* stream_; Severity level_; bool verbose_; bool out_to_file_; diff --git a/runtime/engine/vad/interface/vad_interface_main.cc b/runtime/engine/vad/interface/vad_interface_main.cc index a7ff1afa0..16059c41f 100644 --- a/runtime/engine/vad/interface/vad_interface_main.cc +++ b/runtime/engine/vad/interface/vad_interface_main.cc @@ -16,6 +16,7 @@ #include #include +#include "common/base/common.h" #include "vad/frontend/wav.h" #include "vad/interface/vad_interface.h" @@ -35,6 +36,8 @@ int main(int argc, char* argv[]) { std::vector inputWav; // [0, 1] wav::WavReader wav_reader = wav::WavReader(audio_file); + auto sr = wav_reader.sample_rate(); + CHECK(sr == 16000) << " sr is " << sr << " expect 16000"; auto num_samples = wav_reader.num_samples(); inputWav.resize(num_samples); @@ -42,6 +45,7 @@ int main(int argc, char* argv[]) { inputWav[i] = wav_reader.data()[i] / 32768; } + ppspeech::Timer timer; int window_size_samples = PPSVadChunkSizeSamples(handle); for (int64_t j = 0; j < num_samples; j += window_size_samples) { auto start = j; @@ -58,6 +62,9 @@ int main(int argc, char* argv[]) { } std::cout << std::endl; + std::cout << "RTF=" << timer.Elapsed() / double(num_samples / sr) + << std::endl; + PPSVadReset(handle); return 0;