언어 / Language / 语言 / 言語: English | 한국어 | 中文 | 日本語
이 가이드는 ACE-Step Gradio 웹 인터페이스를 사용한 음악 생성에 대한 포괄적인 문서를 제공하며, 모든 기능과 설정을 포함합니다.
# 기본 실행
python app.py
# 사전 초기화 포함
python app.py --config acestep-v15-turbo --init-llm
# 특정 포트 지정
python app.py --port 7860Gradio 인터페이스의 레이아웃:
- 설정 (접이식 아코디언) - 서비스 설정, DiT/LM 파라미터, 출력 옵션
- 생성 탭 - 메인 작업 공간. 상단에 생성 모드 라디오 선택기:
- Turbo/SFT 모델: Simple, Custom, Remix, Repaint
- Base 모델: Simple, Custom, Remix, Repaint, Extract, Lego, Complete
- 결과 섹션 - 생성된 오디오 재생, 스코어링, 배치 내비게이션
- 학습 탭 - 데이터셋 빌더 및 LoRA 학습
| 설정 | 설명 |
|---|---|
| 체크포인트 파일 | 학습된 모델 체크포인트 선택 (사용 가능한 경우) |
| 메인 모델 경로 | DiT 모델 설정 선택 (예: acestep-v15-turbo, acestep-v15-turbo-shift3) |
| 디바이스 | 처리 디바이스: auto (권장), cuda, 또는 cpu |
| 설정 | 설명 |
|---|---|
| 5Hz LM 모델 경로 | 언어 모델 선택. 사용 가능한 모델은 GPU 티어에 따라 자동 필터링 — 예: 6-8GB GPU는 0.6B만, 24GB+ GPU는 모든 크기(0.6B, 1.7B, 4B) 표시. |
| 5Hz LM 백엔드 | vllm (더 빠름, VRAM ≥8GB NVIDIA GPU 권장), pt (PyTorch, 범용 폴백), 또는 mlx (Apple Silicon). VRAM <8GB GPU에서는 pt/mlx로 제한 (vllm의 KV 캐시가 메모리를 과도하게 사용하므로). |
| 5Hz LM 초기화 | 초기화 시 LM을 로드하려면 체크 (thinking 모드에 필요). VRAM ≤6GB GPU(Tier 1-2)에서 기본적으로 체크 해제 및 비활성화. |
적응형 기본값: 모든 LM 설정은 GPU의 VRAM 티어에 따라 자동 구성됩니다. 권장 LM 모델, 백엔드, 초기화 상태가 최적 성능을 위해 사전 설정됩니다. 수동으로 변경할 수 있지만, GPU와 호환되지 않는 선택 시 시스템이 경고를 표시합니다.
| 설정 | 설명 |
|---|---|
| Flash Attention 사용 | 더 빠른 추론을 위해 활성화 (flash_attn 패키지 필요) |
| CPU로 오프로드 | 유휴 시 모델을 CPU로 오프로드하여 GPU 메모리 절약. VRAM <20GB GPU에서 자동 활성화. |
| DiT를 CPU로 오프로드 | DiT 모델을 특별히 CPU로 오프로드. VRAM <12GB GPU에서 자동 활성화. |
| INT8 양자화 | INT8 가중치 양자화로 모델 VRAM 사용량 감소. VRAM <20GB GPU에서 자동 활성화. |
| 모델 컴파일 | 최적화된 추론을 위해 torch.compile 활성화. 모든 티어에서 기본 활성화 (양자화 활성 시 필요). |
티어 인식 설정: 오프로드, 양자화, 컴파일 옵션은 GPU 티어에 따라 자동 설정됩니다. 전체 티어 테이블은 GPU_COMPATIBILITY.md를 참조하세요.
| 설정 | 설명 |
|---|---|
| LoRA 경로 | 학습된 LoRA 어댑터 디렉토리 경로 |
| LoRA 로드 | 지정된 LoRA 어댑터 로드 |
| 언로드 | 현재 로드된 LoRA 제거 |
| LoRA 사용 | 추론용 로드된 LoRA 활성화/비활성화 |
⚠️ 참고: PEFT와 TorchAO 간 호환성 문제로 양자화된 모델에 LoRA 어댑터를 로드할 수 없습니다. LoRA를 사용해야 하는 경우 어댑터를 로드하기 전에 INT8 양자화를 None으로 설정하세요.
서비스 초기화를 클릭하여 모델을 로드합니다. 상태 박스에 다음을 포함한 진행 상황과 확인이 표시됩니다:
- 감지된 GPU 티어 및 VRAM
- 최대 허용 시간 및 배치 크기 (LM 초기화 여부에 따라 동적 조정)
- 자동 수정된 호환되지 않는 설정에 대한 경고
초기화 후 오디오 시간 및 배치 크기 슬라이더가 티어 제한을 반영하도록 자동 업데이트됩니다.
생성 탭 상단의 생성 모드 라디오 선택기가 워크플로를 결정합니다. Turbo 및 SFT 모델은 4가지 모드를 제공하고, Base 모델은 3가지를 추가로 제공합니다.
빠른 자연어 기반 음악 생성을 위해 설계되었습니다.
사용 방법:
- 생성 모드에서 Simple 선택
- "곡 설명" 필드에 자연어 설명 입력
- 보컬이 필요 없으면 "인스트루멘탈" 옵션 체크
- 선호하는 보컬 언어 옵션 선택
- 샘플 생성 클릭하여 caption, 가사, 메타데이터 생성
- 확장된 섹션에서 생성된 콘텐츠 확인
- 음악 생성 클릭하여 오디오 생성
설명 예시:
- "조용한 저녁을 위한 부드러운 벵골 러브송"
- "강렬한 베이스 드롭이 있는 업비트 일렉트로닉 댄스 뮤직"
- "어쿠스틱 기타의 멜랑콜리한 인디 포크"
- "연기 자욱한 바에서 연주하는 재즈 트리오"
랜덤 샘플: 🎲 버튼을 클릭하여 랜덤 예시 설명을 로드합니다.
모든 생성 파라미터를 완전히 제어합니다 (text2music).
사용 방법:
- 생성 모드에서 Custom 선택
- Caption과 가사 필드를 수동으로 입력
- 옵션으로 참조 오디오를 업로드하여 스타일 가이던스
- 옵션 메타데이터 설정 (BPM, 키, 시간 등)
- 옵션으로 포맷 클릭하여 LM으로 입력 향상
- 필요에 따라 고급 설정 구성
- 음악 생성 클릭하여 오디오 생성
기존 오디오의 멜로디 구조를 유지하면서 스타일을 변경합니다.
사용 방법:
- 생성 모드에서 Remix 선택
- 소스 오디오 업로드 (리믹스할 곡)
- 타겟 스타일을 설명하는 Caption 작성
- 옵션으로 가사 수정
- Remix 강도 (0.0-1.0) 조정: 높을수록 = 원본 구조에 가까움
- 음악 생성 클릭
용도: 커버 버전 생성, 스타일 전이, 곡 변형 생성.
오디오의 특정 시간 구간을 재생성하고 나머지는 유지합니다.
사용 방법:
- 생성 모드에서 Repaint 선택
- 소스 오디오 업로드
- 리페인트 시작과 리페인트 끝 설정 (초; -1은 파일 끝)
- 리페인트 섹션의 원하는 콘텐츠를 설명하는 Caption 작성
- 음악 생성 클릭
용도: 문제 있는 섹션 수정, 구간 내 가사 변경, 곡 연장.
믹스된 오디오에서 특정 악기 트랙을 추출/분리합니다.
사용 방법:
- 생성 모드에서 Extract 선택
- 소스 오디오 업로드
- 드롭다운에서 추출할 트랙 이름 선택
- 음악 생성 클릭
사용 가능한 트랙: vocals, backing_vocals, drums, bass, guitar, keyboard, percussion, strings, synth, fx, brass, woodwinds
기존 오디오에 새로운 악기 트랙을 추가합니다.
사용 방법:
- 생성 모드에서 Lego 선택
- 소스 오디오 업로드
- 드롭다운에서 추가할 트랙 이름 선택
- 트랙 특성을 설명하는 Caption 작성
- 음악 생성 클릭
지정된 악기로 부분적인 트랙을 완성합니다 (자동 편곡).
사용 방법:
- 생성 모드에서 Complete 선택
- 소스 오디오 업로드
- 추가할 여러 트랙 이름 선택
- 원하는 스타일을 설명하는 Caption 작성
- 음악 생성 클릭
| 필드 | 설명 |
|---|---|
| 참조 오디오 | 스타일/음색 가이던스를 위한 옵션 오디오 (Custom 모드에서 표시) |
| 소스 오디오 | Remix, Repaint, Extract, Lego, Complete 모드에 필수 |
| 코드로 변환 | 소스 오디오에서 5Hz 시맨틱 코드 추출 |
사전 계산된 오디오 시맨틱 코드를 여기에 붙여넣어 생성을 가이드할 수 있습니다. 트랜스크라이브 버튼을 사용하여 코드를 분석하고 메타데이터를 추출합니다. 소스 오디오 업로드 없이 멜로디 구조를 제어하기 위한 고급 기능입니다.
원하는 음악의 텍스트 설명. 다음에 대해 구체적으로 작성:
- 장르와 스타일
- 악기
- 분위기와 느낌
- 템포 느낌 (BPM을 지정하지 않는 경우)
예시: "일렉 기타, 강렬한 드럼, 캐치한 신스 훅이 있는 업비트 팝 록"
🎲를 클릭하여 랜덤 예시 caption을 로드합니다.
구조 태그가 포함된 가사를 입력:
[Verse 1]
오늘 거리를 걸으며
네가 했던 말들을 떠올렸어
[Chorus]
나는 앞으로 나아가, 강하게 서서
여기가 내 자리야
[Verse 2]
...
인스트루멘탈 체크박스: 가사 내용에 관계없이 인스트루멘탈 음악을 생성하려면 체크합니다.
보컬 언어: 보컬 언어를 선택합니다. 자동 감지 또는 인스트루멘탈 트랙에는 "unknown"을 사용합니다.
포맷 버튼: 5Hz LM을 사용하여 caption과 가사를 향상시키려면 클릭합니다.
| 파라미터 | 기본값 | 설명 |
|---|---|---|
| BPM | 자동 | 분당 비트 수 (30-300) |
| 키 스케일 | 자동 | 음악 키 (예: "C Major", "Am", "F# minor") |
| 박자 기호 | 자동 | 박자 기호: 2 (2/4), 3 (3/4), 4 (4/4), 6 (6/8) |
| 오디오 시간 | 자동/-1 | 목표 길이(초) (10-600). -1은 자동 |
| 배치 크기 | 2 | 생성할 오디오 변형 수 (1-8) |
| 파라미터 | 기본값 | 설명 |
|---|---|---|
| 추론 스텝 | 8 | 디노이징 스텝. Turbo: 1-20, Base: 1-200 |
| 가이던스 스케일 | 7.0 | CFG 강도 (base 모델만). 높을수록 = 프롬프트를 더 따름 |
| 시드 | -1 | 랜덤 시드. 배치에는 쉼표로 구분된 값 사용 |
| 랜덤 시드 | ✓ | 체크 시 랜덤 시드 생성 |
| 오디오 형식 | mp3 | 출력 형식: mp3, flac |
| 시프트 | 3.0 | 타임스텝 시프트 계수 (1.0-5.0). turbo에 3.0 권장 |
| 추론 방법 | ode | ode (Euler, 더 빠름) 또는 sde (확률적) |
| 커스텀 타임스텝 | - | 타임스텝 오버라이드 (예: "0.97,0.76,0.615,0.5,0.395,0.28,0.18,0.085,0") |
| 파라미터 | 기본값 | 설명 |
|---|---|---|
| ADG 사용 | ✗ | 더 나은 품질을 위해 적응형 듀얼 가이던스 활성화 |
| CFG 구간 시작 | 0.0 | CFG 적용 시작 시점 (0.0-1.0) |
| CFG 구간 끝 | 1.0 | CFG 적용 종료 시점 (0.0-1.0) |
| 파라미터 | 기본값 | 설명 |
|---|---|---|
| LM 온도 | 0.85 | 샘플링 온도 (0.0-2.0). 높을수록 = 더 창의적 |
| LM CFG 스케일 | 2.0 | LM 가이던스 강도 (1.0-3.0) |
| LM Top-K | 0 | Top-K 샘플링. 0이면 비활성화 |
| LM Top-P | 0.9 | 핵 샘플링 (0.0-1.0) |
| LM 네거티브 프롬프트 | "NO USER INPUT" | CFG용 네거티브 프롬프트 |
| 옵션 | 기본값 | 설명 |
|---|---|---|
| CoT Metas | ✓ | LM 추론을 통해 메타데이터 생성 |
| CoT Language | ✓ | LM으로 보컬 언어 감지 |
| 제약 디코딩 디버그 | ✗ | 디버그 로깅 활성화 |
| 옵션 | 기본값 | 설명 |
|---|---|---|
| LM 코드 강도 | 1.0 | LM 코드가 생성에 미치는 영향의 강도 (0.0-1.0) |
| 자동 스코어 | ✗ | 품질 스코어 자동 계산 |
| 자동 LRC | ✗ | 가사 타임스탬프 자동 생성 |
| LM 배치 청크 크기 | 8 | LM 배치당 최대 항목 수 (GPU 메모리) |
| 컨트롤 | 설명 |
|---|---|
| Think | 코드 생성 및 메타데이터를 위한 5Hz LM 활성화 |
| ParallelThinking | 병렬 LM 배치 처리 활성화 |
| CaptionRewrite | LM이 입력 caption을 향상시키도록 함 |
| AutoGen | 완료 후 다음 배치 자동 시작 |
배치 크기에 따라 최대 8개의 오디오 샘플이 표시됩니다. 각 샘플에는 다음이 포함됩니다:
- 오디오 플레이어 - 생성된 오디오 재생, 일시 정지, 다운로드
- 소스로 전송 - 이 오디오를 소스 오디오 입력으로 전송하여 추가 처리
- 저장 - 오디오와 메타데이터를 JSON 파일로 저장
- 스코어 - 퍼플렉시티 기반 품질 스코어 계산
- LRC - 가사 타임스탬프 생성 (LRC 형식)
"Score & LRC & LM Codes"를 클릭하여 확장하고 다음을 확인:
- LM 코드 - 이 샘플의 5Hz 시맨틱 코드
- 품질 스코어 - 퍼플렉시티 기반 품질 메트릭
- 가사 타임스탬프 - LRC 형식 타이밍 데이터
| 컨트롤 | 설명 |
|---|---|
| ◀ 이전 | 이전 배치 보기 |
| 배치 인디케이터 | 현재 배치 위치 표시 (예: "배치 1 / 3") |
| 다음 배치 상태 | 백그라운드 생성 진행 상황 표시 |
| 다음 ▶ | 다음 배치 보기 (AutoGen이 켜져 있으면 생성 트리거) |
이 설정을 UI에 적용을 클릭하여 현재 배치의 모든 생성 파라미터를 입력 필드로 복원합니다. 좋은 결과를 반복하는 데 유용합니다.
"배치 결과 및 생성 상세" 아코디언에는 다음이 포함됩니다:
- 모든 생성 파일 - 모든 배치의 모든 파일 다운로드
- 생성 상세 - 생성 과정에 대한 상세 정보
LoRA 학습 탭은 커스텀 LoRA 어댑터를 만들기 위한 도구를 제공합니다.
📖 전체 단계별 안내 (데이터 준비, 주석, 전처리, 학습, 내보내기)는 LoRA 학습 튜토리얼을 참조하세요.
옵션 A: 기존 데이터셋 로드
- 이전에 저장한 데이터셋 JSON 경로 입력
- 로드 클릭
옵션 B: 새 디렉토리 스캔
- 오디오 폴더 경로 입력
- 스캔 클릭하여 오디오 파일 검색 (wav, mp3, flac, ogg, opus)
| 설정 | 설명 |
|---|---|
| 데이터셋 이름 | 데이터셋 이름 |
| 모두 인스트루멘탈 | 모든 트랙에 보컬이 없는 경우 체크 |
| 커스텀 활성화 태그 | 이 LoRA의 스타일을 활성화하는 고유 태그 |
| 태그 위치 | 태그를 배치할 위치: 앞에 추가, 뒤에 추가, 또는 caption 대체 |
모두 자동 라벨링을 클릭하여 모든 오디오 파일의 메타데이터를 생성:
- Caption (음악 설명)
- BPM
- 키
- 박자 기호
메타 건너뛰기 옵션은 LLM 라벨링을 건너뛰고 N/A 값을 사용합니다.
슬라이더를 사용하여 샘플을 선택하고 수동 편집:
- Caption
- 가사
- BPM, 키, 박자 기호
- 언어
- 인스트루멘탈 플래그
변경 저장을 클릭하여 샘플을 업데이트합니다.
저장 경로를 입력하고 데이터셋 저장을 클릭하여 JSON으로 내보냅니다.
빠른 학습을 위해 데이터셋을 사전 계산 텐서로 변환:
- 옵션으로 기존 데이터셋 JSON 로드
- 텐서 출력 디렉토리 설정
- 전처리 클릭
이것은 오디오를 VAE 잠재 변수로 인코딩하고, 텍스트를 임베딩으로 인코딩하며, 조건 인코더를 실행합니다.
전처리된 텐서 디렉토리 경로를 입력하고 데이터셋 로드를 클릭합니다.
| 설정 | 기본값 | 설명 |
|---|---|---|
| LoRA 랭크 (r) | 64 | LoRA의 용량. 높을수록 = 더 많은 용량, 더 많은 메모리 |
| LoRA 알파 | 128 | 스케일링 계수 (일반적으로 랭크의 2배) |
| LoRA 드롭아웃 | 0.1 | 정규화를 위한 드롭아웃 비율 |
| 설정 | 기본값 | 설명 |
|---|---|---|
| 학습률 | 1e-4 | 최적화 학습률 |
| 최대 에폭 | 500 | 최대 학습 에폭 |
| 배치 크기 | 1 | 학습 배치 크기 |
| 그래디언트 누적 | 1 | 유효 배치 = batch_size × accumulation |
| N 에폭마다 저장 | 200 | 체크포인트 저장 빈도 |
| 시프트 | 3.0 | turbo 모델의 타임스텝 시프트 |
| 시드 | 42 | 재현성을 위한 랜덤 시드 |
- 학습 시작 - 학습 프로세스 시작
- 학습 중지 - 학습 중단
- 학습 진행 - 현재 에폭과 손실 표시
- 학습 로그 - 상세 학습 출력
- 학습 손실 플롯 - 시각적 손실 곡선
학습 후 최종 어댑터를 내보냅니다:
- 내보내기 경로 입력
- LoRA 내보내기 클릭
- thinking 모드 사용 - LM 향상 생성을 위해 "Think" 체크박스를 활성화 유지
- caption을 구체적으로 - 장르, 악기, 분위기, 스타일 세부 사항 포함
- LM이 메타데이터를 감지하도록 - 자동 감지를 위해 BPM/키/시간을 비워 둠
- 배치 생성 사용 - 2-4개 변형을 생성하고 최적의 것을 선택
- turbo 모델 사용 -
acestep-v15-turbo또는acestep-v15-turbo-shift3선택 - 추론 스텝을 8로 유지 - turbo에 최적인 기본값
- 배치 크기 줄이기 - 빠른 결과가 필요하면 배치 크기 낮추기
- AutoGen 비활성화 - 배치 생성의 수동 제어
- 특정 시드 설정 - "랜덤 시드" 체크 해제 후 시드 값 입력
- 좋은 결과 저장 - 재현을 위해 파라미터를 내보내려면 "저장" 사용
- "이 설정 적용" 사용 - 좋은 배치에서 파라미터 복원
- 명시적 시간 설정 - 초 단위로 시간 지정
- Repaint 모드 사용 - 초기 생성 후 문제 있는 섹션 수정
- 생성 체인 - "소스로 전송"을 사용하여 이전 결과를 기반으로 구축
- LoRA 학습 - 스타일에 맞는 커스텀 어댑터 생성
- 참조 오디오 사용 - 오디오 업로드에서 스타일 참조 업로드
- 일관된 caption 사용 - 유사한 설명적 언어 유지
오디오가 생성되지 않음:
- 모델이 초기화되었는지 확인 (녹색 상태 메시지)
- thinking 모드 사용 시 5Hz LM이 초기화되었는지 확인
- 오류 메시지에 대한 상태 출력 확인
결과 품질이 낮음:
- 추론 스텝 증가 (base 모델의 경우)
- 가이던스 스케일 조정
- 다른 시드 시도
- caption을 더 구체적으로 작성
메모리 부족 (OOM):
- 시스템에 자동 VRAM 관리 (VRAM 가드, 적응형 VAE 디코드, 자동 배치 축소) 포함. 그래도 OOM 발생 시:
- 수동으로 배치 크기 줄이기
- CPU 오프로드 활성화 (VRAM <20GB에서 자동 활성화되어야 함)
- INT8 양자화 활성화 (VRAM <20GB에서 자동 활성화되어야 함)
- LM 배치 청크 크기 줄이기
LM이 작동하지 않음:
- 초기화 시 "5Hz LM 초기화"가 체크되었는지 확인 (VRAM ≤6GB GPU에서 기본 비활성화)
- 유효한 LM 모델 경로가 선택되었는지 확인 (티어 호환 모델만 표시)
- vllm 또는 PyTorch 백엔드가 사용 가능한지 확인 (VRAM <8GB에서 vllm 제한)
- LM 체크박스가 회색이면 GPU 티어가 LM을 지원하지 않음 — DiT 전용 모드 사용
Gradio 인터페이스는 표준 웹 단축키를 지원합니다:
- Tab - 입력 필드 간 이동
- Enter - 텍스트 입력 제출
- Space - 체크박스 토글
인터페이스는 여러 UI 언어를 지원합니다:
- 영어 (en)
- 중국어 (zh)
- 일본어 (ja)
- 한국어 (ko)
서비스 설정 섹션에서 선호하는 언어를 선택하세요.
자세한 내용은 다음을 참조하세요:
- 메인 README:
../../README.md - REST API 문서:
../en/API.md - Python 추론 API:
../en/INFERENCE.md