Skip to content

Commit 2653704

Browse files
authored
Merge pull request lovemefan#64 from Ivy233/develop
新增导出识别结果到文件。
2 parents 0c0f68d + 47bde76 commit 2653704

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

examples/zcr_main/main.cc

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ struct sense_voice_params {
4242
std::string openvino_encode_device = "CPU";
4343
std::vector<std::string> fname_inp = {};
4444
std::vector<std::string> fname_out = {};
45+
std::string outfile = "";
4546
};
4647

4748
static int sense_voice_has_coreml(void) {
@@ -107,6 +108,7 @@ static void sense_voice_print_usage(int /*argc*/, char **argv, const sense_voice
107108
fprintf(stderr, " -ng, --no-gpu [%-7s] disable GPU\n", params.use_gpu ? "false" : "true");
108109
fprintf(stderr, " -fa, --flash-attn [%-7s] flash attention\n", params.flash_attn ? "true" : "false");
109110
fprintf(stderr, " -itn, --use-itn [%-7s] use itn\n", params.use_itn ? "true" : "false");
111+
fprintf(stderr, " -fout --outfile [%s] output file path\n", params.outfile.c_str());
110112
fprintf(stderr, " --chunk_size [%-7lu] vad chunk size(ms)\n", params.chunk_size);
111113
fprintf(stderr, " -mmc --min-mute-chunks [%-7lu] When consecutive chunks are identified as silence\n", params.min_mute_chunks);
112114
fprintf(stderr, " -mnc --max-nomute-chunks [%-7lu] when the first non-silent chunk is too far away\n", params.max_nomute_chunks);
@@ -166,7 +168,7 @@ static bool sense_voice_params_parse(int argc, char **argv, sense_voice_params &
166168
} else if (arg == "-of" || arg == "--output-file") {
167169
params.fname_out.emplace_back(argv[++i]);
168170
} else if (arg == "-np" || arg == "--no-prints") {
169-
params.no_prints = false;
171+
params.no_prints = true;
170172
} else if (arg == "-l" || arg == "--language") {
171173
params.language = sense_voice_param_turn_lowercase(argv[++i]);
172174
} else if (arg == "--prompt") {
@@ -195,6 +197,8 @@ static bool sense_voice_params_parse(int argc, char **argv, sense_voice_params &
195197
params.max_batch = std::stoi(argv[++i]);
196198
} else if (arg == "--chunk_size") {
197199
params.chunk_size = std::stoi(argv[++i]);
200+
} else if (arg == "--outfile" || arg == "-fout") {
201+
params.outfile = argv[++i];
198202
} else {
199203
fprintf(stderr, "error: unknown argument: %s\n", arg.c_str());
200204
sense_voice_print_usage(argc, argv, params);
@@ -385,6 +389,11 @@ int main(int argc, char **argv) {
385389
exit(0);
386390
}
387391

392+
if (!params.outfile.empty()) {
393+
freopen(params.outfile.c_str(), "w", stdout);
394+
params.use_prefix = false;
395+
}
396+
388397
// sense-voice init
389398

390399
struct sense_voice_context_params cparams = sense_voice_context_default_params();

sense-voice/csrc/sense-voice.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -808,11 +808,11 @@ int sense_voice_batch_pcm_to_feature_with_state(struct sense_voice_context *ctx,
808808
state->feature.frame_size,
809809
state->feature.frame_step,
810810
state->feature.n_mel,
811-
n_threads, true, cmvn, state->feature);
811+
n_threads, false, cmvn, state->feature);
812812
state->feature.input_data.insert(state->feature.input_data.end(), state->feature.data.begin(), state->feature.data.end());
813813
}
814814

815-
state->t_feature_us = ggml_time_us() - t_start_us;
815+
state->t_feature_us += ggml_time_us() - t_start_us;
816816

817817
// set input
818818
{

0 commit comments

Comments
 (0)