diff --git a/klite.embd b/klite.embd index 20f5fed3e..fcee09fb9 100644 --- a/klite.embd +++ b/klite.embd @@ -6021,8 +6021,8 @@ Current version indicated by LITEVER below. }; const replaceLatex = (input) =>{ //all latex patterns except inline tex - input = input.replace(/(^```math\n([\s\S]*?)\n```$|^ {0,6}\\\[\n([\s\S]*?)\n {0,6}\\\]$|^\$\$\n([\s\S]*?)\n\$\$$|\$\$([^\n]+?)\$\$|\\\(([^\n]+?)\\\)|\\\[([^\n]+?)\\\])/gm, (match, p1, p2, p3, p4, p5, p6, p7) => { - let content = p2 || p3 || p4 || p5 || p6 || p7; + input = input.replace(/(^```math\n([\s\S]*?)\n```$|^ {0,6}\\\[\n([\s\S]*?)\n {0,6}\\\]$|^\$\$\n([\s\S]*?)\n\$\$$|^ {2}\$\$\n {2}([\s\S]*?)\n {2}\$\$$|\$\$([^\n]+?)\$\$|\\\(([^\n]+?)\\\)|\\\[([^\n]+?)\\\])/gm, (match, p1, p2, p3, p4, p5, p6, p7, p8) => { + let content = p2 || p3 || p4 || p5 || p6 || p7 || p8; const matchedlw = match.match(/^[ \t]*/); const leadingWhitespace = matchedlw ? matchedlw[0] : ''; content = unescape_html(content); @@ -6032,23 +6032,32 @@ Current version indicated by LITEVER below. } return leadingWhitespace + temml.renderToString(content); // render LaTeX content }); - input = input.replace(/(?:^|[^\\])\$(\S[^$\n]*?\S)\$(?!\d)/g, (match, p1) => { + input = input.replace(/(^|[^\\])\$(\S[^$\n]*?\S)\$(?!\d)/g, (match, prefix, p1) => { let content = p1; content = unescape_html(content); if(content.replace(/\s+/g, '').match(/^\${1,}$/)) //only dollar signs, just return { return match; } - return " "+temml.renderToString(content); // render LaTeX content + return prefix+temml.renderToString(content); // render LaTeX content }); - input = input.replace(/(?:^|[^\\])\$ (\S[^$\n$]*?\S) \$(?!\d)/g, (match, p1) => { //special version that handles a single space on both sides + input = input.replace(/(^|[^\\])\$([A-Za-z0-9])\$(?!\d)/g, (match, prefix, p1) => { //single letter or number let content = p1; content = unescape_html(content); if(content.replace(/\s+/g, '').match(/^\${1,}$/)) //only dollar signs, just return { return match; } - return " "+temml.renderToString(content); // render LaTeX content + return prefix+temml.renderToString(content); // render LaTeX content + }); + input = input.replace(/(^|[^\\])\$ (\S[^$\n]*?) \$(?!\d)/g, (match, prefix, p1) => { //special version that handles a single space on both sides + let content = p1; + content = unescape_html(content); + if(content.replace(/\s+/g, '').match(/^\${1,}$/)) //only dollar signs, just return + { + return match; + } + return prefix+temml.renderToString(content); // render LaTeX content }); input = input.replace(/(^\\begin\{math\}\n([\s\S]*?)\n\\end\{math\}$|^\\begin\{equation\}\n([\s\S]*?)\n\\end\{equation\}$)/gm, (match, p1, p2, p3) => { //match math eqns let content = p2 || p3; diff --git a/koboldcpp.py b/koboldcpp.py index 3bd4a60f1..161a1cae6 100644 --- a/koboldcpp.py +++ b/koboldcpp.py @@ -5835,7 +5835,7 @@ def show_gui(): export_vars() savdict = json.loads(json.dumps(args.__dict__)) file_type = [("KoboldCpp Settings", "*.kcpps")] - filename = zentk_asksaveasfilename(filetypes=file_type, defaultextension=".kcpps") + filename = zentk_asksaveasfilename(filetypes=file_type, defaultextension=".kcpps",title="Save kcpps settings config file") if not filename: return filenamestr = str(filename).strip() diff --git a/otherarch/tts_adapter.cpp b/otherarch/tts_adapter.cpp index 6387bc1c5..6021fec48 100644 --- a/otherarch/tts_adapter.cpp +++ b/otherarch/tts_adapter.cpp @@ -557,7 +557,7 @@ bool ttstype_load_model(const tts_load_model_inputs inputs) // tts init if (is_ttscpp_file) { - ttscpp_config = new generation_configuration("am_adam", 50, 1.0, 1.0, true, "", 0, 1.0); + ttscpp_config = new generation_configuration("am_adam", 50, 1.0, 1.0, true, "", 1024, 1.0); ttscpp_runner = runner_from_file(modelfile_ttc, inputs.threads, ttscpp_config, true); if (ttscpp_runner == nullptr) { printf("\nTTS Load Error: Failed to initialize TTSCPP!\n"); @@ -681,12 +681,16 @@ static tts_generation_outputs ttstype_generate_ttscpp(const tts_generation_input } ttscpp_config->voice = voiceused; + if(!tts_is_quiet) + { + printf("\nTTS Generating..."); + } tts_response response_data; int errorres = generate(ttscpp_runner, prompt, &response_data, ttscpp_config); if(errorres==0) { ttstime = timer_check(); - printf("\nTTS Generated %d audio in %.2fs.\n",ttstime); + printf("\nTTS Generated audio in %.2fs.\n",ttstime); std::vector wavdat = std::vector(response_data.data, response_data.data + response_data.n_outputs); last_generated_audio = save_wav16_base64(wavdat, ttscpp_runner->sampling_rate); output.data = last_generated_audio.c_str(); diff --git a/otherarch/ttscpp/src/dia_model.cpp b/otherarch/ttscpp/src/dia_model.cpp index d7ec2685f..ee7524a7b 100644 --- a/otherarch/ttscpp/src/dia_model.cpp +++ b/otherarch/ttscpp/src/dia_model.cpp @@ -2,6 +2,11 @@ void dia_model::assign_weight(std::string name, struct ggml_tensor * tensor) { std::vector parts = split(name, "."); + // GGML_LOG("\nassign_weight %s\n",name.c_str()); + if(name=="GGUF tensor data binary blob") //patch for gguf, idk why this tensor exists + { + return; + } TTS_ASSERT(parts.size() >= 3); if (parts[1] == "encoder") {