Add C++ example for streaming ASR with SenseVoice. (#2199)

This commit is contained in:
Fangjun Kuang
2025-05-11 00:23:32 +08:00
committed by GitHub
parent fc2121c307
commit 028b8f2718
16 changed files with 514 additions and 60 deletions

View File

@@ -44,8 +44,8 @@ int32_t main() {
config.model_config.num_threads = 1;
std::cout << "Loading model\n";
OnlineRecognizer recongizer = OnlineRecognizer::Create(config);
if (!recongizer.Get()) {
OnlineRecognizer recognizer = OnlineRecognizer::Create(config);
if (!recognizer.Get()) {
std::cerr << "Please check your config\n";
return -1;
}
@@ -63,16 +63,16 @@ int32_t main() {
std::cout << "Start recognition\n";
const auto begin = std::chrono::steady_clock::now();
OnlineStream stream = recongizer.CreateStream();
OnlineStream stream = recognizer.CreateStream();
stream.AcceptWaveform(wave.sample_rate, wave.samples.data(),
wave.samples.size());
stream.InputFinished();
while (recongizer.IsReady(&stream)) {
recongizer.Decode(&stream);
while (recognizer.IsReady(&stream)) {
recognizer.Decode(&stream);
}
OnlineRecognizerResult result = recongizer.GetResult(&stream);
OnlineRecognizerResult result = recognizer.GetResult(&stream);
const auto end = std::chrono::steady_clock::now();
const float elapsed_seconds =