업데이트 공지: ComfyUI 프론트엔드에 영향을 미치는 커스텀 노드
2025. 05. 13.
ComfyUI ACE-Step 음악 생성 워크플로우 완벽 가이드
ACE-Step은 중국 팀 StepFun과 ACE Studio가 공동으로 개발한 오픈소스 음악 생성 기반 모델로, 음악 창작자에게 효율적이고 유연하며 고품질의 음악 생성 및 편집 도구를 제공하도록 설계되었습니다.
이 모델은 Apache-2.0 라이센스 하에 배포되며 상업적 사용이 무료입니다.
강력한 음악 생성 기반 모델로서 ACE-Step은 풍부한 확장 기능을 제공합니다. LoRA 및 ControlNet과 같은 미세 조정 기술을 통해 개발자는 특정 요구에 따라 모델을 사용자 정의할 수 있습니다. 오디오 편집, 보컬 합성, 반주 제작, 음성 복제 또는 스타일 변환 등에 ACE-Step은 안정적이고 신뢰할 수 있는 기술적 지원을 제공할 수 있습니다. 이러한 유연한 아키텍처 설계는 음악 AI 애플리케이션의 개발 과정을 크게 단순화하여 더 많은 창작자가 AI 기술을 음악 창작에 빠르게 적용할 수 있게 합니다.
현재 ACE-Step은 LoRA 모델 훈련을 포함한 관련 훈련 코드를 출시했으며, 해당 ControlNet 훈련 코드는 향후 출시될 예정입니다. 자세한 내용은 Github을 방문하여 확인할 수 있습니다.
ComfyUI에서의 ACE-Step 구현 및 다국어 지원 설명
ACE-Step의 다국어 구현에서 다양한 언어는 음악 생성을 위해 해당 영어 문자로 변환함으로써 통합됩니다. 그러나 ComfyUI의 네이티브 지원은 현재 이러한 언어-영어 변환 단계를 구현하지 않고 있으며, 일본어 가타카나에 대한 매칭 변환만 이 커밋에서 찾을 수 있습니다. 이 단계를 구현하려면 추가 종속성을 도입해야 하며, 이를 핵심 종속성에 추가하면 다양한 잠재적 문제와 커스텀 노드 충돌이 발생할 수 있습니다. 따라서 ComfyUI에서는 현재 입력에 다른 언어를 직접 사용할 수 없으며, 해당 영어 문자로 변환해야 합니다.
그러나 커스텀 노드 제작자들이 해당 언어 변환을 구현하여 직접적인 다국어 입력을 가능하게 했습니다. 이 문서에서는 네이티브 워크플로우와 커스텀 노드를 결합하여 ACE-Step 워크플로우를 완성합니다. 이미 이 파일을 다운로드했을 수 있습니다. 아래는 ComfyUI에서 두 가지 ACE-Step 구현 방법에 대한 설명입니다.
1. ComfyUI 네이티브 지원
- 장점: 병합된 올인원 모델 사용, 편리한 로딩, 사용 간편
- 단점: 직접적인 다국어 입력 지원 안 함, 음악 생성을 위해 해당 언어를 영어 문자로 변환 필요
현재 ComfyUI는 ACE-Step을 네이티브로 지원하지만, 단점은 직접적인 다국어 입력을 지원하지 않는다는 것입니다.
2. 커스텀 노드 ComfyUI_ACE-Step 구현
ComfyUI_ACE-Step은 주로 직접적인 다국어 입력을 구현하며, 다국어 가사 입력 및 다국어 프롬프트 입력을 지원합니다.
- 장점: 직접적인 다국어 입력 지원, 사용 간편
- 단점: 병합된 모델 사용 안함, 여러 모델 다운로드 필요
이 커스텀 노드는 현재 핵심 종속성에 일본어, 중국어, 한국어 번역을 위한 종속성을 추가하므로 음악 생성에 여러 언어를 직접 사용할 수 있습니다. 또한 작성자는 혼합 다국어 입력 처리를 최적화했습니다.
이 튜토리얼 워크플로우에서는 ComfyUI_ACE-Step에서 해당 ACE-Step Lyrics Language Switch
를 추가합니다. 다국어 입력이 필요한 경우 이를 통해 언어 입력이 크게 용이해집니다.
그러나 테스트 중에 이 언어 변환 노드는 일본어 변환에 여전히 몇 가지 문제가 있는 것으로 밝혀졌습니다. 따라서 일본어로 노래를 생성하려면 이 부분을 삭제하고 ComfyUI의 네이티브 노드를 사용하여 일본어 가타카나를 직접 입력하세요.
또한 제공된 워크플로우에서 해당 노드는 기본적으로 Bypass
모드이므로, 다국어 입력을 활성화해야 하는 경우 노드를 우클릭하고 노드 모드를 Always
모드로 설정해야 합니다.
최근 Comfy의 네이티브 ACE-Step 워크플로우 업데이트로 인해 휴대용 버전의 템플릿은 아직 업데이트되지 않았습니다. 따라서 (2025-05-18) 기준으로 이 튜토리얼은 다국어 지원과 최적화된 워크플로우를 갖춘 온라인에서 찾을 수 있는 가장 빠른 튜토리얼이 될 것입니다. 결국 관련 템플릿은 현재 ComfyUI Wiki에서 유지관리되고 있습니다.
시작 전 준비
- 해당 네이티브 지원을 확보하기 위해 ComfyUI를 최신 버전으로 업그레이드하세요
- (선택 사항, 직접적인 다국어 입력이 필요한 경우) ComfyUI_ACE-Step 플러그인을 설치하세요 (ComfyUI Manager를 사용하여 직접 설치)
- 모델 다운로드, ace_step_v1_3.5b.safetensors를 다운로드하여
ComfyUI/models/checkpoints
폴더에 저장하세요
ComfyUI ACE-Step 텍스트에서 오디오 생성
1. 워크플로우 파일 다운로드
아래 버튼을 클릭하여 해당 워크플로우 파일을 다운로드하고, ComfyUI로 드래그하여 해당 워크플로우 정보를 로드하세요. 워크플로우에는 모델 다운로드 정보가 포함되어 있습니다.
2. 워크플로우 실행 단계별 완성
Load Checkpoints
노드가ace_step_v1_3.5b.safetensors
모델을 로드하는지 확인하세요- (선택 사항)
EmptyAceStepLatentAudio
노드에서 생성되는 음악의 길이를 설정할 수 있습니다 - (선택 사항)
ACE-Step Lyrics Language Switch
에 해당 가사를 입력하세요. 입력 방법을 모르는 경우 ACE-Step 프로젝트 페이지를 참조할 수 있습니다. 일본어 입력이 필요한 경우 이 부분을 삭제하고 ComfyUI의 네이티브 노드를 사용하여 일본어 가타카나를 직접 입력하세요. - (선택 사항)
TextEncodeAceStepAudio
의tags
에 해당 음악 스타일 등을 입력하세요 - (선택 사항)
LatentOperationTonemapReinhard
노드에서multiplier
를 조정하여 보컬 볼륨을 조정할 수 있습니다 (큰 숫자는 보컬을 더 두드러지게 만듭니다) Run
버튼을 클릭하거나 단축키Ctrl(cmd) + Enter
를 사용하여 오디오 생성을 실행하세요- 워크플로우가 완료되면
Save Audio
노드에서 생성된 오디오를 볼 수 있습니다. 클릭하여 재생 및 미리보기가 가능하며, 해당 오디오는ComfyUI/output/audio
에도 저장됩니다 (서브디렉토리 이름은Save Audio
노드에 의해 결정됩니다)
ComfyUI ACE-Step 오디오에서 오디오로
ACE Step 오디오에서 오디오로의 워크플로우를 사용할 때, 이미지에서 이미지로의 워크플로우처럼 음악을 입력하고 아래 워크플로우를 사용하여 리샘플링 생성을 달성할 수 있습니다. 마찬가지로 Ksampler
의 denoise
매개변수를 제어하여 원본 오디오와의 차이를 조정할 수도 있습니다.
다음을 달성할 수 있습니다:
- 음악 스타일 조정
- 가사의 일부 수정 등
ACE-Step 프로젝트 페이지에서 더 많은 예제를 볼 수 있습니다
1. 워크플로우 파일 다운로드
아래 버튼을 클릭하여 해당 워크플로우 파일을 다운로드하고, ComfyUI로 드래그하여 해당 워크플로우 정보를 로드하세요
텍스트에서 오디오로의 워크플로우에서 오디오를 입력 오디오로 사용할 수 있습니다
2. 워크플로우 실행 단계별 완성
Load Checkpoints
노드가ace_step_v1_3.5b.safetensors
모델을 로드하는지 확인하세요LoadAudio
노드에서 편집할 오디오를 업로드하세요- (선택 사항)
ACE-Step Lyrics Language Switch
에 수정된 가사를 입력하세요, ACE-Step 프로젝트 페이지를 참조할 수 있습니다 - (선택 사항)
TextEncodeAceStepAudio
의tags
에 해당 음악 스타일을 입력하세요 - (선택 사항)
KSampler
노드의denoise
매개변수를 수정하세요 (큰 숫자는 원본 오디오와의 차이를 더 크게 만듭니다) Run
버튼을 클릭하거나 단축키Ctrl(cmd) + Enter
를 사용하여 오디오 생성을 실행하세요- 워크플로우가 완료되면
Save Audio
노드에서 생성된 오디오를 볼 수 있습니다. 클릭하여 재생 및 미리보기가 가능하며, 해당 오디오는ComfyUI/output/audio
에도 저장됩니다 (서브디렉토리 이름은Save Audio
노드에 의해 결정됩니다)
ComfyUI ACE-Step LoRA
ACE-Step은 중국어 RAP 스타일의 LoRA 모델을 공식적으로 출시했습니다. ACE-Step/ACE-Step-v1-chinese-rap-LoRA를 방문하여 해당 LoRA 모델을 다운로드할 수 있습니다. ace-step-v1-chinese-rap-lora.safetensors
로 이름을 바꾸는 것을 잊지 마세요. 시작하기 전에 해당 파일을 수동으로 다운로드하여 ComfyUI/models/loras
폴더에 저장해야 합니다.
1. 워크플로우 파일 다운로드
2. 워크플로우 실행 단계별 완성
Load Checkpoints
노드가ace_step_v1_3.5b.safetensors
모델을 로드하는지 확인하세요Load LoRA
노드에ace-step-v1-chinese-rap-lora.safetensors
모델을 추가하세요- 다른 옵션은 텍스트에서 비디오 생성과 동일하게 수정됩니다.
Run
버튼을 클릭하거나 단축키Ctrl(cmd) + Enter
를 사용하여 오디오 생성을 실행하세요 - 워크플로우가 완료되면
Save Audio
노드에서 생성된 오디오를 볼 수 있습니다. 클릭하여 재생 및 미리보기가 가능하며, 해당 오디오는ComfyUI/output/audio
에도 저장됩니다 (서브디렉토리 이름은Save Audio
노드에 의해 결정됩니다)
ACE-Step 음악 확장
ACE-Step 프롬프트 가이드
ACE는 현재 tags
와 lyrics
의 두 가지 유형의 프롬프트를 사용합니다.
tags
: 주로 음악 스타일, 장면 등을 설명하는 데 사용되며, 우리가 일반적으로 사용하는 다른 생성 프롬프트와 유사합니다. 주로 오디오의 전체적인 스타일과 요구 사항을 설명하며, 영어 쉼표로 구분됩니다lyrics
: 주로 가사를 설명하는 데 사용되며, [verse] (구절), [chorus] (코러스), [bridge] (브릿지)와 같은 가사 구조 태그를 지원하여 가사의 다른 부분을 구분합니다. 또한 악기 음악의 경우 악기 이름을 입력할 수도 있습니다
ACE-Step 모델 홈페이지에서 tags
와 lyrics
의 풍부한 예제를 찾을 수 있습니다. 해당 예제를 참조하여 프롬프트를 시도할 수 있습니다. 아래 프롬프트는 ComfyUI 공식 문서에서 정리된 것으로, 대부분 ACE-Step 프로젝트 홈페이지에서 가져온 것입니다. 프롬프트 작성 방법을 배우려면 공식 문서를 방문하는 것이 좋습니다.
tags (프롬프트)
주류 음악 스타일
짧은 태그 조합을 사용하여 특정 음악 스타일 생성
- electronic
- rock
- pop
- funk
- soul
- cyberpunk
- Acid jazz
- electro
- em
- soft electric drums
- melodic
더 많은 음악 스타일 조합 예제
- DUBSTEP, DARKNESS, FEAR, TERROR (태그를 반복하면 효과가 강화될 수 있습니다)
- dark, death rock, metal, hardcore, electric guitar, powerful, bass, drums, 110 bpm, G major
- Cuban music, salsa, son, Afro-Cuban, traditional Cuban
- alternative rock, pop, rock
- dark electro, industrial techno, gothic rave
- disco
- electronic rap
- country rock, folk rock, southern rock, bluegrass, pop
- melancholic, world, sad
장면 유형
특정 사용 시나리오와 분위기를 결합하여 해당 분위기에 맞는 음악 생성
- background music for parties
- radio broadcasts
- workout playlists
악기 요소
- saxophone, jazz
- piano, violin
- 808 bass, sub bassline
- orchestral, synthesizer, violin, viola, cello
- phonk, russian dark accordion, russian psaltery, russian harmonica
음성 유형
- female voice
- male voice
- clean vocals
- crystal-clear soprano voice
- deep male voice
전문 용어
음악에서 일반적으로 사용되는 전문 용어를 사용하여 음악 효과를 정확하게 제어합니다:
- 110 bpm, 140 bpm, 160 bpm (분당 비트 수 지정)
- fast tempo
- slow tempo
- loops
- fills
- acoustic guitar
- electric bass
- G major, B flat major, D minor
고급 제어 매개변수
변형 제어
생성된 음악과 원본 스타일 간의 차이 정도를 제어합니다:
- variance=0.1 (매우 유사, 거의 동일)
- variance=0.3 (적당한 변화, 기본 스타일 유지)
- variance=0.5 (중간 변화, 눈에 띄는 차이)
- variance=0.7 (큰 변화, 명확한 스타일 변환)
오디오 리페인팅
나머지 부분을 보존하면서 오디오의 특정 측면이나 영역을 수정할 수 있습니다:
- change singing gender
- change style
- change lyrics
특수 음악 유형 프롬프트
- 순수한 보컬/아카펠라: “a cappella” 태그 사용, 가사는 모음 조합을 사용할 수 있습니다 (“aaaaaaaa, eeeeeeeee”와 같이)
- 랩/리듬 제어: “b-box, deep male voice, trap, hip-hop, super fast tempo” 사용
- 실험적 음악: 모음 반복이나 특수 텍스트 형식과 같은 비전통적 입력을 사용할 수 있습니다
- 순수 악기: 가사 섹션에서 “[inst]” 태그 사용
실험적 입력 형식
음악을 설명하기 위해 더 구조화된 HTML 형식을 시도할 수 있습니다, 예를 들면:
<SONG_PROMPT>
<header>
[STYLE: Electro-Acid House] [MOOD: Energetic, Raw, Hypnotic, Futuristic]
[INSTRUMENTATION: Acid Basslines, Punchy Kicks, Snappy Claps, Crisp Hi-Hats]
[TEMPO: 128 BPM] [PRODUCTION: Raw Energy, Dynamic Acid Sequences]
</header>
<SONG_MODULES>
<INTRO>
[Punchy kick and filtered acid bassline create a raw, pulsating groove.]
</INTRO>
<BUILD_UP_1>
[Acid bassline evolves with increasing resonance and modulation.]
</BUILD_UP_1>
<DROP_1>
[Full-power acid bassline dominates with high resonance and distortion.]
</DROP_1>
</SONG_MODULES>
</SONG_PROMPT>
Lyrics(가사)
가사 구조 태그
- [intro]
- [verse]
- [pre-chorus]
- [chorus]
- [bridge]
- [outro]
- [hook]
- [refrain]
- [interlude]
- [breakdown]
- [ad-lib]
악기 음악
악기 음악의 경우, 가사 섹션에서 사용할 수 있습니다: [inst] 또는 악기 섹션을 지정합니다:
[verse]
[chorus]
[solo]
[verse]
[chorus]
[outro]
다국어 지원
- ACE-Step V1은 여러 언어를 지원합니다. 사용 시 ACE-Step은 음악 생성을 위해 다양한 언어를 해당 영어 문자로 변환합니다.
- ComfyUI에서는 모든 언어에서 영어 문자로의 변환을 완전히 구현하지 않았습니다. 현재, 일본어 히라가나 및 가타카나 문자만 지원됩니다.
따라서 음악 생성에 여러 언어를 사용해야 하는 경우, 먼저 해당 언어를 영어 문자로 변환한 다음
lyrics
의 시작 부분에 언어 코드 약어를 추가해야 합니다. 예를 들어 중국어[zh]
, 한국어[ko]
등이 있습니다. 또는 이 글에서 언급된ACE-Step Lyrics Language Switch
노드를 사용하여 언어 변환을 완료할 수 있습니다.
예를 들면:
[verse]
[zh]wo3zou3guo4shen1ye4de5jie1dao4
[zh]leng3feng1chui1luan4si1nian4de5piao4liang4wai4tao4
[zh]ni3de5wei1xiao4xiang4xing1guang1hen3xuan4yao4
[zh]zhao4liang4le5wo3gu1du2de5mei3fen1mei3miao3
[chorus]
[verse]
[ko]hamkke si-kkeuleo-un sesang-ui sodong-eul pihae
[ko]honja ogsang-eseo dalbich-ui eolyeompus-ileul balaboda
[ko]niga salang-eun lideum-i ganghan eum-ag gatdago malhaess-eo
[ko]han ta han tamada ma-eum-ui ondoga eolmana heojeonhanji ijge hae
[bridge]
[es]cantar mi anhelo por ti sin ocultar
[es]como poesía y pintura, lleno de anhelo indescifrable
[es]tu sombra es tan terca como el viento, inborrable
[es]persiguiéndote en vuelo, brilla como cruzar una mar de nubes
[chorus]
[fr]que tu sois le vent qui souffle sur ma main
[fr]un contact chaud comme la douce pluie printanière
[fr]que tu sois le vent qui s'entoure de mon corps
[fr]un amour profond qui ne s'éloignera jamais
ACE-Step은 현재 19개 언어를 지원하지만, 다음 10개 언어가 더 잘 지원됩니다:
- English
- Chinese: [zh]
- Russian: [ru]
- Spanish: [es]
- Japanese: [ja]
- German: [de]
- French: [fr]
- Portuguese: [pt]
- Italian: [it]
- Korean: [ko]
가사 편집 예제
오디오에서 오디오로의 워크플로우에서 특정 가사를 정확하게 수정할 수 있습니다:
- “When I was young” -> “when you were kid”
- “When I was young” -> “When I was old”
- “I’d listen to the radio” -> “I’d listen to the spotify”
- “It made me smile” -> “It made me cry”
같은 멜로디와 스타일을 유지하면서 언어 변환을 수행할 수도 있습니다:
- “When I was young” -> “Quand j’étais jeune” (프랑스어)
- “When I was young” -> “In meiner Jugend” (독일어)
- “When I was young” -> “子供의頃に” (일본어)
- “When I was young” -> “내가 어렸을 때” (한국어)
- “When I was young” -> “我小的时候” (중국어)
그러나 ComfyUI의 네이티브 노드에 입력하는 것은 번거로울 수 있으므로, 언어 변환을 처리하기 위해 ACE-Step Lyrics Language Switch
노드를 사용하는 것이 좋습니다.