sherpa-onnx C API 1.0
Public C API and C++ wrapper for sherpa-onnx
Loading...
Searching...
No Matches
Punctuation Restoration

sherpa-onnx supports both offline and online punctuation restoration.

See also
SherpaOnnxCreateOfflinePunctuation, SherpaOnnxCreateOnlinePunctuation

Offline Punctuation

Offline punctuation processes the entire input text at once using a CT-Transformer model.

memset(&config, 0, sizeof(config));
"./sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12-int8/model.int8.onnx";
config.model.num_threads = 1;
config.model.provider = "cpu";
const char *result = SherpaOfflinePunctuationAddPunct(
punct, "how are you i am fine thank you");
printf("%s\n", result);
const char * SherpaOfflinePunctuationAddPunct(const SherpaOnnxOfflinePunctuation *punct, const char *text)
Add punctuation to a complete input text.
void SherpaOfflinePunctuationFreeText(const char *text)
Free a string returned by SherpaOfflinePunctuationAddPunct().
void SherpaOnnxDestroyOfflinePunctuation(const SherpaOnnxOfflinePunctuation *punct)
Destroy an offline punctuation processor.
struct SherpaOnnxOfflinePunctuation SherpaOnnxOfflinePunctuation
Opaque offline punctuation handle.
Definition c-api.h:3597
const SherpaOnnxOfflinePunctuation * SherpaOnnxCreateOfflinePunctuation(const SherpaOnnxOfflinePunctuationConfig *config)
Create an offline punctuation processor.
Configuration for offline punctuation.
Definition c-api.h:3591
SherpaOnnxOfflinePunctuationModelConfig model
Definition c-api.h:3593

Model package: sherpa-onnx-punct-ct-transformer-zh-en-vocab272727-2024-04-12-int8

Example source: add-punctuation-c-api.c

Online Punctuation

Online punctuation processes text incrementally using a CNN-BiLSTM model.

memset(&config, 0, sizeof(config));
config.model.cnn_bilstm =
"./sherpa-onnx-online-punct-en-2024-08-06/model.int8.onnx";
config.model.bpe_vocab =
"./sherpa-onnx-online-punct-en-2024-08-06/bpe.vocab";
config.model.num_threads = 1;
config.model.provider = "cpu";
punct, "how are you i am fine thank you");
printf("%s\n", out);
const char * SherpaOnnxOnlinePunctuationAddPunct(const SherpaOnnxOnlinePunctuation *punctuation, const char *text)
Add punctuation to one text chunk using the online punctuation model.
void SherpaOnnxOnlinePunctuationFreeText(const char *text)
Free a string returned by SherpaOnnxOnlinePunctuationAddPunct().
const SherpaOnnxOnlinePunctuation * SherpaOnnxCreateOnlinePunctuation(const SherpaOnnxOnlinePunctuationConfig *config)
Create an online punctuation processor.
struct SherpaOnnxOnlinePunctuation SherpaOnnxOnlinePunctuation
Opaque online punctuation handle.
Definition c-api.h:3674
void SherpaOnnxDestroyOnlinePunctuation(const SherpaOnnxOnlinePunctuation *punctuation)
Destroy an online punctuation processor.
Configuration for online punctuation.
Definition c-api.h:3668
SherpaOnnxOnlinePunctuationModelConfig model
Definition c-api.h:3670

Model package: sherpa-onnx-online-punct-en-2024-08-06

Example source: add-punctuation-online-c-api.c