sherpa-onnx C API 1.0
Public C API and C++ wrapper for sherpa-onnx
Loading...
Searching...
No Matches
Speaker Embedding Extraction and Management

sherpa-onnx provides speaker embedding extraction via SherpaOnnxCreateSpeakerEmbeddingExtractor() and speaker enrollment/search/verification via SherpaOnnxCreateSpeakerEmbeddingManager().

See also
SherpaOnnxCreateSpeakerEmbeddingExtractor, SherpaOnnxSpeakerEmbeddingExtractorConfig, SherpaOnnxCreateSpeakerEmbeddingManager
memset(&config, 0, sizeof(config));
config.model = "./3dspeaker_speech_campplus_sv_zh-cn_16k-common.onnx";
config.num_threads = 1;
config.provider = "cpu";
int32_t dim = SherpaOnnxSpeakerEmbeddingExtractorDim(extractor);
// Enroll a speaker
const float *embedding = /* compute from audio */;
SherpaOnnxSpeakerEmbeddingManagerAdd(manager, "alice", embedding);
// Search for a speaker
const float *query = /* compute from test audio */;
manager, query, 0.5f);
if (name) {
printf("Identified: %s\n", name);
}
const SherpaOnnxSpeakerEmbeddingExtractor * SherpaOnnxCreateSpeakerEmbeddingExtractor(const SherpaOnnxSpeakerEmbeddingExtractorConfig *config)
Create a speaker embedding extractor.
void SherpaOnnxSpeakerEmbeddingExtractorDestroyEmbedding(const float *v)
Destroy an embedding vector returned by SherpaOnnxSpeakerEmbeddingExtractorComputeEmbedding().
int32_t SherpaOnnxSpeakerEmbeddingManagerAdd(const SherpaOnnxSpeakerEmbeddingManager *p, const char *name, const float *v)
Add one enrollment embedding for a speaker.
void SherpaOnnxDestroySpeakerEmbeddingManager(const SherpaOnnxSpeakerEmbeddingManager *p)
Destroy a speaker embedding manager.
void SherpaOnnxSpeakerEmbeddingManagerFreeSearch(const char *name)
Free a string returned by SherpaOnnxSpeakerEmbeddingManagerSearch().
void SherpaOnnxDestroySpeakerEmbeddingExtractor(const SherpaOnnxSpeakerEmbeddingExtractor *p)
Destroy a speaker embedding extractor.
const char * SherpaOnnxSpeakerEmbeddingManagerSearch(const SherpaOnnxSpeakerEmbeddingManager *p, const float *v, float threshold)
Search for the best matching enrolled speaker.
const SherpaOnnxSpeakerEmbeddingManager * SherpaOnnxCreateSpeakerEmbeddingManager(int32_t dim)
Create a speaker embedding manager.
struct SherpaOnnxSpeakerEmbeddingManager SherpaOnnxSpeakerEmbeddingManager
Opaque speaker embedding manager handle.
Definition c-api.h:3204
struct SherpaOnnxSpeakerEmbeddingExtractor SherpaOnnxSpeakerEmbeddingExtractor
Opaque speaker embedding extractor handle.
Definition c-api.h:3099
int32_t SherpaOnnxSpeakerEmbeddingExtractorDim(const SherpaOnnxSpeakerEmbeddingExtractor *p)
Return the embedding dimension produced by the extractor.
Configuration for speaker embedding extraction.
Definition c-api.h:3087

Model file: 3dspeaker_speech_campplus_sv_zh-cn_16k-common.onnx

Example source: speaker-identification-c-api.c