Tune ACE-Step XL-SFT test defaults
This commit is contained in:
@@ -16,8 +16,8 @@ Python-Modulen und teilweise aus dem Browser-`localStorage`. Deshalb bindet der
|
||||
Compose-Dienst vier kleine, versionierte Overrides aus `./overrides` read-only
|
||||
in den Container ein. Sie setzen fuer das XL-SFT-Modell:
|
||||
|
||||
- 50 DiT-Schritte, Guidance 7, ODE/Euler und CFG-Intervall 0 bis 1 (Upstream-Defaults)
|
||||
- Shift 1 statt des fehlerhaften UI-Werts 3
|
||||
- 80 DiT-Schritte, Guidance 8, Shift 3, ODE/Euler und CFG-Intervall 0 bis 1
|
||||
- reine Stilreferenzen werden entsprechend der ACE-Step-API-Empfehlung automatisch mit Stärke 0,2 übertragen; Cover-/Quellaudio behält seine eigene Stärke
|
||||
- ADG aus, keine benutzerdefinierten Timesteps
|
||||
- FLAC als verlustfreie Standardausgabe
|
||||
- 320 kbit/s als MP3-Ausweichwert
|
||||
@@ -49,7 +49,7 @@ Image-Build ab. Die Community-UI unter `http://192.168.1.212:7861` ist bis zu
|
||||
vollstaendigen Ende-zu-Ende-Tests von Cover und Remix als experimentell
|
||||
gekennzeichnet.
|
||||
|
||||
Die Community-UI startet XL-SFT mit 50 Schritten, Guidance 7, Shift 1, FLAC
|
||||
Die Community-UI startet XL-SFT mit 80 Schritten, Guidance 8, Shift 3, FLAC
|
||||
und aktivem Thinking ueber den 1,7B-Planer. `AI Enhance` wird als `use_format`
|
||||
uebertragen. Vor jedem Auftrag zeigt sie die tatsaechlich gesendeten Parameter
|
||||
und faengt offensichtliche Widersprueche ab. Referenzaudio steuert nur Klang
|
||||
|
||||
@@ -72,6 +72,11 @@ function buildReleaseTaskPayload(params: GenerationParams): Record<string, unkno
|
||||
const thinking = params.thinking ?? true;
|
||||
const enhance = params.enhance ?? false;
|
||||
const taskType = params.taskType === 'audio2audio' ? 'cover' : (params.taskType || 'text2music');
|
||||
// A reference in text-to-music mode is only a global style/timbre guide.
|
||||
// ACE-Step's own API guide recommends a low value (~0.2) for style transfer.
|
||||
// Cover/source-audio jobs retain the explicitly selected cover strength.
|
||||
const isStyleReference = taskType === 'text2music' && Boolean(params.referenceAudioUrl) && !params.sourceAudioUrl;
|
||||
const effectiveAudioStrength = isStyleReference ? 0.2 : (params.audioCoverStrength ?? 1.0);
|
||||
|
||||
return {
|
||||
prompt,
|
||||
@@ -82,9 +87,9 @@ function buildReleaseTaskPayload(params: GenerationParams): Record<string, unkno
|
||||
key_scale: params.keyScale || '',
|
||||
time_signature: params.timeSignature || '',
|
||||
audio_duration: params.duration && params.duration > 0 ? params.duration : -1,
|
||||
inference_steps: params.inferenceSteps ?? 50,
|
||||
guidance_scale: params.guidanceScale ?? 7.0,
|
||||
shift: params.shift ?? 1.0,
|
||||
inference_steps: params.inferenceSteps ?? 80,
|
||||
guidance_scale: params.guidanceScale ?? 8.0,
|
||||
shift: params.shift ?? 3.0,
|
||||
infer_method: params.inferMethod || 'ode',
|
||||
batch_size: Math.min(Math.max(params.batchSize ?? 1, 1), 16),
|
||||
use_random_seed: params.randomSeed !== false,
|
||||
@@ -109,7 +114,7 @@ function buildReleaseTaskPayload(params: GenerationParams): Record<string, unkno
|
||||
audio_codes: params.audioCodes || '',
|
||||
repainting_start: params.repaintingStart ?? 0.0,
|
||||
repainting_end: params.repaintingEnd ?? -1,
|
||||
audio_cover_strength: params.audioCoverStrength ?? 1.0,
|
||||
audio_cover_strength: effectiveAudioStrength,
|
||||
use_adg: params.useAdg ?? false,
|
||||
cfg_interval_start: params.cfgIntervalStart ?? 0.0,
|
||||
cfg_interval_end: params.cfgIntervalEnd ?? 1.0,
|
||||
@@ -324,7 +329,7 @@ patch('App.tsx', (text) => {
|
||||
});
|
||||
|
||||
patch('components/CreatePanel.tsx', (text) => {
|
||||
text = replaceOnce(text, 'useState(9.0);', 'useState(7.0);', 'guidance default');
|
||||
text = replaceOnce(text, 'useState(9.0);', 'useState(8.0);', 'guidance default');
|
||||
text = replaceOnce(
|
||||
text,
|
||||
'useState(false); // Default false for GPU compatibility',
|
||||
@@ -332,9 +337,9 @@ patch('components/CreatePanel.tsx', (text) => {
|
||||
'thinking default',
|
||||
);
|
||||
text = replaceOnce(text, "useState<'mp3' | 'flac'>('mp3');", "useState<'mp3' | 'flac'>('flac');", 'lossless default');
|
||||
text = replaceOnce(text, 'useState(12);', 'useState(50);', 'XL-SFT steps default');
|
||||
text = replaceOnce(text, 'useState(12);', 'useState(80);', 'XL-SFT steps default');
|
||||
text = replaceOnce(text, "localStorage.getItem('ace-lmModel') || 'acestep-5Hz-lm-0.6B'", "localStorage.getItem('ace-lmModel') || 'acestep-5Hz-lm-1.7B'", 'planner model default');
|
||||
text = replaceOnce(text, 'useState(3.0);', 'useState(1.0);', 'shift default');
|
||||
// Upstream already defaults to Shift 3. Keep it instead of replacing it.
|
||||
|
||||
text = replaceOnce(
|
||||
text,
|
||||
@@ -347,6 +352,10 @@ patch('components/CreatePanel.tsx', (text) => {
|
||||
window.alert('Widerspruch: Der Auftrag verlangt Gesang, aber das Liedtextfeld ist leer. Bitte Text eintragen oder „Instrumental“ wählen.');
|
||||
return;
|
||||
}
|
||||
if (instrumental && asksForVocals) {
|
||||
window.alert('Widerspruch: „Instrumental“ ist aktiv, aber die Beschreibung verlangt Gesang. Bitte Gesangsbegriffe aus der Beschreibung entfernen oder „Instrumental“ deaktivieren und einen Liedtext eintragen.');
|
||||
return;
|
||||
}
|
||||
if ((taskType === 'cover' || taskType === 'audio2audio') && !sourceAudioUrl.trim() && !audioCodes.trim()) {
|
||||
window.alert('Für einen Cover-Auftrag fehlt das Quellaudio. Bitte unter „Quellaudio / Cover“ eine Datei auswählen.');
|
||||
return;
|
||||
@@ -368,6 +377,7 @@ patch('components/CreatePanel.tsx', (text) => {
|
||||
\`Gesang: \${instrumental ? 'nein (Instrumental)' : 'ja'}\`,
|
||||
\`Referenzaudio (nur Klang/Produktion): \${referenceAudioUrl ? 'vorhanden' : 'keines'}\`,
|
||||
\`Quellaudio (Melodie/Rhythmus/Akkorde): \${sourceAudioUrl ? 'vorhanden' : 'keines'}\`,
|
||||
\`Audio-Einfluss: \${referenceAudioUrl && !sourceAudioUrl && taskType === 'text2music' ? '0,2 (sichere Stilreferenz)' : audioCoverStrength}\`,
|
||||
\`Ausgabe: \${audioFormat.toUpperCase()}, \${batchSize} Variation(en), \${bulkCount} Auftrag/Aufträge\`,
|
||||
'',
|
||||
'Auftrag jetzt starten?',
|
||||
|
||||
Reference in New Issue
Block a user