chore: add .gitignore and batch generation script
This commit is contained in:
parent
38331ca59a
commit
87763e21db
2 changed files with 75 additions and 0 deletions
16
.gitignore
vendored
Normal file
16
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# Vendored deps / envs
|
||||
ace-step/
|
||||
basic-pitch-env/
|
||||
.cache/
|
||||
*.venv/
|
||||
__pycache__/
|
||||
*.pyc
|
||||
|
||||
# User data
|
||||
input/
|
||||
output/
|
||||
|
||||
# Editor
|
||||
.vscode/
|
||||
.idea/
|
||||
*.swp
|
||||
59
batch_generate.py
Normal file
59
batch_generate.py
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
"""Batch generation script — 100 outputs across instruments and parameter permutations."""
|
||||
|
||||
import subprocess
|
||||
import sys
|
||||
import itertools
|
||||
import random
|
||||
|
||||
import os
|
||||
BASE = os.path.dirname(os.path.abspath(__file__))
|
||||
PYTHON = os.path.join(BASE, "ace-step", ".venv", "Scripts", "python.exe")
|
||||
SCRIPT = os.path.join(BASE, "hum2inst.py")
|
||||
INPUT = os.path.join(BASE, "input", "bum bum bum [2026-04-10 230403].wav")
|
||||
OUTPUT = os.path.join(BASE, "output", "batch-bumbum")
|
||||
|
||||
instruments = ["piano", "guitar", "saxophone", "violin", "flute",
|
||||
"cello", "trumpet", "organ", "marimba", "harmonica"]
|
||||
|
||||
# Parameter combos: (strength, guidance)
|
||||
param_combos = [
|
||||
(0.2, 5.0),
|
||||
(0.3, 5.0), # our best default
|
||||
(0.4, 5.0),
|
||||
(0.3, 7.0),
|
||||
(0.3, 3.0),
|
||||
]
|
||||
|
||||
# 10 instruments x 5 param combos x 2 takes = 100 outputs
|
||||
takes_per_combo = 2
|
||||
|
||||
count = 0
|
||||
total = len(instruments) * len(param_combos) * takes_per_combo
|
||||
print(f"Generating {total} outputs...")
|
||||
|
||||
for instrument in instruments:
|
||||
for strength, guidance in param_combos:
|
||||
seeds = [random.randint(0, 2**31 - 1) for _ in range(takes_per_combo)]
|
||||
for seed in seeds:
|
||||
count += 1
|
||||
print(f"\n[{count}/{total}] {instrument} str={strength} guide={guidance} seed={seed}")
|
||||
cmd = [
|
||||
PYTHON, SCRIPT, INPUT,
|
||||
"--instrument", instrument,
|
||||
"--output", OUTPUT,
|
||||
"--strength", str(strength),
|
||||
"--noise-strength", "0.0",
|
||||
"--guidance", str(guidance),
|
||||
"--seed", str(seed),
|
||||
]
|
||||
result = subprocess.run(cmd, capture_output=True, text=True)
|
||||
# Print just the output/log lines
|
||||
for line in result.stdout.splitlines():
|
||||
if "Output saved" in line or "Run log" in line:
|
||||
print(f" {line.strip()}")
|
||||
if result.returncode != 0:
|
||||
err_lines = [l for l in result.stderr.splitlines() if "ERROR" in l]
|
||||
for l in err_lines:
|
||||
print(f" FAILED: {l.strip()}")
|
||||
|
||||
print(f"\nDone! {count} outputs in {OUTPUT}/")
|
||||
Loading…
Add table
Reference in a new issue