Merge pull request #143 from Runware/feature-ACE-1-5-Step
Updated list of params for Audio Inference Settings
This commit is contained in:
@@ -1293,6 +1293,10 @@ function audioSettingsToggleHandler(settingsNode) {
|
||||
const maxNewTokensWidget = settingsNode.widgets.find(w => w && w.name === "maxNewTokens");
|
||||
const useTranscriptWidget = settingsNode.widgets.find(w => w && w.name === "useTranscript");
|
||||
const transcriptWidget = settingsNode.widgets.find(w => w && w.name === "transcript");
|
||||
const useCfgIntervalStartWidget = settingsNode.widgets.find(w => w && w.name === "useCfgIntervalStart");
|
||||
const cfgIntervalStartWidget = settingsNode.widgets.find(w => w && w.name === "cfgIntervalStart");
|
||||
const useCfgIntervalEndWidget = settingsNode.widgets.find(w => w && w.name === "useCfgIntervalEnd");
|
||||
const cfgIntervalEndWidget = settingsNode.widgets.find(w => w && w.name === "cfgIntervalEnd");
|
||||
|
||||
function toggleWidgetState(useWidget, paramWidget, paramName) {
|
||||
if (!useWidget || !paramWidget) return;
|
||||
@@ -1331,6 +1335,8 @@ function audioSettingsToggleHandler(settingsNode) {
|
||||
if (useXVectorOnlyWidget && xVectorOnlyWidget) toggleWidgetState(useXVectorOnlyWidget, xVectorOnlyWidget, "xVectorOnly");
|
||||
if (useMaxNewTokensWidget && maxNewTokensWidget) toggleWidgetState(useMaxNewTokensWidget, maxNewTokensWidget, "maxNewTokens");
|
||||
if (useTranscriptWidget && transcriptWidget) toggleWidgetState(useTranscriptWidget, transcriptWidget, "transcript");
|
||||
if (useCfgIntervalStartWidget && cfgIntervalStartWidget) toggleWidgetState(useCfgIntervalStartWidget, cfgIntervalStartWidget, "cfgIntervalStart");
|
||||
if (useCfgIntervalEndWidget && cfgIntervalEndWidget) toggleWidgetState(useCfgIntervalEndWidget, cfgIntervalEndWidget, "cfgIntervalEnd");
|
||||
}
|
||||
|
||||
function textInferenceSettingsToggleHandler(settingsNode) {
|
||||
@@ -3336,6 +3342,9 @@ function audioModelSearchFilterHandler(audioModelSearchNode) {
|
||||
"runware:ace-step@0 (ACE Step v1 3.5B)",
|
||||
"runware:ace-step@v1.5-base (ACE-Step v1.5 Base)",
|
||||
"runware:ace-step@v1.5-turbo (ACE-Step v1.5 Turbo)",
|
||||
"runware:ace-step@v1.5-xl-base (ACE-Step v1.5 XL Base)",
|
||||
"runware:ace-step@v1.5-xl-turbo (ACE-Step v1.5 XL Turbo)",
|
||||
"runware:ace-step@v1.5-xl-sft (ACE-Step v1.5 XL SFT)",
|
||||
],
|
||||
"Alibaba": [
|
||||
"alibaba:qwen@3-tts-1.7b-voicedesign (Qwen3 TTS 1.7B Voice Design)",
|
||||
|
||||
@@ -56,9 +56,9 @@ class RunwareAudioInference:
|
||||
"default": False,
|
||||
"tooltip": "Enable/disable bitrate parameter in API request"
|
||||
}),
|
||||
"bitrate": ([16, 32, 64, 128, 256], {
|
||||
"bitrate": ([8, 16, 32, 64, 128, 256], {
|
||||
"default": 128,
|
||||
"tooltip": "Audio bitrate in kbps. Allowed: 16, 32, 64, 128, 256. Applies to compressed formats (e.g. MP3, OGG).",
|
||||
"tooltip": "Audio bitrate in kbps. Allowed: 8, 16, 32, 64, 128, 256. Applies to compressed formats (e.g. MP3, OGG).",
|
||||
}),
|
||||
"useChannels": ("BOOLEAN", {
|
||||
"default": False,
|
||||
@@ -317,7 +317,7 @@ class RunwareAudioInference:
|
||||
audioSettings["sampleRate"] = int(params["sampleRate"])
|
||||
if params["useBitrate"]:
|
||||
_br = int(params["bitrate"])
|
||||
_allowed_bitrates = (16, 32, 64, 128, 256)
|
||||
_allowed_bitrates = (8, 16, 32, 64, 128, 256)
|
||||
audioSettings["bitrate"] = _br if _br in _allowed_bitrates else min(_allowed_bitrates, key=lambda x: abs(x - _br))
|
||||
if params["useChannels"]:
|
||||
audioSettings["channels"] = params["channels"]
|
||||
|
||||
@@ -18,6 +18,9 @@ class RunwareAudioModelSearch:
|
||||
"runware:ace-step@0 (ACE Step v1 3.5B)",
|
||||
"runware:ace-step@v1.5-base (ACE-Step v1.5 Base)",
|
||||
"runware:ace-step@v1.5-turbo (ACE-Step v1.5 Turbo)",
|
||||
"runware:ace-step@v1.5-xl-base (ACE-Step v1.5 XL Base)",
|
||||
"runware:ace-step@v1.5-xl-turbo (ACE-Step v1.5 XL Turbo)",
|
||||
"runware:ace-step@v1.5-xl-sft (ACE-Step v1.5 XL SFT)",
|
||||
],
|
||||
"Alibaba": [
|
||||
"alibaba:qwen@3-tts-1.7b-voicedesign (Qwen3 TTS 1.7B Voice Design)",
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
"""
|
||||
Runware Audio Inference Settings Node
|
||||
Provides lyrics, lyricsOptimizer, instrumental, guidanceType, languageBoost, turbo, temperature, textNormalization,
|
||||
bpm, keyScale, timeSignature, vocalLanguage, coverConditioningScale, repaintingStart,
|
||||
repaintingEnd, xVectorOnly, maxNewTokens, transcript, and more for Runware Audio Inference.
|
||||
bpm, keyScale, timeSignature, vocalLanguage, coverConditioningScale, repaintingStart, repaintingEnd,
|
||||
cfgIntervalStart, cfgIntervalEnd, xVectorOnly, maxNewTokens, transcript,
|
||||
and more for Runware Audio Inference.
|
||||
"""
|
||||
|
||||
from typing import Dict, Any
|
||||
@@ -233,6 +234,28 @@ class RunwareAudioSettings:
|
||||
"label_on": "true",
|
||||
"label_off": "false",
|
||||
}),
|
||||
"useCfgIntervalStart": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include cfgIntervalStart (diffusion ratio where CFG begins). ACE-Step Base only — not supported on Turbo variants.",
|
||||
"default": False,
|
||||
}),
|
||||
"cfgIntervalStart": ("FLOAT", {
|
||||
"tooltip": "Diffusion ratio where CFG begins (0.0 = first step). Only used when 'Use Cfg Interval Start' is enabled.",
|
||||
"default": 0.0,
|
||||
"min": 0.0,
|
||||
"max": 1.0,
|
||||
"step": 0.01,
|
||||
}),
|
||||
"useCfgIntervalEnd": ("BOOLEAN", {
|
||||
"tooltip": "Enable to include cfgIntervalEnd (diffusion ratio where CFG ends). ACE-Step Base only — not supported on Turbo variants.",
|
||||
"default": False,
|
||||
}),
|
||||
"cfgIntervalEnd": ("FLOAT", {
|
||||
"tooltip": "Diffusion ratio where CFG ends (1.0 = last step). Only used when 'Use Cfg Interval End' is enabled.",
|
||||
"default": 1.0,
|
||||
"min": 0.0,
|
||||
"max": 1.0,
|
||||
"step": 0.01,
|
||||
}),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -243,7 +266,8 @@ class RunwareAudioSettings:
|
||||
DESCRIPTION = (
|
||||
"Configure audio generation settings (lyrics, lyricsOptimizer, instrumental, guidanceType, languageBoost, turbo, temperature, textNormalization, "
|
||||
"bpm, keyScale, timeSignature, vocalLanguage, coverConditioningScale, repaintingStart, repaintingEnd, "
|
||||
"xVectorOnly, maxNewTokens, transcript, etc.) for Runware Audio Inference. Connect to Runware Audio Inference node."
|
||||
"cfgIntervalStart, cfgIntervalEnd, xVectorOnly, maxNewTokens, transcript, etc.) "
|
||||
"for Runware Audio Inference. Connect to Runware Audio Inference node."
|
||||
)
|
||||
|
||||
def createSettings(self, **kwargs) -> tuple[Dict[str, Any]]:
|
||||
@@ -290,6 +314,10 @@ class RunwareAudioSettings:
|
||||
max_new_tokens = kwargs.get("maxNewTokens", 4096)
|
||||
use_transcript = kwargs.get("useTranscript", False)
|
||||
transcript = kwargs.get("transcript", "") or ""
|
||||
use_cfg_interval_start = kwargs.get("useCfgIntervalStart", False)
|
||||
cfg_interval_start = kwargs.get("cfgIntervalStart", 0.0)
|
||||
use_cfg_interval_end = kwargs.get("useCfgIntervalEnd", False)
|
||||
cfg_interval_end = kwargs.get("cfgIntervalEnd", 1.0)
|
||||
|
||||
settings: Dict[str, Any] = {}
|
||||
|
||||
@@ -351,6 +379,12 @@ class RunwareAudioSettings:
|
||||
if use_transcript and transcript.strip():
|
||||
settings["transcript"] = transcript.strip()
|
||||
|
||||
if use_cfg_interval_start:
|
||||
settings["cfgIntervalStart"] = float(cfg_interval_start)
|
||||
|
||||
if use_cfg_interval_end:
|
||||
settings["cfgIntervalEnd"] = float(cfg_interval_end)
|
||||
|
||||
return (settings,)
|
||||
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user