From 488c431331cc2ee752b4289fd3222a14d8373766 Mon Sep 17 00:00:00 2001 From: Concedo <39025047+LostRuins@users.noreply.github.com> Date: Tue, 24 Feb 2026 17:47:50 +0800 Subject: [PATCH] not yet working --- expose.h | 1 + koboldcpp.py | 14 ++++++++++++-- otherarch/acestep/dit-vae.cpp | 3 +-- otherarch/acestep/music_adapter.cpp | 22 ++++++++++++++++++++++ 4 files changed, 36 insertions(+), 4 deletions(-) diff --git a/expose.h b/expose.h index 9c8e4e0a6..34fb51d2e 100644 --- a/expose.h +++ b/expose.h @@ -348,6 +348,7 @@ struct music_generation_outputs { int status = -1; const char * codes_json = ""; + const char * data = ""; }; extern std::string executable_path; diff --git a/koboldcpp.py b/koboldcpp.py index f01db1f0d..8898f0158 100755 --- a/koboldcpp.py +++ b/koboldcpp.py @@ -455,7 +455,8 @@ class music_generation_inputs(ctypes.Structure): class music_generation_outputs(ctypes.Structure): _fields_ = [("status", ctypes.c_int), - ("codes_json", ctypes.c_char_p)] + ("codes_json", ctypes.c_char_p), + ("data", ctypes.c_char_p)] class StdoutRedirector: def __init__(self, writer): @@ -2388,7 +2389,16 @@ def music_generate_codes(genparams): return outstr def music_generate_audio(genparams): - return "" + global args + input_json = json.dumps(genparams) + inputs = music_generation_inputs() + inputs.is_codes = False + inputs.input_json = input_json.encode("UTF-8") + ret = handle.music_generate(inputs) + outstr = "" + if ret.status==1: + outstr = ret.data.decode("UTF-8","ignore") + return outstr def tokenize_ids(countprompt,tcaddspecial): rawcountdata = handle.token_count(countprompt.encode("UTF-8"),tcaddspecial) diff --git a/otherarch/acestep/dit-vae.cpp b/otherarch/acestep/dit-vae.cpp index 04e5356d0..721093cbf 100644 --- a/otherarch/acestep/dit-vae.cpp +++ b/otherarch/acestep/dit-vae.cpp @@ -690,8 +690,7 @@ std::string acestep_generate_audio(const music_generation_inputs inputs) return ""; } if (req.caption.empty()) { - fprintf(stderr, "ERROR: music gen caption is empty!\n"); - return ""; + req.caption = "An interesting song"; } const int FRAMES_PER_SECOND = 25; diff --git a/otherarch/acestep/music_adapter.cpp b/otherarch/acestep/music_adapter.cpp index 79559ef7d..4ed5a7d0a 100644 --- a/otherarch/acestep/music_adapter.cpp +++ b/otherarch/acestep/music_adapter.cpp @@ -26,6 +26,7 @@ static bool musicgen_loaded = false; static std::string musicvulkandeviceenv; static std::string codes_json_str = ""; +static std::string b64_music_output = ""; bool musictype_load_model(const music_load_model_inputs inputs) { @@ -82,6 +83,7 @@ music_generation_outputs musictype_generate(const music_generation_inputs inputs printf("\nWarning: KCPP music gen not initialized!\n"); output.status = 0; output.codes_json = ""; + output.data = ""; return output; } @@ -95,14 +97,34 @@ music_generation_outputs musictype_generate(const music_generation_inputs inputs printf("\nMusic codes generation failed!\n"); output.status = 0; output.codes_json = ""; + output.data = ""; return output; } output.status = 1; + output.data = ""; output.codes_json = codes_json_str.c_str(); if (!music_is_quiet) { printf("\nMusic Gen Codes Done:\n%s\n",codes_json_str.c_str()); } } else { + if (!music_is_quiet) { + printf("\nMusic Gen Generating Audio..."); + } + b64_music_output = acestep_generate_audio(inputs); + if(b64_music_output=="") + { + printf("\nMusic audio generation failed!\n"); + output.status = 0; + output.codes_json = ""; + output.data = ""; + return output; + } + output.status = 1; + output.data = b64_music_output.c_str(); + output.codes_json = ""; + if (!music_is_quiet) { + printf("\nMusic Gen Audio Done\n"); + } } return output;