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
695 std::string graph;
697 int32_t max_active = 3000;
698};
699
761
765 std::string text;
767 std::vector<float> timestamps;
769 std::vector<std::string> tokens;
771 std::string json;
773 std::string lang;
775 std::string emotion;
777 std::string event;
778
780 std::vector<float> durations;
781};
782
785 : public MoveOnly<OfflineStream, SherpaOnnxOfflineStream> {
786 public:
789
791 void AcceptWaveform(int32_t sample_rate, const float *samples,
792 int32_t n) const;
793
795 void SetOption(const char *key, const char *value) const;
797 const char *GetOption(const char *key) const;
799 int32_t HasOption(const char *key) const;
800
802 void Destroy(const SherpaOnnxOfflineStream *p) const;
803};
804
812 : public MoveOnly<OfflineRecognizer, SherpaOnnxOfflineRecognizer> {
813 public:
816
819
822
824 OfflineStream CreateStream(const std::string &hotwords) const;
825
827 void Decode(const OfflineStream *s) const;
828
830 void Decode(const OfflineStream *ss, int32_t n) const;
831
834
841 std::shared_ptr<OfflineRecognizerResult> GetResultPtr(
842 const OfflineStream *s) const;
843
845 void SetConfig(const OfflineRecognizerConfig &config) const;
846
847 private:
849};
850
851// ============================================================================
852// Non-streaming TTS
853// ============================================================================
857 std::string model;
859 std::string lexicon;
861 std::string tokens;
863 std::string data_dir;
865 std::string dict_dir;
866
868 float noise_scale = 0.667;
870 float noise_scale_w = 0.8;
872 float length_scale = 1.0;
873};
874
878 std::string acoustic_model;
880 std::string vocoder;
882 std::string lexicon;
884 std::string tokens;
886 std::string data_dir;
888 std::string dict_dir;
889
891 float noise_scale = 0.667;
893 float length_scale = 1.0;
894};
895
899 std::string model;
901 std::string voices;
903 std::string tokens;
905 std::string data_dir;
907 std::string dict_dir;
909 std::string lexicon;
911 std::string lang;
912
914 float length_scale = 1.0;
915};
916
920 std::string model;
922 std::string voices;
924 std::string tokens;
926 std::string data_dir;
927
929 float length_scale = 1.0;
930};
931
935 std::string tokens;
937 std::string encoder;
939 std::string decoder;
941 std::string vocoder;
943 std::string data_dir;
945 std::string lexicon;
946
948 float feat_scale = 0.1;
950 float t_shift = 0.5;
952 float target_rms = 0.1;
954 float guidance_scale = 1.0;
955};
956
960 std::string lm_flow;
962 std::string lm_main;
964 std::string encoder;
966 std::string decoder;
968 std::string text_conditioner;
969
971 std::string vocab_json;
973 std::string token_scores_json;
976};
977
983 std::string text_encoder;
985 std::string vector_estimator;
987 std::string vocoder;
989 std::string tts_json;
991 std::string unicode_indexer;
993 std::string voice_style;
994};
995
1025
1029 float silence_scale = 0.2;
1031 float speed = 1.0;
1033 int32_t sid = 0;
1035 std::vector<float> reference_audio;
1039 std::string reference_text;
1041 int32_t num_steps = 5;
1042
1044 std::unordered_map<std::string, std::string> extra;
1045};
1046
1060
1064 std::vector<float> samples;
1066 int32_t sample_rate = 0;
1067};
1068
1074using OfflineTtsCallback = int32_t (*)(const float *samples,
1075 int32_t num_samples, float progress,
1076 void *arg);
1077
1102 : public MoveOnly<OfflineTts, SherpaOnnxOfflineTts> {
1103 public:
1105 static OfflineTts Create(const OfflineTtsConfig &config);
1106
1108 void Destroy(const SherpaOnnxOfflineTts *p) const;
1109
1111 int32_t SampleRate() const;
1112
1114 int32_t NumSpeakers() const;
1115
1122 GeneratedAudio Generate(const std::string &text, int32_t sid = 0,
1123 float speed = 1.0,
1124 OfflineTtsCallback callback = nullptr,
1125 void *arg = nullptr) const;
1126
1128 GeneratedAudio Generate(const std::string &text,
1129 const GenerationConfig &config,
1130 OfflineTtsCallback callback = nullptr,
1131 void *arg = nullptr) const;
1132
1134 std::shared_ptr<GeneratedAudio> Generate2(
1135 const std::string &text, int32_t sid = 0, float speed = 1.0,
1136 OfflineTtsCallback callback = nullptr, void *arg = nullptr) const;
1137
1140 std::shared_ptr<GeneratedAudio> Generate2(
1141 const std::string &text, const GenerationConfig &config,
1142 OfflineTtsCallback callback = nullptr, void *arg = nullptr) const;
1143
1144 private:
1145 explicit OfflineTts(const SherpaOnnxOfflineTts *p);
1146};
1147
1148// ============================================================
1149// For Keyword Spotter
1150// ============================================================
1151
1155 std::string keyword;
1157 std::vector<std::string> tokens;
1159 std::vector<float> timestamps;
1161 float start_time = 0.0f;
1163 std::string json;
1164};
1165
1185
1188 : public MoveOnly<KeywordSpotter, SherpaOnnxKeywordSpotter> {
1189 public:
1192
1194 void Destroy(const SherpaOnnxKeywordSpotter *p) const;
1195
1198
1201 OnlineStream CreateStream(const std::string &keywords) const;
1202
1204 bool IsReady(const OnlineStream *s) const;
1205
1207 void Decode(const OnlineStream *s) const;
1208
1210 void Decode(const OnlineStream *ss, int32_t n) const;
1211
1213 void Reset(const OnlineStream *s) const;
1214
1217
1218 private:
1219 explicit KeywordSpotter(const SherpaOnnxKeywordSpotter *p);
1220};
1221
1227
1235
1254
1260
1264 std::vector<float> samples;
1266 int32_t sample_rate = 0;
1267};
1268
1271 : public MoveOnly<OfflineSpeechDenoiser, SherpaOnnxOfflineSpeechDenoiser> {
1272 public:
1275 const OfflineSpeechDenoiserConfig &config);
1276
1279
1281 DenoisedAudio Run(const float *samples, int32_t n, int32_t sample_rate) const;
1282
1284 int32_t GetSampleRate() const;
1285
1286 private:
1288};
1289
1295
1298 : public MoveOnly<OnlineSpeechDenoiser, SherpaOnnxOnlineSpeechDenoiser> {
1299 public:
1302
1305
1307 DenoisedAudio Run(const float *samples, int32_t n, int32_t sample_rate) const;
1308
1311
1313 void Reset() const;
1314
1316 int32_t GetSampleRate() const;
1317
1320 int32_t GetFrameShiftInSamples() const;
1321
1322 private:
1324};
1325
1326// ==============================
1327// VAD
1328// ==============================
1329
1333 std::string model;
1335 float threshold = 0.5;
1341 int32_t window_size = 512;
1344};
1345
1349 std::string model;
1351 float threshold = 0.5;
1357 int32_t window_size = 256;
1360};
1361
1373
1375 int32_t sample_rate = 16000;
1377 int32_t num_threads = 1;
1379 std::string provider = "cpu";
1381 bool debug = false;
1382};
1383
1387 int32_t start = 0;
1389 std::vector<float> samples;
1390};
1391
1394 : public MoveOnly<CircularBuffer, SherpaOnnxCircularBuffer> {
1395 public:
1397 static CircularBuffer Create(int32_t capacity);
1398
1400 void Destroy(const SherpaOnnxCircularBuffer *p) const;
1401
1403 void Push(const float *p, int32_t n) const;
1404
1406 std::vector<float> Get(int32_t start_index, int32_t n) const;
1407
1409 void Pop(int32_t n) const;
1410
1412 int32_t Size() const;
1413
1415 int32_t Head() const;
1416
1418 void Reset() const;
1419
1420 private:
1421 explicit CircularBuffer(const SherpaOnnxCircularBuffer *p);
1422};
1423
1431 : public MoveOnly<VoiceActivityDetector, SherpaOnnxVoiceActivityDetector> {
1432 public:
1435 float buffer_size_in_seconds);
1436
1439
1441 void AcceptWaveform(const float *samples, int32_t n) const;
1442
1444 bool IsEmpty() const;
1445
1447 bool IsDetected() const;
1448
1450 void Pop() const;
1451
1453 void Clear() const;
1454
1457
1459 std::shared_ptr<SpeechSegment> FrontPtr() const;
1460
1462 void Reset() const;
1463
1465 void Flush() const;
1466
1467 private:
1469};
1470
1473 : public MoveOnly<LinearResampler, SherpaOnnxLinearResampler> {
1474 public:
1476 LinearResampler() = default;
1478 static LinearResampler Create(int32_t samp_rate_in_hz,
1479 int32_t samp_rate_out_hz,
1480 float filter_cutoff_hz, int32_t num_zeros);
1481
1484
1486 void Reset() const;
1487
1489 std::vector<float> Resample(const float *input, int32_t input_dim,
1490 bool flush) const;
1491
1493 int32_t GetInputSamplingRate() const;
1495 int32_t GetOutputSamplingRate() const;
1496
1497 private:
1498 explicit LinearResampler(const SherpaOnnxLinearResampler *p);
1499};
1500
1510SHERPA_ONNX_API bool FileExists(const std::string &filename);
1511
1512// ============================================================================
1513// Offline Punctuation
1514// ============================================================================
1518 std::string ct_transformer;
1520 int32_t num_threads = 1;
1522 bool debug = false;
1524 std::string provider = "cpu";
1525};
1526
1532
1535 : public MoveOnly<OfflinePunctuation, SherpaOnnxOfflinePunctuation> {
1536 public:
1539
1542
1544 std::string AddPunctuation(const std::string &text) const;
1545
1546 private:
1548};
1549
1550// ============================================================================
1551// Online Punctuation
1552// ============================================================================
1556 std::string cnn_bilstm;
1558 std::string bpe_vocab;
1560 int32_t num_threads = 1;
1562 bool debug = false;
1564 std::string provider = "cpu";
1565};
1566
1572
1575 : public MoveOnly<OnlinePunctuation, SherpaOnnxOnlinePunctuation> {
1576 public:
1579
1582
1584 std::string AddPunctuation(const std::string &text) const;
1585
1586 private:
1588};
1589
1590// ============================================================================
1591// Audio tagging
1592// ============================================================================
1598
1617
1627
1631 std::string name;
1633 int32_t index;
1635 float prob;
1636};
1637
1640 : public MoveOnly<AudioTagging, SherpaOnnxAudioTagging> {
1641 public:
1644
1646 void Destroy(const SherpaOnnxAudioTagging *p) const;
1647
1656 std::vector<AudioEvent> Compute(const OfflineStream *s, int32_t top_k = -1);
1657
1660 std::shared_ptr<std::vector<AudioEvent>> ComputePtr(const OfflineStream *s,
1661 int32_t top_k = -1);
1662
1663 private:
1664 explicit AudioTagging(const SherpaOnnxAudioTagging *p);
1665};
1666
1667// ==============================
1668// Source Separation
1669// ==============================
1670
1678
1684
1702
1708
1712 std::vector<std::vector<float>> samples;
1713};
1714
1718 std::vector<SourceSeparationStem> stems;
1720 int32_t sample_rate = 0;
1721};
1722
1725 : public MoveOnly<OfflineSourceSeparation,
1726 SherpaOnnxOfflineSourceSeparation> {
1727 public:
1730 const OfflineSourceSeparationConfig &config);
1731
1734
1744 SourceSeparationOutput Process(const float *const *samples,
1745 int32_t num_channels, int32_t num_samples,
1746 int32_t sample_rate) const;
1747
1749 int32_t GetOutputSampleRate() const;
1750
1752 int32_t GetNumberOfStems() const;
1753
1754 private:
1756};
1757
1758// ============================================================================
1759// Spoken Language Identification
1760// ============================================================================
1761
1765 std::string encoder;
1767 std::string decoder;
1769 int32_t tail_paddings = 0;
1770};
1771
1783
1789
1792 : public MoveOnly<SpokenLanguageIdentification,
1793 SherpaOnnxSpokenLanguageIdentification> {
1794 public:
1798
1801
1804
1807
1808 private:
1811};
1812
1813// ============================================================================
1814// Speaker Embedding Extractor
1815// ============================================================================
1816
1820 std::string model;
1822 int32_t num_threads = 1;
1824 bool debug = false;
1826 std::string provider = "cpu";
1827};
1828
1831 : public MoveOnly<SpeakerEmbeddingExtractor,
1832 SherpaOnnxSpeakerEmbeddingExtractor> {
1833 public:
1836 const SpeakerEmbeddingExtractorConfig &config);
1837
1840
1842 int32_t Dim() const;
1843
1846
1848 bool IsReady(const OnlineStream *s) const;
1849
1851 std::vector<float> ComputeEmbedding(const OnlineStream *s) const;
1852
1853 private:
1856};
1857
1858// ============================================================================
1859// Speaker Embedding Manager
1860// ============================================================================
1861
1865 float score;
1867 std::string name;
1868};
1869
1872 : public MoveOnly<SpeakerEmbeddingManager,
1873 SherpaOnnxSpeakerEmbeddingManager> {
1874 public:
1876 static SpeakerEmbeddingManager Create(int32_t dim);
1877
1880
1882 bool Add(const std::string &name, const float *v) const;
1883
1885 bool AddList(const std::string &name, const float **v) const;
1886
1888 bool AddListFlattened(const std::string &name, const float *v,
1889 int32_t n) const;
1890
1892 bool Remove(const std::string &name) const;
1893
1895 std::string Search(const float *v, float threshold) const;
1896
1898 std::vector<SpeakerMatch> GetBestMatches(const float *v, float threshold,
1899 int32_t n) const;
1900
1902 bool Verify(const std::string &name, const float *v, float threshold) const;
1903
1905 bool Contains(const std::string &name) const;
1906
1908 int32_t NumSpeakers() const;
1909
1911 int32_t Dim() const;
1912
1914 std::vector<std::string> GetAllSpeakers() const;
1915
1917 std::vector<float> GetEmbedding(const std::string &name) const;
1918
1919 private:
1921};
1922
1923// ============================================================================
1924// Offline Speaker Diarization
1925// ============================================================================
1926
1934
1946
1951 int32_t num_clusters = 0;
1953 float threshold = 0.5;
1956};
1957
1971
1975 static constexpr float kUnavailableConfidence = -2.0f;
1976
1978 float start;
1980 float end;
1982 int32_t speaker;
1987};
1988
1991 std::function<void(int32_t num_processed_chunks, int32_t num_total_chunks)>;
1992
1995 : public MoveOnly<OfflineSpeakerDiarization,
1996 SherpaOnnxOfflineSpeakerDiarization> {
1997 public:
2000 const OfflineSpeakerDiarizationConfig &config);
2001
2004
2006 int32_t GetSampleRate() const;
2007
2010
2012 std::vector<OfflineSpeakerDiarizationSegment> Process(
2013 const float *samples, int32_t n) const;
2014
2016 std::vector<OfflineSpeakerDiarizationSegment> Process(
2017 const float *samples, int32_t n,
2018 const OfflineSpeakerDiarizationProgressCallback &callback) const;
2019
2020 private:
2023};
2024
2025// ============================================================================
2026// Offline Diacritization
2027// ============================================================================
2031 std::string catt_encoder;
2033 std::string catt_decoder;
2035 int32_t num_threads = 1;
2037 bool debug = false;
2039 std::string provider = "cpu";
2040};
2041
2047
2050 : public MoveOnly<OfflineDiacritization, SherpaOnnxOfflineDiacritization> {
2051 public:
2054
2056 void Destroy(const SherpaOnnxOfflineDiacritization *diacrt) const;
2057
2059 std::string AddDiacritics(const std::string &text) const;
2060
2061 private:
2063};
2064
2065} // namespace sherpa_onnx::cxx
2066
2067#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:3000
struct SherpaOnnxOfflineSpeechDenoiser SherpaOnnxOfflineSpeechDenoiser
Opaque offline speech denoiser handle.
Definition c-api.h:4197
struct SherpaOnnxOfflineStream SherpaOnnxOfflineStream
Non-streaming decoding state for one utterance.
Definition c-api.h:1220
#define SHERPA_ONNX_API
Definition c-api.h:106
struct SherpaOnnxOnlineSpeechDenoiser SherpaOnnxOnlineSpeechDenoiser
Opaque online speech denoiser handle.
Definition c-api.h:4295
struct SherpaOnnxOnlineStream SherpaOnnxOnlineStream
Streaming decoding state for one utterance or stream.
Definition c-api.h:444
struct SherpaOnnxOfflineRecognizer SherpaOnnxOfflineRecognizer
Non-streaming recognizer handle.
Definition c-api.h:1217
struct SherpaOnnxSpeakerEmbeddingManager SherpaOnnxSpeakerEmbeddingManager
Opaque speaker embedding manager handle.
Definition c-api.h:3225
struct SherpaOnnxKeywordSpotter SherpaOnnxKeywordSpotter
Opaque keyword spotter handle.
Definition c-api.h:1728
struct SherpaOnnxOnlinePunctuation SherpaOnnxOnlinePunctuation
Opaque online punctuation handle.
Definition c-api.h:3728
struct SherpaOnnxOnlineRecognizer SherpaOnnxOnlineRecognizer
Streaming recognizer handle.
Definition c-api.h:442
struct SherpaOnnxCircularBuffer SherpaOnnxCircularBuffer
Opaque circular-buffer handle used by helper APIs.
Definition c-api.h:1984
struct SherpaOnnxOfflineTts SherpaOnnxOfflineTts
Opaque offline TTS handle.
Definition c-api.h:2528
struct SherpaOnnxLinearResampler SherpaOnnxLinearResampler
Opaque linear resampler handle.
Definition c-api.h:3777
struct SherpaOnnxOfflineSourceSeparation SherpaOnnxOfflineSourceSeparation
Opaque source-separation engine handle.
Definition c-api.h:4409
struct SherpaOnnxOfflineSpeakerDiarization SherpaOnnxOfflineSpeakerDiarization
Opaque offline speaker diarization handle.
Definition c-api.h:3955
struct SherpaOnnxSpeakerEmbeddingExtractor SherpaOnnxSpeakerEmbeddingExtractor
Opaque speaker embedding extractor handle.
Definition c-api.h:3120
struct SherpaOnnxAudioTagging SherpaOnnxAudioTagging
Opaque audio tagger handle.
Definition c-api.h:3547
struct SherpaOnnxOfflinePunctuation SherpaOnnxOfflinePunctuation
Opaque offline punctuation handle.
Definition c-api.h:3651
struct SherpaOnnxVoiceActivityDetector SherpaOnnxVoiceActivityDetector
Opaque voice activity detector handle.
Definition c-api.h:2103
struct SherpaOnnxOfflineDiacritization SherpaOnnxOfflineDiacritization
Opaque offline diacritization handle.
Definition c-api.h:4720
RAII wrapper for audio tagging.
Definition cxx-api.h:1640
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:1394
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:1188
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:1473
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:2050
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:1535
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:812
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:1726
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:1996
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:1271
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:785
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:1102
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:1575
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:1298
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:1832
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:1873
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.
int32_t Dim() const
Return the embedding dimension.
std::vector< float > GetEmbedding(const std::string &name) const
Return a copy of the embedding of a speaker. Empty if missing.
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:1793
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:1431
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:1076
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:1991
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:1629
Configuration for audio tagging.
Definition cxx-api.h:1619
AudioTaggingModelConfig model
Definition cxx-api.h:1621
Audio-tagging model configuration.
Definition cxx-api.h:1605
OfflineZipformerAudioTaggingModelConfig zipformer
Definition cxx-api.h:1607
Denoised waveform returned by speech enhancement wrappers.
Definition cxx-api.h:1262
std::vector< float > samples
Definition cxx-api.h:1264
Fast clustering configuration.
Definition cxx-api.h:1948
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:1062
std::vector< float > samples
Definition cxx-api.h:1064
Generation-time options for advanced TTS synthesis.
Definition cxx-api.h:1027
std::unordered_map< std::string, std::string > extra
Definition cxx-api.h:1044
std::vector< float > reference_audio
Definition cxx-api.h:1035
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:1153
std::vector< float > timestamps
Definition cxx-api.h:1159
std::vector< std::string > tokens
Definition cxx-api.h:1157
Configuration for the C++ keyword spotting wrapper.
Definition cxx-api.h:1167
Offline Canary model configuration.
Definition cxx-api.h:466
Offline Cohere Transcribe model configuration.
Definition cxx-api.h:480
Decoder graph configuration for offline CTC + FST decoding.
Definition cxx-api.h:693
Configuration for offline diacritization.
Definition cxx-api.h:2043
OfflineDiacritizationModelConfig model
Definition cxx-api.h:2045
Offline diacritization model configuration.
Definition cxx-api.h:2029
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:1528
OfflinePunctuationModelConfig model
Definition cxx-api.h:1530
Offline punctuation model configuration.
Definition cxx-api.h:1516
Offline Qwen3-ASR model configuration.
Definition cxx-api.h:598
Configuration for offline ASR.
Definition cxx-api.h:732
OfflineCtcFstDecoderConfig ctc_fst_decoder_config
Definition cxx-api.h:759
Offline ASR result copied into C++ containers.
Definition cxx-api.h:763
std::vector< std::string > tokens
Definition cxx-api.h:769
Offline SenseVoice model configuration.
Definition cxx-api.h:514
Configuration for offline source separation.
Definition cxx-api.h:1704
OfflineSourceSeparationModelConfig model
Definition cxx-api.h:1706
Source-separation model configuration.
Definition cxx-api.h:1690
OfflineSourceSeparationUvrModelConfig uvr
Definition cxx-api.h:1694
OfflineSourceSeparationSpleeterModelConfig spleeter
Definition cxx-api.h:1692
Spleeter source-separation model configuration.
Definition cxx-api.h:1672
UVR (MDX-Net) source-separation model configuration.
Definition cxx-api.h:1680
Configuration for offline speaker diarization.
Definition cxx-api.h:1959
OfflineSpeakerSegmentationModelConfig segmentation
Definition cxx-api.h:1961
SpeakerEmbeddingExtractorConfig embedding
Definition cxx-api.h:1963
Segmentation model configuration for offline speaker diarization.
Definition cxx-api.h:1936
OfflineSpeakerSegmentationPyannoteModelConfig pyannote
Definition cxx-api.h:1938
Pyannote segmentation model configuration.
Definition cxx-api.h:1928
Configuration for offline speech denoising.
Definition cxx-api.h:1256
OfflineSpeechDenoiserModelConfig model
Definition cxx-api.h:1258
DPDFNet speech denoiser model configuration.
Definition cxx-api.h:1229
GTCRN speech denoiser model configuration.
Definition cxx-api.h:1223
Speech denoiser model configuration.
Definition cxx-api.h:1242
OfflineSpeechDenoiserGtcrnModelConfig gtcrn
Definition cxx-api.h:1244
OfflineSpeechDenoiserDpdfNetModelConfig dpdfnet
Definition cxx-api.h:1246
Offline transducer model files.
Definition cxx-api.h:426
Configuration for offline TTS.
Definition cxx-api.h:1048
OfflineTtsModelConfig model
Definition cxx-api.h:1050
Model configuration for offline TTS.
Definition cxx-api.h:1002
OfflineTtsKittenModelConfig kitten
Definition cxx-api.h:1010
OfflineTtsSupertonicModelConfig supertonic
Definition cxx-api.h:1016
OfflineTtsVitsModelConfig vits
Definition cxx-api.h:1004
OfflineTtsKokoroModelConfig kokoro
Definition cxx-api.h:1008
OfflineTtsMatchaModelConfig matcha
Definition cxx-api.h:1006
OfflineTtsPocketModelConfig pocket
Definition cxx-api.h:1014
OfflineTtsZipvoiceModelConfig zipvoice
Definition cxx-api.h:1012
Pocket TTS model configuration.
Definition cxx-api.h:958
Supertonic model configuration.
Definition cxx-api.h:979
ZipVoice model configuration.
Definition cxx-api.h:933
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:1594
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:1568
OnlinePunctuationModelConfig model
Definition cxx-api.h:1570
Online punctuation model configuration.
Definition cxx-api.h:1554
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:1291
OfflineSpeechDenoiserModelConfig model
Definition cxx-api.h:1293
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:1331
Output of a source-separation run.
Definition cxx-api.h:1716
std::vector< SourceSeparationStem > stems
Definition cxx-api.h:1718
A single stem (output track) with one or more channels.
Definition cxx-api.h:1710
std::vector< std::vector< float > > samples
Definition cxx-api.h:1712
Configuration for speaker embedding extraction.
Definition cxx-api.h:1818
One speaker match returned by the best-matches API.
Definition cxx-api.h:1863
One speech segment produced by the VAD wrapper.
Definition cxx-api.h:1385
std::vector< float > samples
Definition cxx-api.h:1389
Configuration for spoken language identification.
Definition cxx-api.h:1773
SpokenLanguageIdentificationWhisperConfig whisper
Definition cxx-api.h:1775
Result of spoken language identification.
Definition cxx-api.h:1785
Whisper model configuration for spoken language identification.
Definition cxx-api.h:1763
Ten VAD model configuration.
Definition cxx-api.h:1347
VAD model configuration.
Definition cxx-api.h:1368
SileroVadModelConfig silero_vad
Definition cxx-api.h:1370
Mono PCM waveform used by the helper I/O functions.
Definition cxx-api.h:258
std::vector< float > samples
Definition cxx-api.h:260