Refactor C API to prefix each API with SherpaOnnx. (#1171)
This commit is contained in:
@@ -163,10 +163,11 @@ int32_t main(int32_t argc, char *argv[]) {
|
||||
}
|
||||
|
||||
const SherpaOnnxOnlineRecognizer *recognizer =
|
||||
CreateOnlineRecognizer(&config);
|
||||
const SherpaOnnxOnlineStream *stream = CreateOnlineStream(recognizer);
|
||||
SherpaOnnxCreateOnlineRecognizer(&config);
|
||||
const SherpaOnnxOnlineStream *stream =
|
||||
SherpaOnnxCreateOnlineStream(recognizer);
|
||||
|
||||
const SherpaOnnxDisplay *display = CreateDisplay(50);
|
||||
const SherpaOnnxDisplay *display = SherpaOnnxCreateDisplay(50);
|
||||
int32_t segment_id = 0;
|
||||
|
||||
const char *wav_filename = argv[context.index];
|
||||
@@ -190,52 +191,53 @@ int32_t main(int32_t argc, char *argv[]) {
|
||||
(start + N > wave->num_samples) ? wave->num_samples : (start + N);
|
||||
k += N;
|
||||
|
||||
AcceptWaveform(stream, wave->sample_rate, wave->samples + start,
|
||||
end - start);
|
||||
while (IsOnlineStreamReady(recognizer, stream)) {
|
||||
DecodeOnlineStream(recognizer, stream);
|
||||
SherpaOnnxOnlineStreamAcceptWaveform(stream, wave->sample_rate,
|
||||
wave->samples + start, end - start);
|
||||
while (SherpaOnnxIsOnlineStreamReady(recognizer, stream)) {
|
||||
SherpaOnnxDecodeOnlineStream(recognizer, stream);
|
||||
}
|
||||
|
||||
const SherpaOnnxOnlineRecognizerResult *r =
|
||||
GetOnlineStreamResult(recognizer, stream);
|
||||
SherpaOnnxGetOnlineStreamResult(recognizer, stream);
|
||||
|
||||
if (strlen(r->text)) {
|
||||
SherpaOnnxPrint(display, segment_id, r->text);
|
||||
}
|
||||
|
||||
if (IsEndpoint(recognizer, stream)) {
|
||||
if (SherpaOnnxOnlineStreamIsEndpoint(recognizer, stream)) {
|
||||
if (strlen(r->text)) {
|
||||
++segment_id;
|
||||
}
|
||||
Reset(recognizer, stream);
|
||||
SherpaOnnxOnlineStreamReset(recognizer, stream);
|
||||
}
|
||||
|
||||
DestroyOnlineRecognizerResult(r);
|
||||
SherpaOnnxDestroyOnlineRecognizerResult(r);
|
||||
}
|
||||
|
||||
// add some tail padding
|
||||
float tail_paddings[4800] = {0}; // 0.3 seconds at 16 kHz sample rate
|
||||
AcceptWaveform(stream, wave->sample_rate, tail_paddings, 4800);
|
||||
SherpaOnnxOnlineStreamAcceptWaveform(stream, wave->sample_rate, tail_paddings,
|
||||
4800);
|
||||
|
||||
SherpaOnnxFreeWave(wave);
|
||||
|
||||
InputFinished(stream);
|
||||
while (IsOnlineStreamReady(recognizer, stream)) {
|
||||
DecodeOnlineStream(recognizer, stream);
|
||||
SherpaOnnxOnlineStreamInputFinished(stream);
|
||||
while (SherpaOnnxIsOnlineStreamReady(recognizer, stream)) {
|
||||
SherpaOnnxDecodeOnlineStream(recognizer, stream);
|
||||
}
|
||||
|
||||
const SherpaOnnxOnlineRecognizerResult *r =
|
||||
GetOnlineStreamResult(recognizer, stream);
|
||||
SherpaOnnxGetOnlineStreamResult(recognizer, stream);
|
||||
|
||||
if (strlen(r->text)) {
|
||||
SherpaOnnxPrint(display, segment_id, r->text);
|
||||
}
|
||||
|
||||
DestroyOnlineRecognizerResult(r);
|
||||
SherpaOnnxDestroyOnlineRecognizerResult(r);
|
||||
|
||||
DestroyDisplay(display);
|
||||
DestroyOnlineStream(stream);
|
||||
DestroyOnlineRecognizer(recognizer);
|
||||
SherpaOnnxDestroyDisplay(display);
|
||||
SherpaOnnxDestroyOnlineStream(stream);
|
||||
SherpaOnnxDestroyOnlineRecognizer(recognizer);
|
||||
fprintf(stderr, "\n");
|
||||
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user