diff --git a/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/audio-tagging.cc b/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/audio-tagging.cc index bed4e48a..f4d6ac53 100644 --- a/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/audio-tagging.cc +++ b/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/audio-tagging.cc @@ -82,21 +82,10 @@ static Napi::External CreateAudioTaggingWrapper( const SherpaOnnxAudioTagging *at = SherpaOnnxCreateAudioTagging(&c); - if (c.model.zipformer.model) { - delete[] c.model.zipformer.model; - } - - if (c.model.ced) { - delete[] c.model.ced; - } - - if (c.model.provider) { - delete[] c.model.provider; - } - - if (c.labels) { - delete[] c.labels; - } + SHERPA_ONNX_DELETE_C_STR(c.model.zipformer.model); + SHERPA_ONNX_DELETE_C_STR(c.model.ced); + SHERPA_ONNX_DELETE_C_STR(c.model.provider); + SHERPA_ONNX_DELETE_C_STR(c.labels); if (!at) { Napi::TypeError::New(env, "Please check your config!") diff --git a/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/keyword-spotting.cc b/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/keyword-spotting.cc index 08f1b517..6980f1ab 100644 --- a/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/keyword-spotting.cc +++ b/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/keyword-spotting.cc @@ -47,50 +47,20 @@ static Napi::External CreateKeywordSpotterWrapper( SHERPA_ONNX_ASSIGN_ATTR_INT32(keywords_buf_size, keywordsBufSize); const SherpaOnnxKeywordSpotter *kws = SherpaOnnxCreateKeywordSpotter(&c); + SHERPA_ONNX_DELETE_C_STR(c.model_config.transducer.encoder); + SHERPA_ONNX_DELETE_C_STR(c.model_config.transducer.decoder); + SHERPA_ONNX_DELETE_C_STR(c.model_config.transducer.joiner); - if (c.model_config.transducer.encoder) { - delete[] c.model_config.transducer.encoder; - } + SHERPA_ONNX_DELETE_C_STR(c.model_config.paraformer.encoder); + SHERPA_ONNX_DELETE_C_STR(c.model_config.paraformer.decoder); - if (c.model_config.transducer.decoder) { - delete[] c.model_config.transducer.decoder; - } + SHERPA_ONNX_DELETE_C_STR(c.model_config.zipformer2_ctc.model); - if (c.model_config.transducer.joiner) { - delete[] c.model_config.transducer.joiner; - } - - if (c.model_config.paraformer.encoder) { - delete[] c.model_config.paraformer.encoder; - } - - if (c.model_config.paraformer.decoder) { - delete[] c.model_config.paraformer.decoder; - } - - if (c.model_config.zipformer2_ctc.model) { - delete[] c.model_config.zipformer2_ctc.model; - } - - if (c.model_config.tokens) { - delete[] c.model_config.tokens; - } - - if (c.model_config.provider) { - delete[] c.model_config.provider; - } - - if (c.model_config.model_type) { - delete[] c.model_config.model_type; - } - - if (c.keywords_file) { - delete[] c.keywords_file; - } - - if (c.keywords_buf) { - delete[] c.keywords_buf; - } + SHERPA_ONNX_DELETE_C_STR(c.model_config.tokens); + SHERPA_ONNX_DELETE_C_STR(c.model_config.provider); + SHERPA_ONNX_DELETE_C_STR(c.model_config.model_type); + SHERPA_ONNX_DELETE_C_STR(c.keywords_file); + SHERPA_ONNX_DELETE_C_STR(c.keywords_buf); if (!kws) { Napi::TypeError::New(env, "Please check your config!") diff --git a/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/non-streaming-speaker-diarization.cc b/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/non-streaming-speaker-diarization.cc index a6b1f302..cf23fa75 100644 --- a/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/non-streaming-speaker-diarization.cc +++ b/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/non-streaming-speaker-diarization.cc @@ -154,21 +154,10 @@ CreateOfflineSpeakerDiarizationWrapper(const Napi::CallbackInfo &info) { SherpaOnnxCreateOfflineSpeakerDiarization(&c); #endif - if (c.segmentation.pyannote.model) { - delete[] c.segmentation.pyannote.model; - } - - if (c.segmentation.provider) { - delete[] c.segmentation.provider; - } - - if (c.embedding.model) { - delete[] c.embedding.model; - } - - if (c.embedding.provider) { - delete[] c.embedding.provider; - } + SHERPA_ONNX_DELETE_C_STR(c.segmentation.pyannote.model); + SHERPA_ONNX_DELETE_C_STR(c.segmentation.provider); + SHERPA_ONNX_DELETE_C_STR(c.embedding.model); + SHERPA_ONNX_DELETE_C_STR(c.embedding.provider); if (!sd) { Napi::TypeError::New(env, "Please check your config!") diff --git a/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/non-streaming-tts.cc b/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/non-streaming-tts.cc index 55d4adb2..bfd07804 100644 --- a/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/non-streaming-tts.cc +++ b/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/non-streaming-tts.cc @@ -155,78 +155,28 @@ static Napi::External CreateOfflineTtsWrapper( #else const SherpaOnnxOfflineTts *tts = SherpaOnnxCreateOfflineTts(&c); #endif + SHERPA_ONNX_DELETE_C_STR(c.model.vits.model); + SHERPA_ONNX_DELETE_C_STR(c.model.vits.lexicon); + SHERPA_ONNX_DELETE_C_STR(c.model.vits.tokens); + SHERPA_ONNX_DELETE_C_STR(c.model.vits.data_dir); + SHERPA_ONNX_DELETE_C_STR(c.model.vits.dict_dir); - if (c.model.vits.model) { - delete[] c.model.vits.model; - } + SHERPA_ONNX_DELETE_C_STR(c.model.matcha.acoustic_model); + SHERPA_ONNX_DELETE_C_STR(c.model.matcha.vocoder); + SHERPA_ONNX_DELETE_C_STR(c.model.matcha.lexicon); + SHERPA_ONNX_DELETE_C_STR(c.model.matcha.tokens); + SHERPA_ONNX_DELETE_C_STR(c.model.matcha.data_dir); + SHERPA_ONNX_DELETE_C_STR(c.model.matcha.dict_dir); - if (c.model.vits.lexicon) { - delete[] c.model.vits.lexicon; - } + SHERPA_ONNX_DELETE_C_STR(c.model.kokoro.model); + SHERPA_ONNX_DELETE_C_STR(c.model.kokoro.voices); + SHERPA_ONNX_DELETE_C_STR(c.model.kokoro.tokens); + SHERPA_ONNX_DELETE_C_STR(c.model.kokoro.data_dir); - if (c.model.vits.tokens) { - delete[] c.model.vits.tokens; - } + SHERPA_ONNX_DELETE_C_STR(c.model.provider); - if (c.model.vits.data_dir) { - delete[] c.model.vits.data_dir; - } - - if (c.model.vits.dict_dir) { - delete[] c.model.vits.dict_dir; - } - - if (c.model.matcha.acoustic_model) { - delete[] c.model.matcha.acoustic_model; - } - - if (c.model.matcha.vocoder) { - delete[] c.model.matcha.vocoder; - } - - if (c.model.matcha.lexicon) { - delete[] c.model.matcha.lexicon; - } - - if (c.model.matcha.tokens) { - delete[] c.model.matcha.tokens; - } - - if (c.model.matcha.data_dir) { - delete[] c.model.matcha.data_dir; - } - - if (c.model.matcha.dict_dir) { - delete[] c.model.matcha.dict_dir; - } - - if (c.model.kokoro.model) { - delete[] c.model.kokoro.model; - } - - if (c.model.kokoro.voices) { - delete[] c.model.kokoro.voices; - } - - if (c.model.kokoro.tokens) { - delete[] c.model.kokoro.tokens; - } - - if (c.model.kokoro.data_dir) { - delete[] c.model.kokoro.data_dir; - } - - if (c.model.provider) { - delete[] c.model.provider; - } - - if (c.rule_fsts) { - delete[] c.rule_fsts; - } - - if (c.rule_fars) { - delete[] c.rule_fars; - } + SHERPA_ONNX_DELETE_C_STR(c.rule_fsts); + SHERPA_ONNX_DELETE_C_STR(c.rule_fars); if (!tts) { Napi::TypeError::New(env, "Please check your config!") diff --git a/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/punctuation.cc b/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/punctuation.cc index df079b96..df4c920f 100644 --- a/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/punctuation.cc +++ b/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/punctuation.cc @@ -63,13 +63,8 @@ CreateOfflinePunctuationWrapper(const Napi::CallbackInfo &info) { const SherpaOnnxOfflinePunctuation *punct = SherpaOnnxCreateOfflinePunctuation(&c); - if (c.model.ct_transformer) { - delete[] c.model.ct_transformer; - } - - if (c.model.provider) { - delete[] c.model.provider; - } + SHERPA_ONNX_DELETE_C_STR(c.model.ct_transformer); + SHERPA_ONNX_DELETE_C_STR(c.model.provider); if (!punct) { Napi::TypeError::New(env, "Please check your config!") diff --git a/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/speaker-identification.cc b/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/speaker-identification.cc index bf49fef9..5a1ee558 100644 --- a/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/speaker-identification.cc +++ b/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/speaker-identification.cc @@ -70,14 +70,8 @@ CreateSpeakerEmbeddingExtractorWrapper(const Napi::CallbackInfo &info) { const SherpaOnnxSpeakerEmbeddingExtractor *extractor = SherpaOnnxCreateSpeakerEmbeddingExtractor(&c); #endif - - if (c.model) { - delete[] c.model; - } - - if (c.provider) { - delete[] c.provider; - } + SHERPA_ONNX_DELETE_C_STR(c.model); + SHERPA_ONNX_DELETE_C_STR(c.provider); if (!extractor) { Napi::TypeError::New(env, "Please check your config!") diff --git a/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/spoken-language-identification.cc b/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/spoken-language-identification.cc index 35ade654..c40e838b 100644 --- a/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/spoken-language-identification.cc +++ b/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/spoken-language-identification.cc @@ -66,17 +66,9 @@ CreateSpokenLanguageIdentificationWrapper(const Napi::CallbackInfo &info) { const SherpaOnnxSpokenLanguageIdentification *slid = SherpaOnnxCreateSpokenLanguageIdentification(&c); - if (c.whisper.encoder) { - delete[] c.whisper.encoder; - } - - if (c.whisper.decoder) { - delete[] c.whisper.decoder; - } - - if (c.provider) { - delete[] c.provider; - } + SHERPA_ONNX_DELETE_C_STR(c.whisper.encoder); + SHERPA_ONNX_DELETE_C_STR(c.whisper.decoder); + SHERPA_ONNX_DELETE_C_STR(c.provider); if (!slid) { Napi::TypeError::New(env, "Please check your config!") diff --git a/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/streaming-asr.cc b/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/streaming-asr.cc index 59ad5ce5..fce28358 100644 --- a/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/streaming-asr.cc +++ b/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/streaming-asr.cc @@ -222,78 +222,26 @@ static Napi::External CreateOnlineRecognizerWrapper( const SherpaOnnxOnlineRecognizer *recognizer = SherpaOnnxCreateOnlineRecognizer(&c); #endif + SHERPA_ONNX_DELETE_C_STR(c.model_config.transducer.encoder); + SHERPA_ONNX_DELETE_C_STR(c.model_config.transducer.decoder); + SHERPA_ONNX_DELETE_C_STR(c.model_config.transducer.joiner); - if (c.model_config.transducer.encoder) { - delete[] c.model_config.transducer.encoder; - } + SHERPA_ONNX_DELETE_C_STR(c.model_config.paraformer.encoder); + SHERPA_ONNX_DELETE_C_STR(c.model_config.paraformer.decoder); - if (c.model_config.transducer.decoder) { - delete[] c.model_config.transducer.decoder; - } - - if (c.model_config.transducer.joiner) { - delete[] c.model_config.transducer.joiner; - } - - if (c.model_config.paraformer.encoder) { - delete[] c.model_config.paraformer.encoder; - } - - if (c.model_config.paraformer.decoder) { - delete[] c.model_config.paraformer.decoder; - } - - if (c.model_config.zipformer2_ctc.model) { - delete[] c.model_config.zipformer2_ctc.model; - } - - if (c.model_config.tokens) { - delete[] c.model_config.tokens; - } - - if (c.model_config.provider) { - delete[] c.model_config.provider; - } - - if (c.model_config.model_type) { - delete[] c.model_config.model_type; - } - - if (c.model_config.modeling_unit) { - delete[] c.model_config.modeling_unit; - } - - if (c.model_config.bpe_vocab) { - delete[] c.model_config.bpe_vocab; - } - - if (c.model_config.tokens_buf) { - delete[] c.model_config.tokens_buf; - } - - if (c.decoding_method) { - delete[] c.decoding_method; - } - - if (c.hotwords_file) { - delete[] c.hotwords_file; - } - - if (c.rule_fsts) { - delete[] c.rule_fsts; - } - - if (c.rule_fars) { - delete[] c.rule_fars; - } - - if (c.hotwords_buf) { - delete[] c.hotwords_buf; - } - - if (c.ctc_fst_decoder_config.graph) { - delete[] c.ctc_fst_decoder_config.graph; - } + SHERPA_ONNX_DELETE_C_STR(c.model_config.zipformer2_ctc.model); + SHERPA_ONNX_DELETE_C_STR(c.model_config.tokens); + SHERPA_ONNX_DELETE_C_STR(c.model_config.provider); + SHERPA_ONNX_DELETE_C_STR(c.model_config.model_type); + SHERPA_ONNX_DELETE_C_STR(c.model_config.modeling_unit); + SHERPA_ONNX_DELETE_C_STR(c.model_config.bpe_vocab); + SHERPA_ONNX_DELETE_C_STR(c.model_config.tokens_buf); + SHERPA_ONNX_DELETE_C_STR(c.decoding_method); + SHERPA_ONNX_DELETE_C_STR(c.hotwords_file); + SHERPA_ONNX_DELETE_C_STR(c.rule_fsts); + SHERPA_ONNX_DELETE_C_STR(c.rule_fars); + SHERPA_ONNX_DELETE_C_STR(c.hotwords_buf); + SHERPA_ONNX_DELETE_C_STR(c.ctc_fst_decoder_config.graph); if (!recognizer) { Napi::TypeError::New(env, "Please check your config!") diff --git a/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/vad.cc b/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/vad.cc index b1defcac..81eed7c8 100644 --- a/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/vad.cc +++ b/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/vad.cc @@ -367,14 +367,8 @@ CreateVoiceActivityDetectorWrapper(const Napi::CallbackInfo &info) { SherpaOnnxVoiceActivityDetector *vad = SherpaOnnxCreateVoiceActivityDetector(&c, buffer_size_in_seconds); #endif - - if (c.silero_vad.model) { - delete[] c.silero_vad.model; - } - - if (c.provider) { - delete[] c.provider; - } + SHERPA_ONNX_DELETE_C_STR(c.silero_vad.model); + SHERPA_ONNX_DELETE_C_STR(c.provider); return Napi::External::New( env, vad, [](Napi::Env env, SherpaOnnxVoiceActivityDetector *p) {