From: boolemancer Date: Wed, 8 Feb 2023 06:43:23 +0000 (-0800) Subject: whisper : only trim if split_on_word is true (#476) X-Git-Tag: upstream/1.7.4~1578 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=4dd7119debb3158a035af304d75482cd638a1830;p=pkg%2Fggml%2Fsources%2Fwhisper.cpp whisper : only trim if split_on_word is true (#476) --- diff --git a/whisper.cpp b/whisper.cpp index aedd343a..35d42f89 100644 --- a/whisper.cpp +++ b/whisper.cpp @@ -3014,8 +3014,7 @@ static inline void trim(std::string &s) { static inline bool should_split_on_word(const char * txt, bool split_on_word) { if (!split_on_word) return true; - std::string s = txt; - return s.substr(0, 1) == " "; + return txt[0] == ' '; } // wrap the last segment to max_len characters @@ -3039,7 +3038,10 @@ static int whisper_wrap_segment(struct whisper_context & ctx, int max_len, bool if (acc + cur > max_len && i > 0 && should_split_on_word(txt, split_on_word)) { // split here - trim(text); + if (split_on_word) { + trim(text); + } + ctx.result_all.back().text = std::move(text); ctx.result_all.back().t1 = token.t0; ctx.result_all.back().tokens.resize(i); @@ -3067,7 +3069,9 @@ static int whisper_wrap_segment(struct whisper_context & ctx, int max_len, bool } } - trim(text); + if (split_on_word) { + trim(text); + } ctx.result_all.back().text = std::move(text); return res;