ACE-Step Custom
Deploy ACE-Step Custom Edition with bug fixes
a602628
import random
from typing import List, Set
from .models import AudioSample
def select_genre_indices(samples: List[AudioSample], genre_ratio: int) -> Set[int]:
"""Select indices that should use genre, based on ratio."""
num_genre_samples = int(len(samples) * genre_ratio / 100)
random.seed(42)
all_indices = list(range(len(samples)))
random.shuffle(all_indices)
return set(all_indices[:num_genre_samples])
def build_metas_str(sample: AudioSample) -> str:
"""Construct metadata string for text prompt."""
return (
f"- bpm: {sample.bpm if sample.bpm else 'N/A'}\n"
f"- timesignature: {sample.timesignature if sample.timesignature else 'N/A'}\n"
f"- keyscale: {sample.keyscale if sample.keyscale else 'N/A'}\n"
f"- duration: {sample.duration} seconds\n"
)