sherpa-onnx C API 1.0
Public C API and C++ wrapper for sherpa-onnx
Loading...
Searching...
No Matches
cxx-api.h
Go to the documentation of this file.
1// sherpa-onnx/c-api/cxx-api.h
2//
3// Copyright (c) 2024 Xiaomi Corporation
44#ifndef SHERPA_ONNX_C_API_CXX_API_H_
45#define SHERPA_ONNX_C_API_CXX_API_H_
46
47#include <functional>
48#include <memory>
49#include <string>
50#include <unordered_map>
51#include <vector>
52
54
56
57// ============================================================================
58// Streaming ASR
59// ============================================================================
63 std::string encoder;
65 std::string decoder;
67 std::string joiner;
68};
69
73 std::string encoder;
75 std::string decoder;
76};
77
81 std::string model;
82};
83
87 std::string model;
88};
89
93 std::string model;
94};
95
150
154 int32_t sample_rate = 16000;
156 int32_t feature_dim = 80;
157};
158
162 std::string graph;
164 int32_t max_active = 3000;
165};
166
170 std::string dict_dir;
172 std::string lexicon;
174 std::string rule_fsts;
175};
176
244
248 std::string text;
250 std::vector<std::string> tokens;
252 std::vector<float> timestamps;
254 std::string json;
255};
256
258struct Wave {
260 std::vector<float> samples;
262 int32_t sample_rate = 0;
263};
264
273SHERPA_ONNX_API Wave ReadWave(const std::string &filename);
274
282SHERPA_ONNX_API bool WriteWave(const std::string &filename, const Wave &wave);
283
290template <typename Derived, typename T>
292 public:
294 MoveOnly() = default;
296 explicit MoveOnly(const T *p) : p_(p) {}
297
299 ~MoveOnly() { Destroy(); }
300
301 MoveOnly(const MoveOnly &) = delete;
302
303 MoveOnly &operator=(const MoveOnly &) = delete;
304
305 MoveOnly(MoveOnly &&other) : p_(other.Release()) {}
306
308 if (&other == this) {
309 return *this;
310 }
311
312 Destroy();
313
314 p_ = other.Release();
315
316 return *this;
317 }
318
320 const T *Get() const { return p_; }
321
323 const T *Release() {
324 const T *p = p_;
325 p_ = nullptr;
326 return p;
327 }
328
329 private:
330 void Destroy() {
331 if (p_ == nullptr) {
332 return;
333 }
334
335 static_cast<Derived *>(this)->Destroy(p_);
336
337 p_ = nullptr;
338 }
339
340 protected:
341 const T *p_ = nullptr;
342};
343
345 : public MoveOnly<OnlineStream, SherpaOnnxOnlineStream> {
346 public:
349
351 void AcceptWaveform(int32_t sample_rate, const float *samples,
352 int32_t n) const;
353
355 void InputFinished() const;
356
358 void SetOption(const char *key, const char *value) const;
360 const char *GetOption(const char *key) const;
362 int32_t HasOption(const char *key) const;
363
365 void Destroy(const SherpaOnnxOnlineStream *p) const;
366};
367
386 : public MoveOnly<OnlineRecognizer, SherpaOnnxOnlineRecognizer> {
387 public:
390
393
396
398 OnlineStream CreateStream(const std::string &hotwords) const;
399
401 bool IsReady(const OnlineStream *s) const;
402
404 void Decode(const OnlineStream *s) const;
405
407 void Decode(const OnlineStream *ss, int32_t n) const;
408
411
413 void Reset(const OnlineStream *s) const;
414
416 bool IsEndpoint(const OnlineStream *s) const;
417
418 private:
420};
421
422// ============================================================================
423// Non-streaming ASR
424// ============================================================================
428 std::string encoder;
430 std::string decoder;
432 std::string joiner;
433};
434
438 std::string model;
439};
440
444 std::string model;
445};
446
450 std::string encoder;
452 std::string decoder;
454 std::string language;
456 std::string task = "transcribe";
458 int32_t tail_paddings = -1;
463};
464
468 std::string encoder;
470 std::string decoder;
472 std::string src_lang;
474 std::string tgt_lang;
476 bool use_pnc = true;
477};
478
482 std::string encoder;
484 std::string decoder;
486 std::string language;
488 bool use_punct = true;
490 bool use_itn = true;
491};
492
496 std::string encoder;
498 std::string decoder;
499};
500
504 std::string model;
505};
506
510 std::string model;
511};
512
516 std::string model;
518 std::string language;
520 bool use_itn = false;
521};
522
526 std::string model;
527};
528
532 std::string model;
533};
534
538 std::string model;
539};
540
546
550 std::string model;
551};
552
556 std::string preprocessor;
558 std::string encoder;
560 std::string uncached_decoder;
562 std::string cached_decoder;
564 std::string merged_decoder;
565};
566
570 std::string encoder_adaptor;
572 std::string llm;
574 std::string embedding;
576 std::string tokenizer;
578 std::string system_prompt = "You are a helpful assistant.";
580 std::string user_prompt = "语音转写:";
582 int32_t max_new_tokens = 512;
584 float temperature = 1e-6f;
586 float top_p = 0.8f;
588 int32_t seed = 42;
590 std::string language;
592 bool itn = true;
594 std::string hotwords;
595};
596
600 std::string conv_frontend;
602 std::string encoder;
604 std::string decoder;
606 std::string tokenizer;
609 std::string hotwords;
611 int32_t max_total_len = 512;
613 int32_t max_new_tokens = 128;
615 float temperature = 1e-6f;
617 float top_p = 0.8f;
619 int32_t seed = 42;
620};
621
683
687 std::string model;
689 float scale = 1.0;
690};
691
751
755 std::string text;
757 std::vector<float> timestamps;
759 std::vector<std::string> tokens;
761 std::string json;
763 std::string lang;
765 std::string emotion;
767 std::string event;
768
770 std::vector<float> durations;
771};
772
775 : public MoveOnly<OfflineStream, SherpaOnnxOfflineStream> {
776 public:
779
781 void AcceptWaveform(int32_t sample_rate, const float *samples,
782 int32_t n) const;
783
785 void SetOption(const char *key, const char *value) const;
787 const char *GetOption(const char *key) const;
789 int32_t HasOption(const char *key) const;
790
792 void Destroy(const SherpaOnnxOfflineStream *p) const;
793};
794
802 : public MoveOnly<OfflineRecognizer, SherpaOnnxOfflineRecognizer> {
803 public:
806
809
812
814 OfflineStream CreateStream(const std::string &hotwords) const;
815
817 void Decode(const OfflineStream *s) const;
818
820 void Decode(const OfflineStream *ss, int32_t n) const;
821
824
831 std::shared_ptr<OfflineRecognizerResult> GetResultPtr(
832 const OfflineStream *s) const;
833
835 void SetConfig(const OfflineRecognizerConfig &config) const;
836
837 private:
839};
840
841// ============================================================================
842// Non-streaming TTS
843// ============================================================================
847 std::string model;
849 std::string lexicon;
851 std::string tokens;
853 std::string data_dir;
855 std::string dict_dir;
856
858 float noise_scale = 0.667;
860 float noise_scale_w = 0.8;
862 float length_scale = 1.0;
863};
864
868 std::string acoustic_model;
870 std::string vocoder;
872 std::string lexicon;
874 std::string tokens;
876 std::string data_dir;
878 std::string dict_dir;
879
881 float noise_scale = 0.667;
883 float length_scale = 1.0;
884};
885
889 std::string model;
891 std::string voices;
893 std::string tokens;
895 std::string data_dir;
897 std::string dict_dir;
899 std::string lexicon;
901 std::string lang;
902
904 float length_scale = 1.0;
905};
906
910 std::string model;
912 std::string voices;
914 std::string tokens;
916 std::string data_dir;
917
919 float length_scale = 1.0;
920};
921
925 std::string tokens;
927 std::string encoder;
929 std::string decoder;
931 std::string vocoder;
933 std::string data_dir;
935 std::string lexicon;
936
938 float feat_scale = 0.1;
940 float t_shift = 0.5;
942 float target_rms = 0.1;
944 float guidance_scale = 1.0;
945};
946
950 std::string lm_flow;
952 std::string lm_main;
954 std::string encoder;
956 std::string decoder;
958 std::string text_conditioner;
959
961 std::string vocab_json;
963 std::string token_scores_json;
966};
967
973 std::string text_encoder;
975 std::string vector_estimator;
977 std::string vocoder;
979 std::string tts_json;
981 std::string unicode_indexer;
983 std::string voice_style;
984};
985
1015
1019 float silence_scale = 0.2;
1021 float speed = 1.0;
1023 int32_t sid = 0;
1025 std::vector<float> reference_audio;
1029 std::string reference_text;
1031 int32_t num_steps = 5;
1032
1034 std::unordered_map<std::string, std::string> extra;
1035};
1036
1050
1054 std::vector<float> samples;
1056 int32_t sample_rate = 0;
1057};
1058
1064using OfflineTtsCallback = int32_t (*)(const float *samples,
1065 int32_t num_samples, float progress,
1066 void *arg);
1067
1092 : public MoveOnly<OfflineTts, SherpaOnnxOfflineTts> {
1093 public:
1095 static OfflineTts Create(const OfflineTtsConfig &config);
1096
1098 void Destroy(const SherpaOnnxOfflineTts *p) const;
1099
1101 int32_t SampleRate() const;
1102
1104 int32_t NumSpeakers() const;
1105
1112 GeneratedAudio Generate(const std::string &text, int32_t sid = 0,
1113 float speed = 1.0,
1114 OfflineTtsCallback callback = nullptr,
1115 void *arg = nullptr) const;
1116
1118 GeneratedAudio Generate(const std::string &text,
1119 const GenerationConfig &config,
1120 OfflineTtsCallback callback = nullptr,
1121 void *arg = nullptr) const;
1122
1124 std::shared_ptr<GeneratedAudio> Generate2(
1125 const std::string &text, int32_t sid = 0, float speed = 1.0,
1126 OfflineTtsCallback callback = nullptr, void *arg = nullptr) const;
1127
1130 std::shared_ptr<GeneratedAudio> Generate2(
1131 const std::string &text, const GenerationConfig &config,
1132 OfflineTtsCallback callback = nullptr, void *arg = nullptr) const;
1133
1134 private:
1135 explicit OfflineTts(const SherpaOnnxOfflineTts *p);
1136};
1137
1138// ============================================================
1139// For Keyword Spotter
1140// ============================================================
1141
1145 std::string keyword;
1147 std::vector<std::string> tokens;
1149 std::vector<float> timestamps;
1151 float start_time = 0.0f;
1153 std::string json;
1154};
1155
1175
1178 : public MoveOnly<KeywordSpotter, SherpaOnnxKeywordSpotter> {
1179 public:
1182
1184 void Destroy(const SherpaOnnxKeywordSpotter *p) const;
1185
1188
1191 OnlineStream CreateStream(const std::string &keywords) const;
1192
1194 bool IsReady(const OnlineStream *s) const;
1195
1197 void Decode(const OnlineStream *s) const;
1198
1200 void Decode(const OnlineStream *ss, int32_t n) const;
1201
1203 void Reset(const OnlineStream *s) const;
1204
1207
1208 private:
1209 explicit KeywordSpotter(const SherpaOnnxKeywordSpotter *p);
1210};
1211
1217
1225
1244
1250
1254 std::vector<float> samples;
1256 int32_t sample_rate = 0;
1257};
1258
1261 : public MoveOnly<OfflineSpeechDenoiser, SherpaOnnxOfflineSpeechDenoiser> {
1262 public:
1265 const OfflineSpeechDenoiserConfig &config);
1266
1269
1271 DenoisedAudio Run(const float *samples, int32_t n, int32_t sample_rate) const;
1272
1274 int32_t GetSampleRate() const;
1275
1276 private:
1278};
1279
1285
1288 : public MoveOnly<OnlineSpeechDenoiser, SherpaOnnxOnlineSpeechDenoiser> {
1289 public:
1292
1295
1297 DenoisedAudio Run(const float *samples, int32_t n, int32_t sample_rate) const;
1298
1301
1303 void Reset() const;
1304
1306 int32_t GetSampleRate() const;
1307
1310 int32_t GetFrameShiftInSamples() const;
1311
1312 private:
1314};
1315
1316// ==============================
1317// VAD
1318// ==============================
1319
1323 std::string model;
1325 float threshold = 0.5;
1331 int32_t window_size = 512;
1334};
1335
1339 std::string model;
1341 float threshold = 0.5;
1347 int32_t window_size = 256;
1350};
1351
1363
1365 int32_t sample_rate = 16000;
1367 int32_t num_threads = 1;
1369 std::string provider = "cpu";
1371 bool debug = false;
1372};
1373
1377 int32_t start = 0;
1379 std::vector<float> samples;
1380};
1381
1384 : public MoveOnly<CircularBuffer, SherpaOnnxCircularBuffer> {
1385 public:
1387 static CircularBuffer Create(int32_t capacity);
1388
1390 void Destroy(const SherpaOnnxCircularBuffer *p) const;
1391
1393 void Push(const float *p, int32_t n) const;
1394
1396 std::vector<float> Get(int32_t start_index, int32_t n) const;
1397
1399 void Pop(int32_t n) const;
1400
1402 int32_t Size() const;
1403
1405 int32_t Head() const;
1406
1408 void Reset() const;
1409
1410 private:
1411 explicit CircularBuffer(const SherpaOnnxCircularBuffer *p);
1412};
1413
1421 : public MoveOnly<VoiceActivityDetector, SherpaOnnxVoiceActivityDetector> {
1422 public:
1425 float buffer_size_in_seconds);
1426
1429
1431 void AcceptWaveform(const float *samples, int32_t n) const;
1432
1434 bool IsEmpty() const;
1435
1437 bool IsDetected() const;
1438
1440 void Pop() const;
1441
1443 void Clear() const;
1444
1447
1449 std::shared_ptr<SpeechSegment> FrontPtr() const;
1450
1452 void Reset() const;
1453
1455 void Flush() const;
1456
1457 private:
1459};
1460
1463 : public MoveOnly<LinearResampler, SherpaOnnxLinearResampler> {
1464 public:
1466 LinearResampler() = default;
1468 static LinearResampler Create(int32_t samp_rate_in_hz,
1469 int32_t samp_rate_out_hz,
1470 float filter_cutoff_hz, int32_t num_zeros);
1471
1474
1476 void Reset() const;
1477
1479 std::vector<float> Resample(const float *input, int32_t input_dim,
1480 bool flush) const;
1481
1483 int32_t GetInputSamplingRate() const;
1485 int32_t GetOutputSamplingRate() const;
1486
1487 private:
1488 explicit LinearResampler(const SherpaOnnxLinearResampler *p);
1489};
1490
1500SHERPA_ONNX_API bool FileExists(const std::string &filename);
1501
1502// ============================================================================
1503// Offline Punctuation
1504// ============================================================================
1508 std::string ct_transformer;
1510 int32_t num_threads = 1;
1512 bool debug = false;
1514 std::string provider = "cpu";
1515};
1516
1522
1525 : public MoveOnly<OfflinePunctuation, SherpaOnnxOfflinePunctuation> {
1526 public:
1529
1532
1534 std::string AddPunctuation(const std::string &text) const;
1535
1536 private:
1538};
1539
1540// ============================================================================
1541// Online Punctuation
1542// ============================================================================
1546 std::string cnn_bilstm;
1548 std::string bpe_vocab;
1550 int32_t num_threads = 1;
1552 bool debug = false;
1554 std::string provider = "cpu";
1555};
1556
1562
1565 : public MoveOnly<OnlinePunctuation, SherpaOnnxOnlinePunctuation> {
1566 public:
1569
1572
1574 std::string AddPunctuation(const std::string &text) const;
1575
1576 private:
1578};
1579
1580// ============================================================================
1581// Audio tagging
1582// ============================================================================
1588
1607
1617
1621 std::string name;
1623 int32_t index;
1625 float prob;
1626};
1627
1630 : public MoveOnly<AudioTagging, SherpaOnnxAudioTagging> {
1631 public:
1634
1636 void Destroy(const SherpaOnnxAudioTagging *p) const;
1637
1646 std::vector<AudioEvent> Compute(const OfflineStream *s, int32_t top_k = -1);
1647
1650 std::shared_ptr<std::vector<AudioEvent>> ComputePtr(const OfflineStream *s,
1651 int32_t top_k = -1);
1652
1653 private:
1654 explicit AudioTagging(const SherpaOnnxAudioTagging *p);
1655};
1656
1657// ==============================
1658// Source Separation
1659// ==============================
1660
1668
1674
1692
1698
1702 std::vector<std::vector<float>> samples;
1703};
1704
1708 std::vector<SourceSeparationStem> stems;
1710 int32_t sample_rate = 0;
1711};
1712
1715 : public MoveOnly<OfflineSourceSeparation,
1716 SherpaOnnxOfflineSourceSeparation> {
1717 public:
1720 const OfflineSourceSeparationConfig &config);
1721
1724
1734 SourceSeparationOutput Process(const float *const *samples,
1735 int32_t num_channels, int32_t num_samples,
1736 int32_t sample_rate) const;
1737
1739 int32_t GetOutputSampleRate() const;
1740
1742 int32_t GetNumberOfStems() const;
1743
1744 private:
1746};
1747
1748// ============================================================================
1749// Spoken Language Identification
1750// ============================================================================
1751
1755 std::string encoder;
1757 std::string decoder;
1759 int32_t tail_paddings = 0;
1760};
1761
1773
1779
1782 : public MoveOnly<SpokenLanguageIdentification,
1783 SherpaOnnxSpokenLanguageIdentification> {
1784 public:
1788
1791
1794
1797
1798 private:
1801};
1802
1803// ============================================================================
1804// Speaker Embedding Extractor
1805// ============================================================================
1806
1810 std::string model;
1812 int32_t num_threads = 1;
1814 bool debug = false;
1816 std::string provider = "cpu";
1817};
1818
1821 : public MoveOnly<SpeakerEmbeddingExtractor,
1822 SherpaOnnxSpeakerEmbeddingExtractor> {
1823 public:
1826 const SpeakerEmbeddingExtractorConfig &config);
1827
1830
1832 int32_t Dim() const;
1833
1836
1838 bool IsReady(const OnlineStream *s) const;
1839
1841 std::vector<float> ComputeEmbedding(const OnlineStream *s) const;
1842
1843 private:
1846};
1847
1848// ============================================================================
1849// Speaker Embedding Manager
1850// ============================================================================
1851
1855 float score;
1857 std::string name;
1858};
1859
1862 : public MoveOnly<SpeakerEmbeddingManager,
1863 SherpaOnnxSpeakerEmbeddingManager> {
1864 public:
1866 static SpeakerEmbeddingManager Create(int32_t dim);
1867
1870
1872 bool Add(const std::string &name, const float *v) const;
1873
1875 bool AddList(const std::string &name, const float **v) const;
1876
1878 bool AddListFlattened(const std::string &name, const float *v,
1879 int32_t n) const;
1880
1882 bool Remove(const std::string &name) const;
1883
1885 std::string Search(const float *v, float threshold) const;
1886
1888 std::vector<SpeakerMatch> GetBestMatches(const float *v, float threshold,
1889 int32_t n) const;
1890
1892 bool Verify(const std::string &name, const float *v, float threshold) const;
1893
1895 bool Contains(const std::string &name) const;
1896
1898 int32_t NumSpeakers() const;
1899
1901 std::vector<std::string> GetAllSpeakers() const;
1902
1903 private:
1905};
1906
1907// ============================================================================
1908// Offline Speaker Diarization
1909// ============================================================================
1910
1918
1930
1935 int32_t num_clusters = 0;
1937 float threshold = 0.5;
1938};
1939
1953
1963
1966 std::function<void(int32_t num_processed_chunks, int32_t num_total_chunks)>;
1967
1970 : public MoveOnly<OfflineSpeakerDiarization,
1971 SherpaOnnxOfflineSpeakerDiarization> {
1972 public:
1975 const OfflineSpeakerDiarizationConfig &config);
1976
1979
1981 int32_t GetSampleRate() const;
1982
1985
1987 std::vector<OfflineSpeakerDiarizationSegment> Process(
1988 const float *samples, int32_t n) const;
1989
1991 std::vector<OfflineSpeakerDiarizationSegment> Process(
1992 const float *samples, int32_t n,
1993 const OfflineSpeakerDiarizationProgressCallback &callback) const;
1994
1995 private:
1998};
1999
2000// ============================================================================
2001// Offline Diacritization
2002// ============================================================================
2006 std::string catt_encoder;
2008 std::string catt_decoder;
2010 int32_t num_threads = 1;
2012 bool debug = false;
2014 std::string provider = "cpu";
2015};
2016
2022
2025 : public MoveOnly<OfflineDiacritization, SherpaOnnxOfflineDiacritization> {
2026 public:
2029
2031 void Destroy(const SherpaOnnxOfflineDiacritization *diacrt) const;
2032
2034 std::string AddDiacritics(const std::string &text) const;
2035
2036 private:
2038};
2039
2040} // namespace sherpa_onnx::cxx
2041
2042#endif // SHERPA_ONNX_C_API_CXX_API_H_
Public C API for sherpa-onnx.
struct SherpaOnnxSpokenLanguageIdentification SherpaOnnxSpokenLanguageIdentification
Opaque spoken-language identification handle.
Definition c-api.h:2989
struct SherpaOnnxOfflineSpeechDenoiser SherpaOnnxOfflineSpeechDenoiser
Opaque offline speech denoiser handle.
Definition c-api.h:4145
struct SherpaOnnxOfflineStream SherpaOnnxOfflineStream
Non-streaming decoding state for one utterance.
Definition c-api.h:1209
#define SHERPA_ONNX_API
Definition c-api.h:106
struct SherpaOnnxOnlineSpeechDenoiser SherpaOnnxOnlineSpeechDenoiser
Opaque online speech denoiser handle.
Definition c-api.h:4243
struct SherpaOnnxOnlineStream SherpaOnnxOnlineStream
Streaming decoding state for one utterance or stream.
Definition c-api.h:436
struct SherpaOnnxOfflineRecognizer SherpaOnnxOfflineRecognizer
Non-streaming recognizer handle.
Definition c-api.h:1206
struct SherpaOnnxSpeakerEmbeddingManager SherpaOnnxSpeakerEmbeddingManager
Opaque speaker embedding manager handle.
Definition c-api.h:3214
struct SherpaOnnxKeywordSpotter SherpaOnnxKeywordSpotter
Opaque keyword spotter handle.
Definition c-api.h:1717
struct SherpaOnnxOnlinePunctuation SherpaOnnxOnlinePunctuation
Opaque online punctuation handle.
Definition c-api.h:3684
struct SherpaOnnxOnlineRecognizer SherpaOnnxOnlineRecognizer
Streaming recognizer handle.
Definition c-api.h:434
struct SherpaOnnxCircularBuffer SherpaOnnxCircularBuffer
Opaque circular-buffer handle used by helper APIs.
Definition c-api.h:1973
struct SherpaOnnxOfflineTts SherpaOnnxOfflineTts
Opaque offline TTS handle.
Definition c-api.h:2517
struct SherpaOnnxLinearResampler SherpaOnnxLinearResampler
Opaque linear resampler handle.
Definition c-api.h:3733
struct SherpaOnnxOfflineSourceSeparation SherpaOnnxOfflineSourceSeparation
Opaque source-separation engine handle.
Definition c-api.h:4357
struct SherpaOnnxOfflineSpeakerDiarization SherpaOnnxOfflineSpeakerDiarization
Opaque offline speaker diarization handle.
Definition c-api.h:3909
struct SherpaOnnxSpeakerEmbeddingExtractor SherpaOnnxSpeakerEmbeddingExtractor
Opaque speaker embedding extractor handle.
Definition c-api.h:3109
struct SherpaOnnxAudioTagging SherpaOnnxAudioTagging
Opaque audio tagger handle.
Definition c-api.h:3503
struct SherpaOnnxOfflinePunctuation SherpaOnnxOfflinePunctuation
Opaque offline punctuation handle.
Definition c-api.h:3607
struct SherpaOnnxVoiceActivityDetector SherpaOnnxVoiceActivityDetector
Opaque voice activity detector handle.
Definition c-api.h:2092
struct SherpaOnnxOfflineDiacritization SherpaOnnxOfflineDiacritization
Opaque offline diacritization handle.
Definition c-api.h:4668
RAII wrapper for audio tagging.
Definition cxx-api.h:1630
std::vector< AudioEvent > Compute(const OfflineStream *s, int32_t top_k=-1)
Run audio tagging and return copied results.
OfflineStream CreateStream() const
Create an offline stream for tagging.
std::shared_ptr< std::vector< AudioEvent > > ComputePtr(const OfflineStream *s, int32_t top_k=-1)
Like Compute(), but returns the result vector in a shared pointer.
void Destroy(const SherpaOnnxAudioTagging *p) const
Destroy the wrapped C handle.
static AudioTagging Create(const AudioTaggingConfig &config)
Create an audio tagger.
RAII wrapper for the circular buffer helper used by VAD.
Definition cxx-api.h:1384
static CircularBuffer Create(int32_t capacity)
Create a circular buffer with the given capacity in samples.
int32_t Head() const
Return the current head index.
void Destroy(const SherpaOnnxCircularBuffer *p) const
Destroy the wrapped C handle.
std::vector< float > Get(int32_t start_index, int32_t n) const
Copy a contiguous span from the buffer.
void Push(const float *p, int32_t n) const
Append samples to the buffer.
int32_t Size() const
Return the number of stored samples.
void Reset() const
Reset the buffer to empty.
void Pop(int32_t n) const
Remove samples from the head of the buffer.
RAII wrapper for keyword spotting.
Definition cxx-api.h:1178
OnlineStream CreateStream(const std::string &keywords) const
Create a keyword stream with inline extra or replacement keywords.
bool IsReady(const OnlineStream *s) const
Check whether the stream has enough data to decode.
void Decode(const OnlineStream *ss, int32_t n) const
Decode multiple ready streams in parallel.
void Destroy(const SherpaOnnxKeywordSpotter *p) const
Destroy the wrapped C handle.
OnlineStream CreateStream() const
Create a keyword stream using configured keywords.
void Decode(const OnlineStream *s) const
Decode one ready stream.
static KeywordSpotter Create(const KeywordSpotterConfig &config)
Create a keyword spotter from a config struct.
void Reset(const OnlineStream *s) const
Reset a stream after a keyword trigger.
KeywordResult GetResult(const OnlineStream *s) const
Return the copied keyword spotting result for a stream.
RAII wrapper for linear resampling.
Definition cxx-api.h:1463
static LinearResampler Create(int32_t samp_rate_in_hz, int32_t samp_rate_out_hz, float filter_cutoff_hz, int32_t num_zeros)
Create a linear resampler.
LinearResampler()=default
Construct an empty wrapper.
int32_t GetInputSamplingRate() const
Return the input sample rate in Hz.
void Destroy(const SherpaOnnxLinearResampler *p) const
Destroy the wrapped C handle.
std::vector< float > Resample(const float *input, int32_t input_dim, bool flush) const
Resample one chunk of input audio.
int32_t GetOutputSamplingRate() const
Return the output sample rate in Hz.
void Reset() const
Reset the resampler state.
Base class for move-only RAII wrappers around C handles.
Definition cxx-api.h:291
MoveOnly(const T *p)
Construct a wrapper from a raw C handle.
Definition cxx-api.h:296
const T * Release()
Release ownership of the wrapped raw pointer.
Definition cxx-api.h:323
MoveOnly(const MoveOnly &)=delete
~MoveOnly()
Destroy the wrapped handle if present.
Definition cxx-api.h:299
MoveOnly()=default
Construct an empty wrapper.
MoveOnly & operator=(const MoveOnly &)=delete
MoveOnly & operator=(MoveOnly &&other)
Definition cxx-api.h:307
MoveOnly(MoveOnly &&other)
Definition cxx-api.h:305
const T * Get() const
Return the wrapped raw pointer without transferring ownership.
Definition cxx-api.h:320
RAII wrapper for offline diacritization.
Definition cxx-api.h:2025
std::string AddDiacritics(const std::string &text) const
Add diacritics to a complete input text.
void Destroy(const SherpaOnnxOfflineDiacritization *diacrt) const
Destroy the wrapped C handle.
static OfflineDiacritization Create(const OfflineDiacritizationConfig &config)
Create an offline diacritization model.
RAII wrapper for offline punctuation restoration.
Definition cxx-api.h:1525
static OfflinePunctuation Create(const OfflinePunctuationConfig &config)
Create an offline punctuation model.
std::string AddPunctuation(const std::string &text) const
Add punctuation to a complete input text.
void Destroy(const SherpaOnnxOfflinePunctuation *p) const
Destroy the wrapped C handle.
RAII wrapper for an offline recognizer.
Definition cxx-api.h:802
std::shared_ptr< OfflineRecognizerResult > GetResultPtr(const OfflineStream *s) const
Convenience wrapper that returns the result inside a shared pointer.
static OfflineRecognizer Create(const OfflineRecognizerConfig &config)
Create an offline recognizer from a config struct.
void Decode(const OfflineStream *ss, int32_t n) const
Decode multiple offline streams in parallel.
void Decode(const OfflineStream *s) const
Decode one offline stream.
OfflineRecognizerResult GetResult(const OfflineStream *s) const
Return the copied recognition result for one stream.
void SetConfig(const OfflineRecognizerConfig &config) const
Update recognizer runtime configuration after creation.
OfflineStream CreateStream() const
Create a stream using the recognizer's configured hotwords.
void Destroy(const SherpaOnnxOfflineRecognizer *p) const
Destroy the wrapped C handle.
OfflineStream CreateStream(const std::string &hotwords) const
Create a stream with inline hotwords.
RAII wrapper for offline source separation.
Definition cxx-api.h:1716
void Destroy(const SherpaOnnxOfflineSourceSeparation *p) const
Destroy the wrapped C handle.
int32_t GetNumberOfStems() const
Return the number of stems produced.
int32_t GetOutputSampleRate() const
Return the output sample rate.
static OfflineSourceSeparation Create(const OfflineSourceSeparationConfig &config)
Create an offline source separation engine.
SourceSeparationOutput Process(const float *const *samples, int32_t num_channels, int32_t num_samples, int32_t sample_rate) const
Run source separation on multi-channel audio.
RAII wrapper for offline speaker diarization.
Definition cxx-api.h:1971
void SetConfig(const OfflineSpeakerDiarizationConfig &config) const
Update clustering-related settings.
int32_t GetSampleRate() const
Return the expected input sample rate.
void Destroy(const SherpaOnnxOfflineSpeakerDiarization *p) const
Destroy the wrapped C handle.
std::vector< OfflineSpeakerDiarizationSegment > Process(const float *samples, int32_t n) const
Run offline speaker diarization.
static OfflineSpeakerDiarization Create(const OfflineSpeakerDiarizationConfig &config)
Create an offline speaker diarization pipeline.
std::vector< OfflineSpeakerDiarizationSegment > Process(const float *samples, int32_t n, const OfflineSpeakerDiarizationProgressCallback &callback) const
Run offline speaker diarization with a progress callback.
RAII wrapper for offline speech denoising.
Definition cxx-api.h:1261
DenoisedAudio Run(const float *samples, int32_t n, int32_t sample_rate) const
Run denoising on a complete waveform.
int32_t GetSampleRate() const
Return the expected input sample rate.
static OfflineSpeechDenoiser Create(const OfflineSpeechDenoiserConfig &config)
Create an offline speech denoiser.
void Destroy(const SherpaOnnxOfflineSpeechDenoiser *p) const
Destroy the wrapped C handle.
RAII wrapper for an offline decoding stream.
Definition cxx-api.h:775
void SetOption(const char *key, const char *value) const
Set a per-stream string option.
const char * GetOption(const char *key) const
Get a per-stream string option.
void Destroy(const SherpaOnnxOfflineStream *p) const
Destroy the wrapped C handle.
void AcceptWaveform(int32_t sample_rate, const float *samples, int32_t n) const
Provide the complete waveform for offline decoding.
int32_t HasOption(const char *key) const
Check whether a per-stream option exists.
OfflineStream(const SherpaOnnxOfflineStream *p)
Wrap an existing C offline stream handle.
RAII wrapper for offline TTS.
Definition cxx-api.h:1092
GeneratedAudio Generate(const std::string &text, int32_t sid=0, float speed=1.0, OfflineTtsCallback callback=nullptr, void *arg=nullptr) const
Generate speech using the simple speaker-id and speed interface.
GeneratedAudio Generate(const std::string &text, const GenerationConfig &config, OfflineTtsCallback callback=nullptr, void *arg=nullptr) const
Generate speech using the advanced generation configuration.
int32_t NumSpeakers() const
Return the number of supported speakers.
static OfflineTts Create(const OfflineTtsConfig &config)
Create an offline TTS engine.
std::shared_ptr< GeneratedAudio > Generate2(const std::string &text, const GenerationConfig &config, OfflineTtsCallback callback=nullptr, void *arg=nullptr) const
Like the advanced Generate() overload, but returns a shared pointer.
std::shared_ptr< GeneratedAudio > Generate2(const std::string &text, int32_t sid=0, float speed=1.0, OfflineTtsCallback callback=nullptr, void *arg=nullptr) const
Like Generate(), but returns a shared pointer to the result.
void Destroy(const SherpaOnnxOfflineTts *p) const
Destroy the wrapped C handle.
int32_t SampleRate() const
Return the output sample rate of generated audio.
RAII wrapper for online punctuation restoration.
Definition cxx-api.h:1565
void Destroy(const SherpaOnnxOnlinePunctuation *p) const
Destroy the wrapped C handle.
static OnlinePunctuation Create(const OnlinePunctuationConfig &config)
Create an online punctuation model.
std::string AddPunctuation(const std::string &text) const
Add punctuation to one input text chunk.
RAII wrapper for a streaming recognizer.
Definition cxx-api.h:386
void Decode(const OnlineStream *s) const
Decode one ready stream.
OnlineRecognizerResult GetResult(const OnlineStream *s) const
Return the current recognition result for a stream.
static OnlineRecognizer Create(const OnlineRecognizerConfig &config)
Create a streaming recognizer from a config struct.
void Reset(const OnlineStream *s) const
Reset a stream after endpointing or utterance completion.
OnlineStream CreateStream(const std::string &hotwords) const
Create a stream with inline hotwords.
void Destroy(const SherpaOnnxOnlineRecognizer *p) const
Destroy the wrapped C handle.
bool IsReady(const OnlineStream *s) const
Check whether the given stream has enough data to decode.
bool IsEndpoint(const OnlineStream *s) const
Check whether endpointing has triggered for a stream.
OnlineStream CreateStream() const
Create a stream that uses the recognizer's configured hotwords.
void Decode(const OnlineStream *ss, int32_t n) const
Decode multiple ready streams in parallel.
RAII wrapper for online speech denoising.
Definition cxx-api.h:1288
int32_t GetFrameShiftInSamples() const
Return the recommended frame shift in samples for streaming input.
DenoisedAudio Flush() const
Flush buffered audio and reset the denoiser.
DenoisedAudio Run(const float *samples, int32_t n, int32_t sample_rate) const
Process one chunk of streaming audio.
int32_t GetSampleRate() const
Return the expected input sample rate.
void Destroy(const SherpaOnnxOnlineSpeechDenoiser *p) const
Destroy the wrapped C handle.
void Reset() const
Reset the denoiser for a new stream.
static OnlineSpeechDenoiser Create(const OnlineSpeechDenoiserConfig &config)
Create an online speech denoiser.
void InputFinished() const
Indicate that no more input audio will be provided.
void AcceptWaveform(int32_t sample_rate, const float *samples, int32_t n) const
Append audio samples to the stream.
void Destroy(const SherpaOnnxOnlineStream *p) const
Destroy the wrapped C handle.
int32_t HasOption(const char *key) const
Check whether a per-stream option exists.
OnlineStream(const SherpaOnnxOnlineStream *p)
Wrap an existing C online stream handle.
void SetOption(const char *key, const char *value) const
Set a per-stream string option.
const char * GetOption(const char *key) const
Get a per-stream string option.
RAII wrapper for speaker embedding extraction.
Definition cxx-api.h:1822
bool IsReady(const OnlineStream *s) const
Check whether enough audio has been provided.
void Destroy(const SherpaOnnxSpeakerEmbeddingExtractor *p) const
Destroy the wrapped C handle.
OnlineStream CreateStream() const
Create a stream for embedding extraction.
int32_t Dim() const
Return the embedding dimension.
static SpeakerEmbeddingExtractor Create(const SpeakerEmbeddingExtractorConfig &config)
Create a speaker embedding extractor.
std::vector< float > ComputeEmbedding(const OnlineStream *s) const
Compute the embedding for a stream.
RAII wrapper for speaker embedding management.
Definition cxx-api.h:1863
bool Contains(const std::string &name) const
Check whether a speaker is enrolled.
bool AddListFlattened(const std::string &name, const float *v, int32_t n) const
Add multiple enrollment embeddings packed in one flat array.
std::vector< std::string > GetAllSpeakers() const
Return all enrolled speaker names.
bool Add(const std::string &name, const float *v) const
Add one enrollment embedding for a speaker.
int32_t NumSpeakers() const
Return the number of enrolled speakers.
std::vector< SpeakerMatch > GetBestMatches(const float *v, float threshold, int32_t n) const
Return up to n best matches above a similarity threshold.
bool Remove(const std::string &name) const
Remove a speaker from the manager.
bool AddList(const std::string &name, const float **v) const
Add multiple enrollment embeddings for one speaker.
void Destroy(const SherpaOnnxSpeakerEmbeddingManager *p) const
Destroy the wrapped C handle.
std::string Search(const float *v, float threshold) const
Search for the best matching enrolled speaker.
bool Verify(const std::string &name, const float *v, float threshold) const
Verify whether a query embedding matches a named speaker.
static SpeakerEmbeddingManager Create(int32_t dim)
Create a speaker embedding manager.
RAII wrapper for spoken language identification.
Definition cxx-api.h:1783
OfflineStream CreateStream() const
Create an offline stream for identification.
static SpokenLanguageIdentification Create(const SpokenLanguageIdentificationConfig &config)
Create a spoken language identifier.
SpokenLanguageIdentificationResult Compute(const OfflineStream *s) const
Run spoken language identification on a stream.
void Destroy(const SherpaOnnxSpokenLanguageIdentification *p) const
Destroy the wrapped C handle.
RAII wrapper for voice activity detection.
Definition cxx-api.h:1421
void Clear() const
Remove all queued speech segments.
void Pop() const
Remove the front queued speech segment.
void Destroy(const SherpaOnnxVoiceActivityDetector *p) const
Destroy the wrapped C handle.
std::shared_ptr< SpeechSegment > FrontPtr() const
Like Front(), but returns the segment in a shared pointer.
static VoiceActivityDetector Create(const VadModelConfig &config, float buffer_size_in_seconds)
Create a VAD instance.
void AcceptWaveform(const float *samples, int32_t n) const
Feed more audio samples to the detector.
bool IsEmpty() const
Check whether no speech segments are currently queued.
bool IsDetected() const
Check whether speech is currently detected.
void Flush() const
Flush buffered context at end of input.
SpeechSegment Front() const
Return the front queued speech segment.
void Reset() const
Reset the detector state.
std::string GetGitSha1()
Return the build Git SHA1 as a C++ string.
int32_t(*)(const float *samples, int32_t num_samples, float progress, void *arg) OfflineTtsCallback
TTS progress callback.
Definition cxx-api.h:1066
std::string GetOnnxruntimeVersionStr()
Return the onnxruntime version string as a C++ string.
std::string GetVersionStr()
Return the sherpa-onnx version string as a C++ string.
Wave ReadWave(const std::string &filename)
Read a mono WAVE file into a C++ value object.
std::string GetGitDate()
Return the build Git date as a C++ string.
std::function< void(int32_t num_processed_chunks, int32_t num_total_chunks)> OfflineSpeakerDiarizationProgressCallback
Progress callback for offline speaker diarization.
Definition cxx-api.h:1966
bool FileExists(const std::string &filename)
Return true if a file exists.
bool WriteWave(const std::string &filename, const Wave &wave)
Write a mono WAVE file from a C++ value object.
One audio-tagging event returned by the C++ wrapper.
Definition cxx-api.h:1619
Configuration for audio tagging.
Definition cxx-api.h:1609
AudioTaggingModelConfig model
Definition cxx-api.h:1611
Audio-tagging model configuration.
Definition cxx-api.h:1595
OfflineZipformerAudioTaggingModelConfig zipformer
Definition cxx-api.h:1597
Denoised waveform returned by speech enhancement wrappers.
Definition cxx-api.h:1252
std::vector< float > samples
Definition cxx-api.h:1254
Fast clustering configuration.
Definition cxx-api.h:1932
Feature extraction settings shared by ASR and KWS wrappers.
Definition cxx-api.h:152
Generated audio returned by the C++ TTS wrapper.
Definition cxx-api.h:1052
std::vector< float > samples
Definition cxx-api.h:1054
Generation-time options for advanced TTS synthesis.
Definition cxx-api.h:1017
std::unordered_map< std::string, std::string > extra
Definition cxx-api.h:1034
std::vector< float > reference_audio
Definition cxx-api.h:1025
Homophone replacement resources used by some Chinese ASR setups.
Definition cxx-api.h:168
Current keyword spotting result copied into C++ containers.
Definition cxx-api.h:1143
std::vector< float > timestamps
Definition cxx-api.h:1149
std::vector< std::string > tokens
Definition cxx-api.h:1147
Configuration for the C++ keyword spotting wrapper.
Definition cxx-api.h:1157
Offline Canary model configuration.
Definition cxx-api.h:466
Offline Cohere Transcribe model configuration.
Definition cxx-api.h:480
Configuration for offline diacritization.
Definition cxx-api.h:2018
OfflineDiacritizationModelConfig model
Definition cxx-api.h:2020
Offline diacritization model configuration.
Definition cxx-api.h:2004
Offline Dolphin model file.
Definition cxx-api.h:524
Offline FireRed ASR CTC model file.
Definition cxx-api.h:502
Offline FireRed ASR model files.
Definition cxx-api.h:494
Offline FunASR Nano model configuration.
Definition cxx-api.h:568
Optional language-model rescoring configuration for offline ASR.
Definition cxx-api.h:685
Offline MedASR CTC model file.
Definition cxx-api.h:548
Acoustic model configuration for offline ASR.
Definition cxx-api.h:628
OfflineMedAsrCtcModelConfig medasr
Definition cxx-api.h:673
OfflineTdnnModelConfig tdnn
Definition cxx-api.h:638
OfflineParaformerModelConfig paraformer
Definition cxx-api.h:632
OfflineSenseVoiceModelConfig sense_voice
Definition cxx-api.h:657
OfflineZipformerCtcModelConfig zipformer_ctc
Definition cxx-api.h:665
OfflineFireRedAsrCtcModelConfig fire_red_asr_ctc
Definition cxx-api.h:677
OfflineMoonshineModelConfig moonshine
Definition cxx-api.h:659
OfflineCanaryModelConfig canary
Definition cxx-api.h:667
OfflineWhisperModelConfig whisper
Definition cxx-api.h:636
OfflineCohereTranscribeModelConfig cohere_transcribe
Definition cxx-api.h:681
OfflineDolphinModelConfig dolphin
Definition cxx-api.h:663
OfflineWenetCtcModelConfig wenet_ctc
Definition cxx-api.h:669
OfflineFunASRNanoModelConfig funasr_nano
Definition cxx-api.h:675
OfflineFireRedAsrModelConfig fire_red_asr
Definition cxx-api.h:661
OfflineTransducerModelConfig transducer
Definition cxx-api.h:630
OfflineNemoEncDecCtcModelConfig nemo_ctc
Definition cxx-api.h:634
OfflineQwen3ASRModelConfig qwen3_asr
Definition cxx-api.h:679
OfflineOmnilingualAsrCtcModelConfig omnilingual
Definition cxx-api.h:671
Offline Moonshine model configuration.
Definition cxx-api.h:554
Offline NeMo EncDec CTC model file.
Definition cxx-api.h:442
Offline omnilingual ASR CTC model file.
Definition cxx-api.h:542
Offline Paraformer model file.
Definition cxx-api.h:436
Configuration for offline punctuation.
Definition cxx-api.h:1518
OfflinePunctuationModelConfig model
Definition cxx-api.h:1520
Offline punctuation model configuration.
Definition cxx-api.h:1506
Offline Qwen3-ASR model configuration.
Definition cxx-api.h:598
Configuration for offline ASR.
Definition cxx-api.h:724
Offline ASR result copied into C++ containers.
Definition cxx-api.h:753
std::vector< std::string > tokens
Definition cxx-api.h:759
Offline SenseVoice model configuration.
Definition cxx-api.h:514
Configuration for offline source separation.
Definition cxx-api.h:1694
OfflineSourceSeparationModelConfig model
Definition cxx-api.h:1696
Source-separation model configuration.
Definition cxx-api.h:1680
OfflineSourceSeparationUvrModelConfig uvr
Definition cxx-api.h:1684
OfflineSourceSeparationSpleeterModelConfig spleeter
Definition cxx-api.h:1682
Spleeter source-separation model configuration.
Definition cxx-api.h:1662
UVR (MDX-Net) source-separation model configuration.
Definition cxx-api.h:1670
Configuration for offline speaker diarization.
Definition cxx-api.h:1941
OfflineSpeakerSegmentationModelConfig segmentation
Definition cxx-api.h:1943
SpeakerEmbeddingExtractorConfig embedding
Definition cxx-api.h:1945
Segmentation model configuration for offline speaker diarization.
Definition cxx-api.h:1920
OfflineSpeakerSegmentationPyannoteModelConfig pyannote
Definition cxx-api.h:1922
Pyannote segmentation model configuration.
Definition cxx-api.h:1912
Configuration for offline speech denoising.
Definition cxx-api.h:1246
OfflineSpeechDenoiserModelConfig model
Definition cxx-api.h:1248
DPDFNet speech denoiser model configuration.
Definition cxx-api.h:1219
GTCRN speech denoiser model configuration.
Definition cxx-api.h:1213
Speech denoiser model configuration.
Definition cxx-api.h:1232
OfflineSpeechDenoiserGtcrnModelConfig gtcrn
Definition cxx-api.h:1234
OfflineSpeechDenoiserDpdfNetModelConfig dpdfnet
Definition cxx-api.h:1236
Offline transducer model files.
Definition cxx-api.h:426
Configuration for offline TTS.
Definition cxx-api.h:1038
OfflineTtsModelConfig model
Definition cxx-api.h:1040
Model configuration for offline TTS.
Definition cxx-api.h:992
OfflineTtsKittenModelConfig kitten
Definition cxx-api.h:1000
OfflineTtsSupertonicModelConfig supertonic
Definition cxx-api.h:1006
OfflineTtsVitsModelConfig vits
Definition cxx-api.h:994
OfflineTtsKokoroModelConfig kokoro
Definition cxx-api.h:998
OfflineTtsMatchaModelConfig matcha
Definition cxx-api.h:996
OfflineTtsPocketModelConfig pocket
Definition cxx-api.h:1004
OfflineTtsZipvoiceModelConfig zipvoice
Definition cxx-api.h:1002
Pocket TTS model configuration.
Definition cxx-api.h:948
Supertonic model configuration.
Definition cxx-api.h:969
ZipVoice model configuration.
Definition cxx-api.h:923
Offline WeNet CTC model file.
Definition cxx-api.h:536
Offline Whisper model configuration.
Definition cxx-api.h:448
Zipformer audio-tagging model configuration.
Definition cxx-api.h:1584
Offline Zipformer CTC model file.
Definition cxx-api.h:530
Decoder graph configuration for online CTC + FST decoding.
Definition cxx-api.h:160
Acoustic model configuration for streaming ASR.
Definition cxx-api.h:121
OnlineNemoCtcModelConfig nemo_ctc
Definition cxx-api.h:129
OnlineZipformer2CtcModelConfig zipformer2_ctc
Definition cxx-api.h:127
OnlineToneCtcModelConfig t_one_ctc
Definition cxx-api.h:131
OnlineParaformerModelConfig paraformer
Definition cxx-api.h:125
OnlineTransducerModelConfig transducer
Definition cxx-api.h:123
Streaming NeMo CTC model file.
Definition cxx-api.h:85
Streaming Paraformer model files.
Definition cxx-api.h:71
Configuration for online punctuation.
Definition cxx-api.h:1558
OnlinePunctuationModelConfig model
Definition cxx-api.h:1560
Online punctuation model configuration.
Definition cxx-api.h:1544
Configuration for streaming ASR.
Definition cxx-api.h:200
OnlineCtcFstDecoderConfig ctc_fst_decoder_config
Definition cxx-api.h:231
Current streaming ASR result copied into C++ containers.
Definition cxx-api.h:246
std::vector< std::string > tokens
Definition cxx-api.h:250
Configuration for online speech denoising.
Definition cxx-api.h:1281
OfflineSpeechDenoiserModelConfig model
Definition cxx-api.h:1283
Streaming T-One CTC model file.
Definition cxx-api.h:91
Streaming transducer model files.
Definition cxx-api.h:61
Streaming Zipformer2 CTC model file.
Definition cxx-api.h:79
Silero VAD model configuration.
Definition cxx-api.h:1321
Output of a source-separation run.
Definition cxx-api.h:1706
std::vector< SourceSeparationStem > stems
Definition cxx-api.h:1708
A single stem (output track) with one or more channels.
Definition cxx-api.h:1700
std::vector< std::vector< float > > samples
Definition cxx-api.h:1702
Configuration for speaker embedding extraction.
Definition cxx-api.h:1808
One speaker match returned by the best-matches API.
Definition cxx-api.h:1853
One speech segment produced by the VAD wrapper.
Definition cxx-api.h:1375
std::vector< float > samples
Definition cxx-api.h:1379
Configuration for spoken language identification.
Definition cxx-api.h:1763
SpokenLanguageIdentificationWhisperConfig whisper
Definition cxx-api.h:1765
Result of spoken language identification.
Definition cxx-api.h:1775
Whisper model configuration for spoken language identification.
Definition cxx-api.h:1753
Ten VAD model configuration.
Definition cxx-api.h:1337
VAD model configuration.
Definition cxx-api.h:1358
SileroVadModelConfig silero_vad
Definition cxx-api.h:1360
Mono PCM waveform used by the helper I/O functions.
Definition cxx-api.h:258
std::vector< float > samples
Definition cxx-api.h:260