From 9e0b95ecf943d81634847f36cc30c5efbfc32165 Mon Sep 17 00:00:00 2001 From: nick huang Date: Wed, 18 Mar 2026 05:57:28 +0800 Subject: [PATCH] finalize project by adding recogniztionduration --- compile.txt | 2 ++ doubao_mic.cpp | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/compile.txt b/compile.txt index 05b362271..0ba4efe4b 100644 --- a/compile.txt +++ b/compile.txt @@ -6,6 +6,8 @@ g++ -O3 minimal_mic.cpp \ g++ -O3 doubao_mic.cpp -I. -I./include -I./ggml/include -I./examples ./build_gpu/src/libwhisper.so -L/usr/local/cuda/lib64 -lcudart -lcublas -lportaudio -lpthread -ldl -lm -lrt -o doubao_mic.exe +g++ -std=c++17 -O3 doubao_mic.cpp -I. -I./include -I./ggml/include -I./examples ./build_gpu/src/libwhisper.so -L/usr/local/cuda-13.1/lib64 -lcudart -lcublas -lportaudio -lpthread -ldl -lm -lrt -o doubao_mic.exe + gpu build: # 显式指定使用 CUDA 13.1 编译 cmake -B build -DGGML_CUDA=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda-13.1/bin/nvcc diff --git a/doubao_mic.cpp b/doubao_mic.cpp index 319519e0e..1134d59e6 100644 --- a/doubao_mic.cpp +++ b/doubao_mic.cpp @@ -144,6 +144,7 @@ int main(int argc, char** argv) { { std::lock_guard lock(buffer_mutex); captured = audio_buffer; } printf("\n🔍 正在识别 (音频长度: %.2fs)...", (float)captured.size()/RecordingConfig::SAMPLE_RATE); + auto start_recognition = std::chrono::steady_clock::now(); whisper_full_params wparams = whisper_full_default_params(WHISPER_SAMPLING_GREEDY); wparams.language = "zh"; @@ -154,7 +155,8 @@ int main(int argc, char** argv) { whisper_full(ctx, wparams, captured.data(), captured.size()); int n_segments = whisper_full_n_segments(ctx); - printf("\n📝 识别结果:"); + auto elapsed = std::chrono::duration_cast(std::chrono::steady_clock::now() - start_recognition).count(); + printf("\n📝 识别结果(%.2f秒):", elapsed/1000.0f); for (int i = 0; i < n_segments; ++i) { printf("\n %s", whisper_full_get_segment_text(ctx, i)); }