전체 목차
ACE-Step 1.5 아키텍처 완전 분석
ACE-Step 1.5를 제대로 쓰려면 내부 구조를 이해해야 합니다. 왜 이 모델이 빠르고 품질이 좋은지, 어떻게 텍스트가 음악으로 변환되는지 알면 파라미터 조정이 직관적으로 됩니다.
[사용자 입력]
프롬프트: "K-pop ballad, emotional female vocal, piano"
가사: "[Verse] 비가 내리는 창가에..."
↓
[① LM (언어 모델 플래너)] ← 0.6B / 1.7B / 4B 선택
역할: "작곡가 에이전트" — Chain-of-Thought로 상세 분석
출력: Song Blueprint (곡 설계도)
- 구조: Intro(8s) → Verse(32s) → Chorus(24s) → ...
- 템포: 75 BPM
- 조성: A minor
- 악기: Piano, Strings, Soft Drums
- 보컬: Clear female soprano, vibrato
- 캡션: [상세한 음악 설명]
↓
[② DiT (디퓨전 트랜스포머)] ← 2B Turbo / XL 4B 선택
역할: "연주자" — Song Blueprint를 실제 오디오로 변환
방식: 노이즈에서 시작해 반복적으로 정제 (Diffusion)
↓
[③ DCAE (Deep Compression AutoEncoder)]
역할: 압축된 잠재 공간 → 실제 오디오 파형으로 디코딩
↓
[출력] 완성된 MP3/WAV 오디오 파일
🏗️ 핵심 기술 4가지 — 왜 빠르고 좋은가
| 기술 | 역할 | 효과 |
|---|---|---|
| LM + DiT 하이브리드 | LM이 곡 구조를 계획, DiT가 오디오 합성 | 텍스트 → 음악의 모호한 매핑 문제 해결. 구조적 일관성 향상 |
| DMD2 (Distribution Matching Distillation) | 적은 스텝으로도 고품질 생성 | A100 기준 2초 이내 생성. 50 step → 8 step (Turbo) |
| Intrinsic RL (내재적 강화학습) | 외부 보상 모델 없이 자체 정렬 | 인간 선호도 편향 없는 균형 잡힌 출력 |
| Self-Learning Tokenizer | 오디오 토크나이저를 DiT 학습과 동시 학습 | 생성-토크나이징 갭 제거. 음향 세부사항 보존 |
LM(언어 모델 플래너)을 켜면 “Think Mode”가 활성화됩니다. LM이 먼저 Song Blueprint를 생성한 뒤 DiT가 오디오를 만드는 2단계 방식입니다. 끄면 DiT가 바로 생성하지만 구조적 일관성이 떨어질 수 있습니다. LM 1.7B + Turbo DiT가 속도·품질 균형 최적의 기본 설정입니다.
모델 패밀리 완전 정리 — 무엇을 다운로드해야 하나
DiT 모델 선택 (음질 결정)
| 모델 | 파라미터 | VRAM | 품질 | 속도 | 파일 | 추천 대상 |
|---|---|---|---|---|---|---|
| 2B Turbo ⭐ | 2B | 4.7GB | Suno v4.5 수준 | 10초/RTX3090 | acestep_v1.5_turbo.safetensors | 일반 사용자 기본값 |
| 2B SFT | 2B | 4.7GB | 2B Turbo보다 약간 나음 | 약간 느림 | acestep_v1.5_sft.safetensors | 품질 우선 + 빠른 속도 |
| 2B Base | 2B | 4.7GB | 기본 | 중간 | acestep_v1.5_base.safetensors | LoRA 파인튜닝 기반 |
| XL 4B Turbo ⭐ | 4B | 9GB(+offload) | Suno v5 수준 | 적당히 빠름 | acestep-v15-xl-turbo.safetensors | 최고 품질 + 속도 균형 |
| XL 4B SFT | 4B | 9GB(+offload) | 최상 | 느림 | acestep-v15-xl-sft.safetensors | 최고 품질 상업용 |
| XL 4B Base | 4B | 9GB(+offload) | 기본 XL | 중간 | acestep-v15-xl-base.safetensors | XL LoRA 파인튜닝 |
LM 모델 선택 (곡 구조 계획 담당)
| LM 모델 | 용량 | 특징 | 언제 쓰나 |
|---|---|---|---|
| No LM | – | Think Mode 없음. 가장 빠름 | 빠른 실험·배치 생성 시 |
| 0.6B | 필수 | 기본 계획 능력. 무조건 필요 | 항상 필요 (최소 구성) |
| 1.7B ⭐ 권장 | +1.7GB | 속도·품질 균형 최적 | 기본 설정. 대부분 상황에 최적 |
| 4B | +4GB | 가장 상세한 Song Blueprint | 긴 곡(3분+) · 복잡한 구조 |
최고 품질 (XL 4B + 1.7B LM): VRAM 12GB = XL 4B(9GB) + 1.7B LM(1.7GB) ≒ 11.5GB. Offload 옵션 ON하면 간신히 들어갑니다. 속도는 다소 느리지만 최고 품질.
일반 사용 (2B Turbo + 1.7B LM): 4.7GB + 1.7GB = 6.4GB. VRAM 여유 충분. 빠르고 안정적. 권장
📦 All-in-One vs Split 모델 파일
| 방식 | 파일 구성 | 위치 | 특징 |
|---|---|---|---|
| All-in-One | ace_step_1.5_turbo_aio.safetensors (단일 파일) | ComfyUI/models/checkpoints/ | 처음 시작하는 분에게 추천. 설치 간단 |
| Split | diffusion_model + text_encoder_0.6B + text_encoder_1.7B + vae 각각 | 각각 해당 폴더 | LM 선택적 업그레이드 가능. 유연성 높음 |
환경별 설치 완전 가이드
① ComfyUI 설치 (가장 권장 — GUI + 워크플로우)
cd ComfyUI && git pullACE-Step 1.5는 ComfyUI Nightly 이상 필요. Desktop 버전은 자동 업데이트.
cd ComfyUI/models/checkpoints # All-in-One Turbo (권장 시작용, 약 10GB) wget https://huggingface.co/Comfy-Org/ace_step_1.5_ComfyUI_files/resolve/main/ace_step_1.5_turbo_aio.safetensors
BASE="https://huggingface.co/Comfy-Org/ace_step_1.5_ComfyUI_files/resolve/main" # DiT (diffusion model) wget $BASE/split_files/diffusion_models/acestep_v1.5_turbo.safetensors \ -P ComfyUI/models/diffusion_models/ # Text Encoder 0.6B (필수!) wget $BASE/split_files/text_encoders/acestep_v1.5_text_encoder_0.6b.safetensors \ -P ComfyUI/models/text_encoders/ # Text Encoder 1.7B (권장) wget $BASE/split_files/text_encoders/acestep_v1.5_text_encoder_1.7b.safetensors \ -P ComfyUI/models/text_encoders/ # VAE wget $BASE/split_files/vae/acestep_v1.5_vae.safetensors \ -P ComfyUI/models/vae/
② Python 직접 설치 (Gradio WebUI)
# 1. 클론 git clone https://github.com/ace-step/ACE-Step-1.5 cd ACE-Step-1.5 # 2. 가상환경 생성 (권장) python3 -m venv venv source venv/bin/activate # 3. PyTorch + CUDA 설치 (CUDA 12.x 기준) pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124 # 4. ACE-Step 설치 pip install -e . # 5. Gradio WebUI 실행 (http://0.0.0.0:7865) python -m acestep.webui --host 0.0.0.0 --port 7865 # 6. 서버에서 외부 접근 허용 시 방화벽 설정 ufw allow 7865/tcp
③ Mac 설치 (Apple Silicon M1/M2/M3)
# 방법 1: 포터블 패키지 (설치 최소화) # GitHub Releases에서 ACE-Step-1.5-macOS.zip 다운로드 # 압축 해제 후 run.sh 실행 # 방법 2: 직접 설치 pip install torch torchaudio --index-url https://download.pytorch.org/whl/cpu pip install -e . python -m acestep.webui --device mps # Apple Silicon GPU 사용
④ Windows 설치
git clone https://github.com/ace-step/ACE-Step-1.5 cd ACE-Step-1.5 python -m venv venv .\venv\Scripts\activate pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124 pip install -e . python -m acestep.webui
⑤ AMD/ROCm GPU 설치
pip install torch torchaudio --index-url https://download.pytorch.org/whl/rocm6.2 pip install -e . python -m acestep.webui --device cuda # ROCm에서도 cuda로 인식
파라미터 심화 분석 — 모든 옵션 완전 정리
| 파라미터 | 기본값 | 범위 | 역할 & 권장 설정 |
|---|---|---|---|
| audio_duration | 60 | 10~600초 | 생성할 곡 길이(초). 240(4분)이 풀곡 기준. 30초 이하는 인트로/루프용 |
| infer_steps | 60 | 8~200 | Turbo: 8~20으로도 충분. SFT/Base: 50~100 권장. 높을수록 품질↑ 속도↓ |
| guidance_scale | 7.0 | 1~20 | 프롬프트 충실도. 5~15 권장. 너무 높으면(15+) 과도한 음질 저하 |
| scheduler_type | euler | – | euler / dpmpp_2m 선택. dpmpp_2m가 일반적으로 품질 약간 우수 |
| seed | -1(랜덤) | -1~∞ | -1이면 매번 다른 결과. 좋은 결과 재현 시 seed 값 기록 필수! |
| batch_size | 1 | 1~8 | 동시 생성 수. 4~8 권장 (가챠 전략). VRAM 사용량 비례 증가 |
| lm_model_name | 1.7B | none/0.6B/1.7B/4B | Think Mode LM 선택. 1.7B 권장. 복잡한 곡은 4B |
| dit_model_name | turbo | turbo/sft/base/xl-* | 메인 음질 결정. turbo 기본. 최고 품질은 xl-turbo |
| enable_torch_compile | false | bool | true시 첫 실행 느리지만 이후 속도 30~40% 향상. 안정적 환경에서 권장 |
| cpu_offload | false | bool | VRAM 부족 시 true. XL 4B를 12GB에서 실행할 때 필수. 속도 감소 있음 |
| quantize | none | none/int8/fp8 | VRAM 절약. int8: VRAM 절반 but 품질 약간↓. 12GB 이하에서 XL 시 권장 |
📊 infer_steps vs 품질 — 언제 멈추는 게 좋나?
2B Turbo: 빠른 실험: 8~12 steps (품질 보통, 속도 최고) 일반 사용: 20~40 steps (좋은 품질, 권장) 최고 품질: 60~100 steps (매우 좋음, 시간 소요) 2B SFT / Base: 일반 사용: 50~80 steps 최고 품질: 100~150 steps XL 4B Turbo: 빠른 실험: 8~12 steps 일반 사용: 20~50 steps ← RTX 3060 권장 XL 4B SFT: 최고 품질: 100~200 steps (느림) ※ Turbo 모델은 DMD2 distillation으로 8 step만으로도 충분한 품질
ACE-Step은 동일 프롬프트·가사라도 seed에 따라 완전히 다른 결과가 나옵니다. 마음에 드는 결과가 나왔을 때 WebUI 또는 터미널 출력에서 seed 값을 메모해두세요. 그 seed로 다시 실행하면 동일한 결과를 재현할 수 있습니다.
기능 1 — Text-to-Music & Lyrics-to-Song
🎼 스타일 프롬프트 작성 공식 — ACE-Step 최적화
[장르] [서브장르], [분위기/감정], [악기 목록], [보컬 스타일], [템포 BPM], [음악적 특성], [생산 스타일] 예시: "K-pop ballad, melancholic and longing, piano, gentle strings, soft acoustic guitar, clear Korean female vocal with emotional vibrato, 75 BPM, verse-chorus structure, professional studio production, 2024-style arrangement" ━━ 세부 팁 ━━ ① 악기는 최대 5~7개 나열 (너무 많으면 혼잡) ② 실존 아티스트 이름 대신 특징 설명 X: "IU style" → O: "Clear Korean female soprano, emotional delivery" ③ BPM 명시하면 템포 정확도 향상 ④ "professional studio production" 추가 시 음질 향상 ⑤ 연도·시대 명시: "2024-style", "90s inspired", "80s synth wave"
📝 가사 구조 태그 완전 가이드
기본 구조 태그: [Intro] - 곡 도입부 (보통 8~16초) [Verse] - 절 (스토리 전개) [Pre-Chorus] - 코러스 전 빌드업 [Chorus] - 후렴구 (가장 인상적인 부분) [Post-Chorus] - 후렴구 이후 여운 [Bridge] - 분위기 전환 (보통 2절과 3절 사이) [Outro] - 마무리 장르별 특수 태그: [Hook] - 반복되는 핵심 멜로디 라인 [Rap] - 랩 구간 [Beat Drop] - EDM 드롭 구간 [Build Up] - 에너지 상승 구간 [Breakdown] - 에너지 감소 구간 [Solo] - 악기 솔로 (기타/피아노 등) [Interlude] - 간주 [Ad Lib] - 즉흥 보컬 완성 예시: [Intro] (악기만, 8초) [Verse] 비가 내리는 창가에 혼자 앉아 너를 생각해 [Pre-Chorus] 이제는 돌아올 수 없다는 걸 [Chorus] 그래도 괜찮아 오늘 하루도 너 없이 살아가는 법을 배워 [Verse 2] (2절) [Bridge] (분위기 전환) [Chorus] (후렴 반복) [Outro] 그래도... (페이드 아웃)
Python API 직접 호출 예시
from acestep.pipeline import ACEStepPipeline
import torch
# 파이프라인 초기화
pipe = ACEStepPipeline(
checkpoint_dir="./checkpoints", # 모델 폴더
dtype=torch.bfloat16, # bf16 권장 (fp16보다 안정적)
device="cuda",
)
# 기본 생성
result = pipe(
prompt="K-pop ballad, emotional female vocal, piano, 75 BPM",
lyrics="""[Verse]
비가 내리는 창가에
혼자 앉아 너를 생각해
[Chorus]
그래도 괜찮아 오늘도
너 없이 살아가는 법을 배워""",
audio_duration=120, # 2분
infer_steps=50,
guidance_scale=7.0,
seed=42, # 재현 가능한 seed
batch_size=1,
)
# 저장
result.save("./output/my_song.mp3")
print(f"생성 완료! Seed: 42")
# ━━ 배치 생성 (가챠 전략) ━━
results = pipe(
prompt="indie pop, acoustic guitar, warm female vocal",
lyrics="[Verse]\nHello world...",
audio_duration=90,
infer_steps=30,
batch_size=8, # 8개 동시 생성
seed=-1, # 매번 다른 결과
)
for i, r in enumerate(results):
r.save(f"./output/batch_{i+1}.mp3")
print("8개 생성 완료. 가장 마음에 드는 것을 선택하세요!")기능 2~5 — Cover · Repaint · Vocal-to-BGM · Extract
🎸 기능 2 — Cover Generation (스타일 변환)
기존 음악 파일을 입력하고 새 스타일 프롬프트를 주면, 원곡의 멜로디·구조는 유지하면서 완전히 다른 장르·분위기로 재해석합니다. 발라드 → 로파이, K-pop → 재즈, 팝 → 메탈 변환이 가능합니다.
result = pipe(
task="cover", # ← 핵심: task 지정
reference_audio="./original.mp3",
prompt="jazz piano trio, upright bass, brushed drums, no vocals, late night cafe",
# 원곡의 멜로디를 재즈로 변환
infer_steps=50,
guidance_scale=7.0,
)
# ━━ 실전 커버 아이디어 ━━
# 케이팝 발라드 → 로파이: "lo-fi hip hop, vinyl crackle, soft piano"
# 빠른 팝 → 어쿠스틱: "acoustic guitar, intimate coffee shop, stripped back"
# 발라드 → EDM: "progressive house, synth leads, 128 BPM, festival"
# 록 → 재즈: "jazz swing, big band, brass section, 1940s style"🎨 기능 3 — Repainting (구간별 수정)
생성된 곡에서 마음에 안 드는 구간만 골라서 재생성합니다. 전체를 다시 만들 필요 없이 코러스만, 브릿지만, 마지막 8초만 수정 가능합니다. 원본의 타임브레, 믹싱, 나머지 구간은 그대로 보존됩니다.
result = pipe(
task="repaint",
reference_audio="./my_song.mp3",
repaint_start=60, # 60초부터
repaint_end=90, # 90초까지 (30초 구간 재생성)
prompt="더 강렬한 코러스, 드럼 강화, 에너지 업",
infer_steps=50,
)
# ━━ Repaint 활용 아이디어 ━━
# [0, 8] → 인트로가 마음에 안 들 때
# [32, 64] → 코러스만 더 강하게
# [90, 120] → 아웃트로 페이드 아웃 수정
# [60, 75] → 브릿지 분위기 바꾸기🎤 기능 4 — Vocal-to-BGM (보컬 → 반주 생성)
내가 흥얼거린 멜로디나 목소리만 입력하면 AI가 그에 맞는 반주를 자동으로 생성합니다. 스마트폰으로 간단히 허밍한 것을 녹음하고 Vocal-to-BGM에 넣으면 실제 악기 반주가 완성됩니다.
result = pipe(
task="vocal2bgm", # 보컬 → 반주
reference_audio="./my_humming.mp3",
prompt="acoustic pop, guitar and piano, warm and emotional",
infer_steps=60,
)
# ━━ 실전 활용 ━━
# 1. 스마트폰 녹음 앱으로 멜로디 허밍 (30초~1분)
# 2. MP3/WAV로 저장
# 3. vocal2bgm에 입력
# 4. "K-pop ballad, piano and strings" 등 원하는 스타일 프롬프트
# 5. 완성된 반주에 내 보컬 다시 얹기 (GarageBand/Audacity)🎚️ 기능 5 — Extract / Lego (스템 분리 & 재구성)
| 기능 | 설명 | 활용 |
|---|---|---|
| Extract | 완성 곡에서 보컬·기타·드럼 등 개별 스템 추출 | 노래방 반주 제작, 리믹스용 스템 추출 |
| Lego | 여러 곡의 구간을 재조합 | A곡의 인트로 + B곡의 코러스 조합 |
| Complete | 불완전한 음악을 자동으로 완성 | 8초짜리 데모 → 3분 풀곡으로 자동 연장 |
🔧 LoRA 파인튜닝 — 나만의 스타일 학습
LoRA(Low-Rank Adaptation)는 기존 모델에 소수의 음악 샘플(5~20곡)만으로 특정 스타일을 학습시키는 기법입니다. 내가 좋아하는 스타일의 음악 10곡을 넣으면, 그 스타일을 학습한 나만의 LoRA 모듈이 만들어집니다. 이후 이 LoRA를 적용해서 생성하면 그 스타일로 무한 생성 가능합니다.
공식 공개 LoRA — 바로 사용 가능
| LoRA | 스타일 | 다운로드 | 적용법 |
|---|---|---|---|
| Chinese Rap LoRA | 중국어 랩 스타일 | ACE-Step/ACE-Step-v1-chinese-rap-LoRA | ace-step-v1-chinese-rap-lora.safetensors → ComfyUI/models/loras/ |
ComfyUI LoRA 적용법
ace-step-v1-chinese-rap-lora.safetensors (파일명 정확히 맞출 것)나만의 LoRA 학습 — 단계별
━━ STEP 1: 데이터 준비 ━━
- 학습할 스타일의 음악 10~30곡 준비 (MP3/WAV)
- 각 곡 20~60초 클립으로 잘라서 저장
- 폴더 구조: ./training_data/audio/ 에 클립 배치
━━ STEP 2: 어노테이션 (캡션 작성) ━━
# 자동 어노테이션
python annotate.py --input_dir ./training_data/audio/
# 수동 검토: 각 클립에 스타일 설명 JSON 생성됨
# 예: {"prompt": "Korean indie pop, acoustic guitar, soft female vocal",
# "lyrics": "..."}
━━ STEP 3: 전처리 ━━
python preprocess.py --input_dir ./training_data/
━━ STEP 4: LoRA 학습 (WebUI 방법) ━━
# Gradio WebUI → LoRA Training 탭
# - base_model: 2B Turbo
# - rank: 32 (일반), 64 (고품질)
# - learning_rate: 1e-4
# - epochs: 50~100
# - batch_size: 1~4 (VRAM 따라)
━━ STEP 5: 학습 결과 확인 ━━
# ./output/loras/my_style_lora.safetensors 생성
# ComfyUI models/loras/ 에 복사 → 사용 가능
━━ RTX 3060 12GB 기준 학습 시간 ━━
10곡 × 20초 = 약 200 클립: 2~4시간
20곡 × 30초 = 약 600 클립: 6~12시간🎵 예제 프롬프트 대백과 — 80개 완전 모음
1. [K-pop 댄스] K-pop dance track, energetic and bright, EDM synth pop, punchy kick drum, 128 BPM, clear Korean female group vocal, catchy hook, anthemic chorus, professional 2026 production 2. [감성 발라드] Korean emotional ballad, melancholic longing, piano melody, gentle strings, soft acoustic guitar, clear female soprano with vibrato, 70 BPM, intimate and heartbreaking atmosphere 3. [인디팝] Korean indie pop, warm and nostalgic, acoustic guitar fingerpicking, light drums, breathy female vocal, 85 BPM, coffee shop Saturday afternoon vibes 4. [R&B 감성] Korean R&B, smooth and sensual, warm Rhodes piano, chill groove, 80 BPM, male vocalist with soulful delivery and ad libs, late night city vibes 5. [트로트 현대화] Modern Korean trot, traditional meets contemporary, accordion and electronic elements, 120 BPM, powerful male tenor vocal, cheerful and energetic 6. [힙합 lo-fi] Korean hip hop, boom bap, lo-fi aesthetic, sampled jazz piano, deep sub bass, 90 BPM, male rap with introspective lyrics, underground Seoul vibe 7. [국악 퓨전] Korean traditional fusion, gayageum meets modern production, haegeum (Korean fiddle), electronic beats, 95 BPM, cinematic and atmospheric, no vocals 8. [어쿠스틱 발라드] Acoustic Korean ballad, stripped back, single piano only, 65 BPM, emotional male vocal, raw and vulnerable, single-take recording feel 9. [밝은 동요풍] Cheerful Korean children's song, playful and bright, xylophone, light acoustic guitar, 100 BPM, warm female vocal, simple melody, bouncy rhythm 10. [록 발라드] Korean rock ballad, powerful and emotional, distorted guitar, piano, orchestral strings, strong male rock vocal, 75 BPM, 2000s Korean rock radio style 11. [재즈 카페] Korean jazz, bossa nova influenced, nylon guitar, upright bass, brushed drums, soft female scat and lyric vocal, 90 BPM, elegant Sunday morning brunch atmosphere 12. [전자음악 댄스] Korean EDM pop, progressive house build, synth drop at 1:00, 128 BPM, no vocals, festival-ready, bright and euphoric 13. [시티팝 한국] Korean city pop, 80s influenced, electric piano, funky bass, light brass, smooth male crooner vocal, 95 BPM, summer night driving on Seoul highway 14. [슬로우 잼] Korean slow jam, 60 BPM, thick warm bass, Rhodes, soft pad, duo vocal (male and female), late night romance 15. [CCM 찬양] Korean contemporary Christian music, uplifting worship, piano and acoustic guitar, transparent female vocal choir, 75 BPM, hopeful and reverent atmosphere 16. [트렌디 힙합] Korean trap, dark atmospheric, 808 bass, hi-hat rolls, 140 BPM, autotune male vocal with melodic delivery, midnight Seoul trap aesthetic 17. [가요 90년대] Korean 90s pop ballad, nostalgic, synthesizer pad, light drum machine, 78 BPM, clear female vocal, emotional and dreamy, cassette tape warmth 18. [모던 어덜트 컨템포러리] Korean adult contemporary pop, mature and sophisticated, live drums, electric piano, strings section, experienced female vocalist, 82 BPM, 2026 style 19. [어쿠스틱 커버] Acoustic stripped-down version of upbeat pop, two acoustic guitars, light shaker, 95 BPM, warm male-female duet, intimate and tender 20. [오케스트라 팝] Epic Korean pop with full orchestra, string quartet, brass fanfare, choir, powerful male lead vocal, 80 BPM, cinematic grand production
21. [유튜브 테크 영상 BGM] Inspirational tech background music, light electronic beats, hopeful synth pad, no vocals, 100 BPM, forward-looking atmosphere, suitable for AI tutorial video 22. [로파이 공부 BGM] Lo-fi hip hop study music, vinyl crackle, soft piano, warm bass, gentle rain, no vocals, 80 BPM, focus and concentration 23. [요리 유튜브 BGM] Cheerful cooking background music, acoustic guitar, ukulele, light percussion, no vocals, 110 BPM, warm kitchen vibes 24. [자연 다큐 BGM] Cinematic nature documentary score, orchestral strings, French horn, ambient texture, no vocals, 60 BPM, majestic and peaceful 25. [게임 메인 테마] Epic video game main theme, orchestral, drums, brass fanfare, choir, 120 BPM, heroic and adventurous, loop-friendly 26. [게임 던전 BGM] Dark dungeon RPG music, ominous, low strings, deep drums, ominous pad, no vocals, 90 BPM, mysterious and tense 27. [카페 재즈] Cool jazz cafe background, piano trio, upright bass, brushed drums, soft piano, no vocals, 120 BPM swing, 1960s blue note style 28. [릴렉스 앰비언트] Ambient relaxation music, floating pads, gentle bell tones, slow evolution, no rhythm, no vocals, 432Hz healing frequency 29. [팟캐스트 오프닝] Podcast intro music, confident and smart, acoustic guitar + light piano, 10 seconds, energetic entry, quick fade, no vocals 30. [웨딩 배경음] Wedding ceremony background music, romantic piano, gentle strings, 60 BPM, no vocals, warm and elegant, tearful happiness 31. [스포츠 하이라이트] Energetic sports highlight music, powerful drums, electric guitar riff, 145 BPM, no vocals, pumping and exciting, rally-ready 32. [아이 자장가] Gentle lullaby music box, slow 55 BPM, music box and harp, soft and dreamy, winding down energy, no lyrics, suitable for sleeping children 33. [명상 음악] Meditation music, tibetan bowls, slow breath rhythm, 40 BPM, no melody, just healing frequencies, 10 minutes 34. [호러 게임 BGM] Horror game atmospheric sound, dissonant strings, creaking wood, distant whispers, unsettling tension, no rhythm, no vocals 35. [여름 드라이브 BGM] Summer driving music, synthwave, 80s synth, electric bass, 110 BPM, sunset on the highway vibe, no vocals 36. [크리스마스 무드] Christmas ambient music, warm and cozy, bells, piano, light orchestral, no vocals, gentle and festive, fireplace warmth 37. [브이로그 감성] Aesthetic vlog background, indie folk, acoustic guitar, soft synth pad, 85 BPM, golden hour feeling, no vocals 38. [사무실 집중 BGM] Office focus music, minimal electronic, light click track, soft piano, 95 BPM, productive and clean, no distractions 39. [모닝 루틴 BGM] Morning motivation music, acoustic pop, bright guitar, light drums, 105 BPM, fresh and energetic start, no vocals 40. [ASMR 배경음] ASMR background texture, very soft, rain sounds, distant piano, barely audible pulse, ultra-low 40 BPM, whispery, no lyrics
41. [팝 록 앤섬] Anthemic pop rock, stadium-ready, overdriven guitar, big drums, 128 BPM, powerful male vocal, chorus crowd singalong 42. [재즈 스탠다드] Jazz standard ballad, slow and smoky, piano, double bass, brushed snare, 55 BPM, intimate female jazz vocal, torch song feeling 43. [보사노바] Brazilian bossa nova, nylon guitar, light shaker, gentle jazz chords, 90 BPM, breathy female vocal, soft and sensual 44. [80s 신스팝] 1980s synth pop, retro wave, DX7 synth, drum machine, 118 BPM, male new wave vocal, nostalgic and cool 45. [90s 알앤비] 90s RnB slow jam, new jack swing, warm synth bass, TR-808, 82 BPM, smooth male vocal harmony, romantic 46. [재즈 퓨전] Jazz fusion, complex time signatures, electric bass, jazz guitar, synthesizer, 110 BPM, no vocals, technically impressive 47. [포크 컨트리] Americana folk country, storytelling, banjo, fiddle, acoustic guitar, 95 BPM, weathered male vocal, campfire authenticity 48. [클래식 피아노] Solo piano nocturne, classical romantic, Steinway grand, rubato tempo, no percussion, lyrical and expressive 49. [덥스텝 하이브리드] Hybrid dubstep trap, dark electronic, heavy bass wobble, 140 BPM, no vocals, aggressive and cinematic 50. [라틴팝] Latin pop, upbeat and passionate, congas, acoustic guitar, brass stab, 100 BPM, charismatic Spanish-English bilingual vocal 51. [보컬 없는 애니 OST 스타일] Anime opening style, energetic J-pop inspired, bright synth, punchy drums, 148 BPM, no vocals, heroic and emotional 52. [K-drama 감성 BGM] Korean drama background score, emotional piano with light strings, 68 BPM, melancholic nostalgia, cinematic quality 53. [전자음악 칠웨이브] Chillwave, dreamy and hazy, reverb-drenched guitar, synth pad, 90 BPM, male distant vocals, summer memory nostalgia 54. [아프로비트] Afrobeats, rhythmic and joyful, talking drum, highlife guitar, 105 BPM, call-and-response vocal, West African energy 55. [재즈힙합] Jazz hip hop, sampled jazz loop, boom bap beats, bass guitar, 85 BPM, smooth rapper vocal, intellectual and cool 56. [클래식 기타 솔로] Flamenco classical guitar, passionate and technical, no accompaniment, expressive rubato, Andalusian minor scale, 140 BPM, live acoustic 57. [뉴에이지 힐링] New age healing music, Steven Halpern style, gentle piano arpeggios, nature sounds, 50 BPM, ascending chord progressions, peaceful resolution 58. [메탈 인스트루] Progressive metal instrumental, djent guitar, complex time signatures, 140 BPM, no vocals, technical and precise, dream theater style 59. [재즈 바] Jazz bar late night, atmospheric, organ trio, Hammond B3, jazz guitar, 100 BPM swing, smoky and intimate 60. [서정적 팝] Lyrical pop singer-songwriter, piano and simple acoustic guitar, 75 BPM, intimate male-female duet, confessional lyrics
━━ 예시 1: K-pop 발라드 가사 구조 ━━ [Intro] (피아노 인트로, 8초) [Verse] 창문을 두드리는 빗소리에 잠 못 드는 밤이 또 시작돼 네 생각에 눈을 감으면 선명해지는 그 미소 [Pre-Chorus] 이제는 달라져야 한다는 걸 알면서도 왜 이렇게 [Chorus] 그리워, 이 밤이 다 가도록 네 이름만 계속 부르고 있어 언젠가 다시 만날 수 있을까 그때까지 기다릴게 [Verse 2] 혼자 걷는 이 길 위에서 우리가 함께했던 기억들이 발걸음마다 따라오는데 잊히지가 않아 [Bridge] 행복했던 그날들이 지금도 눈에 선해 돌아갈 수 없다면 가슴 속에 담아둘게 [Chorus] 그리워, 이 밤이 다 가도록 네 이름만 계속 부르고 있어 언젠가 다시 만날 수 있을까 그때까지 기다릴게 [Outro] 그리워... 그리워... ━━ 예시 2: 힙합 가사 구조 ━━ [Hook] 일어서 다시 한번 (yeah) 포기란 없어 내 삶에 (nah) 쓰러져도 다시 일어서 (one more) 이게 내 방식이야 [Verse 1] 스물다섯 아무것도 없던 내가 지금 여기 서있는 건 우연이 아냐 매일 밤 혼자 연습실에서 흘린 땀이 지금의 나를 만들었어 [Hook] [Verse 2] 남들이 잘 때 나는 글 쓰고 남들이 놀 때 나는 연습하고 지름길 같은 건 없다는 걸 이 업 시작할 때부터 알았어 [Outro] Keep going, keep going (fade)
━━ Cover 변환 프롬프트 예시 ━━ 61. 팝발라드 → 재즈 커버 "Cool jazz trio, piano, upright bass, brushed drums, female jazz vocal with scat, 110 BPM swing, blue note recording warmth" 62. K-pop → 어쿠스틱 커버 "Acoustic stripped version, single acoustic guitar, intimate and raw, slightly slower tempo, female solo voice, bedroom recording feel" 63. 발라드 → EDM 리믹스 "Progressive house remix, synth arpeggios, build up and drop, 128 BPM, festival energy, keep the melody but electrify everything" 64. 록 → 오케스트라 편곡 "Full orchestral arrangement, strings quartet, brass fanfare, timpani, no electric guitar, cinematic and grand, 80 BPM" 65. 팝 → 80s 레트로 "1980s retro synth pop version, DX7 electric piano, drum machine, reverb, nostalgic vaporwave aesthetic, 118 BPM" ━━ Repaint 구간별 프롬프트 예시 ━━ 66. 코러스만 더 강하게 (60~90초) "More powerful chorus, add drums and full band, increase energy level, bigger reverb, keep vocals the same but add harmonies" 67. 인트로를 더 서스펜스하게 (0~15초) "More mysterious and suspenseful intro, add string tension, remove drums, slow build atmosphere, cinematic" 68. 브릿지 분위기 전환 (90~110초) "Darker bridge, minor key shift, sparse instrumentation, emotional breakdown, more intimate and vulnerable" 69. 아웃트로 페이드 아웃 (150~180초) "Natural fade out, gradually reduce instrumentation, keep piano only at the end, 30 second fade" 70. 중간 솔로 구간 교체 (75~90초) "Replace with epic electric guitar solo, blues-influenced, emotional bending notes, match the existing key and tempo"
GPU별 최적화 & 배치 생성 전략
⚡ GPU별 권장 설정 — RTX 3060·3090·4090
| GPU | VRAM | 권장 DiT | 권장 LM | 권장 steps | batch | 4분곡 예상 시간 |
|---|---|---|---|---|---|---|
| RTX 3060 12GB | 12GB | XL 4B Turbo (offload) | 1.7B | 30~50 | 1~2 | 약 30~60초 |
| RTX 3070 8GB | 8GB | 2B Turbo | 1.7B | 30~60 | 2~4 | 약 20~40초 |
| RTX 3090 24GB | 24GB | XL 4B SFT | 4B | 60~100 | 4~8 | 약 10~20초 |
| RTX 4090 24GB | 24GB | XL 4B SFT | 4B | 100 | 8 | 약 5~10초 |
| A100 40/80GB | 40~80GB | XL 4B | 4B | 100+ | 8+ | 약 2초 |
🎲 배치 가챠 전략 — 최상의 결과 뽑는 법
import os, time
from acestep.pipeline import ACEStepPipeline
pipe = ACEStepPipeline(checkpoint_dir="./checkpoints")
PROMPT = "K-pop ballad, emotional female vocal, piano, 75 BPM"
LYRICS = """[Verse]\n비가 내리는...\n[Chorus]\n그래도 괜찮아..."""
# ━━ 가챠 전략: 8개 생성 후 수동 선택 ━━
print("🎲 배치 8개 생성 시작...")
start = time.time()
results = pipe(
prompt=PROMPT,
lyrics=LYRICS,
audio_duration=120,
infer_steps=30, # Turbo: 30으로 충분
batch_size=8, # 8개 동시
seed=-1, # 랜덤 seed
)
elapsed = time.time() - start
print(f"✅ 완료! {elapsed:.1f}초 소요")
os.makedirs("./batch_output", exist_ok=True)
for i, r in enumerate(results):
path = f"./batch_output/version_{i+1:02d}.mp3"
r.save(path)
print(f" 저장: {path}")
print("\n🎧 ./batch_output/ 폴더에서 8개 중 마음에 드는 것 선택")
print("💡 seed 값은 WebUI 또는 출력 로그에서 확인 후 기록!")🔧 성능 최적화 추가 팁
- torch.compile 활성화:
enable_torch_compile=True— 첫 실행 5~10분 컴파일 후 이후 30~40% 속도 향상. 안정적 CUDA 환경에서만. - bf16 사용:
dtype=torch.bfloat16— fp16보다 수치 안정성 높음. A100/RTX 3000 이상 권장. - xFormers 설치:
pip install xformers— 어텐션 연산 최적화. VRAM 10~20% 절약. - Flash Attention 2:
pip install flash-attn— 더 빠른 어텐션. RTX 3090 이상에서 효과적. - 모델 캐싱: 동일 모델 반복 로드 방지. 파이프라인 객체 재사용.
🎵 ACE-Step 1.5 결론: 이것은 음악 생성의 “스테이블 디퓨전 모멘트”입니다. Suno·Udio 같은 구독 서비스에 의존하지 않고, 내 컴퓨터에서 데이터 유출 없이, 무제한 무료로 상업 수준의 음악을 만들 수 있습니다. RTX 3060 12GB라면 XL 4B Turbo 모델로 최고 품질을 경험할 수 있습니다. 배치 8개 생성으로 가챠 전략을 사용하고, 좋은 seed를 기록해두는 습관이 최고의 결과를 만듭니다.



