로컬 음성 인식·합성
AuK로 음성 편집하기: 녹음한 문장 수정·잡음 제거·TTS
AuK는 지시문과 필요한 원본 음성을 받아 음성을 만들거나 편집하는 모델이에요.
AuK는 지시문으로 음성을 생성하거나 녹음을 편집하는 1.5B 모델이에요. 원본 파일과 바꿀 문장을 넣어 발화 내용을 수정하고, 잡음과 잔향을 줄이는 작업도 할 수 있어요. 여기서는 CUDA1용 Python 설치와 짧은 파일 편집부터 시작하고, Mac의 MLX2와 audio.cpp 경로도 함께 살펴봐요.
AuK는 어떤 입력을 어떤 음성으로 바꾸나요
AuK는 지시문으로 음성 작업을 지정하는 1.5B 로컬 모델이에요. 읽을 문장만 주면 TTS3처럼 말소리를 만들고, 편집할 음성 파일까지 주면 문장 일부를 바꾸거나 속도·감정·음색 같은 발화 특성을 조정하라고 요청할 수 있어요. 노이즈와 잔향을 줄이거나 특정 음원을 남기는 작업도 같은 방식으로 요청할 수 있어요.
작업은 원본 음성이 필요한지부터 나누면 쉬워요. 새 내레이션은 문장과 목소리 설명을 넣고, 이미 녹음한 문장의 수정이나 정리는 음성 파일과 바꿀 내용을 함께 줍니다. AuK가 ASR4처럼 음성을 글로만 옮기는 모델은 아니므로, 결과물은 텍스트가 아니라 생성된 오디오 파일이에요.
문장 바꾸기·잡음 줄이기·새 음성 만들기
AuK는 2026년 9월 9일 코드와 가중치를 공개했고 Base와 4단계 증류 Flash 체크포인트5를 제공해요. 편집할 때는 지시문에 바꿀 문장이나 유지할 화자를 적고, 참조 오디오로 화자와 발화 맥락을 알려줘요. 음성을 정리할 때는 남길 소리와 줄일 잡음을 문장으로 지정해요.
공식 예시는 영어와 중국어 중심이에요. 한국어 발음이나 특정 말투가 중요하면 긴 녹음을 맡기기 전에 짧은 구간부터 생성해 발음, 편집 경계, 배경음 잔존 여부를 확인해요.

필요한 준비물과 설치 경로
CUDA에서 시험할 때는 Python 3.10 환경을 준비해요. 코드를 받은 뒤 기본 추론 패키지를 설치하고, Hugging Face CLI6로 AuK-Base와 Qwen2.5-Omni-3B를 각각 `ckpts` 아래 내려받아요. Base부터 확인한다면 AuK-Flash는 나중에 추가해도 돼요.
먼저 현재 GPU7와 맞는 PyTorch8 빌드를 설치해요. 다음 표는 AuK 공식 README의 측정 조건과 메모리 결과를 함께 보여 줘요.
Apple Silicon은 공식 `feat/mlx-apple-silicon` 브랜치의 MLX 안내를 따라가세요. audio.cpp도 AuK와 Flash를 실험적 GGUF9 모델로 지원해요. 이 글의 `--cpu_offload` 명령과 A800 메모리 표는 CUDA용이므로, Mac에서는 선택한 실행기의 설치 문서와 모델 구성 파일을 사용해야 해요.
git clone https://github.com/Tencent-Hunyuan/AuK
cd AuK
conda create -n auk python=3.10 -y
conda activate auk
pip install -e .
pip install -U "huggingface_hub[cli]"
hf download tencent/AuK --local-dir ./ckpts/AuK
hf download Qwen/Qwen2.5-Omni-3B --local-dir ./ckpts/Qwen2.5-Omni-3B짧은 녹음의 문장부터 바꿔봐요.
모델에는 사용 권한을 확인한 짧은 음성 파일을 넣어요. 공식 예제 입력은 `assets/demo-input-audio/content-edit/content.wav`이고, 자신의 파일을 쓸 때는 경로와 바꿀 구절을 함께 바꾸면 돼요. `--gen_seconds`는 목표 출력 길이예요. 결과가 중간에 잘리면 이 값을 먼저 늘려 보세요.
성공하면 `out_content_edit.wav`가 만들어져요. 원본과 같은 구간을 재생해 문장이 바뀌었는지, 앞뒤 발화가 자연스럽게 이어지는지 들어보세요. 두 번째 명령은 공식 음성 정리 요청을 영어로 바꾼 예예요. 출력 파일에서 잡음과 잔향이 줄었는지, 남겨야 할 목소리까지 사라지지 않았는지 확인해요.
auk-infer \
--audio assets/demo-input-audio/content-edit/content.wav \
--instruction "Replace 'but accepting what we cannot have' with 'and living well with dreams unmet'." \
--output out_content_edit.wav \
--gen_seconds 7.0auk-infer \
--audio assets/demo-input-audio/vocal-extraction/vocal-1-input.wav \
--instruction "Please restore this audio to clean vocals, preserve the original speakers, and remove noise and reverberation." \
--output out_denoise.wav
오프로드 메모리는 어떤 조건에서 줄었나요
공식 README 표는 NVIDIA A800-SXM4-80GB에서 BF1610 추론 중 `torch.cuda.max_memory_allocated`를 기록해 CPU11 offload12를 끄고 켠 결과를 비교해요. 표의 두 입력 조건은 텍스트만으로 1.5초를 생성하는 경우와 5초 참조 음성을 함께 넣는 경우예요.
모델별 결과는 표에서 비교할 수 있어요. 이 값은 A800의 측정치이므로 다른 GPU의 실행 여부를 판단하는 최소 메모리값으로 보면 안 돼요. 입력 길이, 정밀도, 다른 앱의 메모리 사용량까지 확인한 뒤 offload 설정을 선택하세요.
| 모델·입력 조건 | offload 끔 | offload 켬 |
|---|---|---|
| AuK-Base, 텍스트만 입력, 1.5초 출력 | 24.78 GiB | 16.75 GiB |
| AuK-Base, 5초 참조 음성 | 25.00 GiB | 16.98 GiB |
| AuK-Flash, 텍스트만 입력, 1.5초 출력 | 24.77 GiB | 16.75 GiB |
| AuK-Flash, 5초 참조 음성 | 24.97 GiB | 16.98 GiB |
NVIDIA A800-SXM4-80GB, BF16, 텍스트·참조 입력별 피크 할당 메모리
AuK-Base, 텍스트만 입력, 1.5초 출력
- offload 끔
- 24.78 GiB
- offload 켬
- 16.75 GiB
AuK-Base, 5초 참조 음성
- offload 끔
- 25.00 GiB
- offload 켬
- 16.98 GiB
AuK-Flash, 텍스트만 입력, 1.5초 출력
- offload 끔
- 24.77 GiB
- offload 켬
- 16.75 GiB
AuK-Flash, 5초 참조 음성
- offload 끔
- 24.97 GiB
- offload 켬
- 16.98 GiB
auk-infer --cpu_offload \
--audio assets/demo-input-audio/content-edit/content.wav \
--instruction "Replace 'but accepting what we cannot have' with 'and living well with dreams unmet'." \
--output out_content_edit.wav \
--gen_seconds 7.0
상업용으로 쓸 때는 인코더 라이선스도 확인해요.
AuK 코드는 MIT로 공개됐어요. 실행에 필요한 `Qwen/Qwen2.5-Omni-3B` 인코더는 연구·평가 목적의 비상업 조건이 있는 `qwen-research` 라이선스를 사용해요. 상업 서비스에 연결하려면 코드와 각 모델의 조건을 함께 확인해야 해요.
짧은 발화의 내용 수정, 보이스오버 초안, 녹음 정리에는 AuK의 지시형 생성·편집을 써 볼 수 있어요. 문서 전사나 긴 녹음의 화자별 타임스탬프가 필요하면 ASR을, 한국어 결과가 중요하면 한국어 발음이 담긴 샘플을 평가하는 도구를 먼저 고르세요.
용어 각주
CUDA — NVIDIA GPU에서 범용 계산을 실행하기 위한 소프트웨어 플랫폼입니다.
본문으로 돌아가기MLX — Apple이 개발하는 머신러닝 프레임워크입니다. Apple silicon에서는 통합 메모리와 Metal을 활용하며, 별도로 Linux 실행 경로도 제공합니다. 지원 모델과 기능은 MLX 기반 도구마다 다릅니다.
본문으로 돌아가기음성 합성 — 텍스트를 발음과 운율을 가진 음성 신호로 변환하는 기술입니다. 출력 음성의 특성은 모델과 설정에 따라 다릅니다.
본문으로 돌아가기자동 음성 인식 — 음성에서 발화를 인식해 텍스트로 변환하는 기술입니다.
본문으로 돌아가기체크포인트 — 학습된 모델의 가중치 등을 저장한 파일입니다. 같은 모델 계열도 버전이나 용도에 따라 다른 체크포인트를 쓸 수 있습니다.
본문으로 돌아가기CLI — Command-Line Interface의 약자입니다. 터미널에 명령어를 입력해 프로그램을 조작하는 방식입니다.
본문으로 돌아가기GPU — 많은 계산을 병렬로 처리하는 프로세서입니다. AI 모델 실행에서는 모델 계산을 맡습니다.
본문으로 돌아가기PyTorch — AI 모델을 만들고 실행하는 소프트웨어 프레임워크입니다. 모델과 함께 호환되는 PyTorch 버전 및 하드웨어 지원도 확인해야 합니다.
본문으로 돌아가기GGUF — 모델 정보를 담는 파일 형식으로 llama.cpp 계열 도구에서 널리 사용됩니다.
본문으로 돌아가기BF16 — 모델의 수를 저장하고 계산하는 16비트 부동소수점 형식입니다. 사용 가능 여부는 하드웨어와 실행 프로그램에 달려 있습니다.
본문으로 돌아가기CPU — 컴퓨터에서 일반적인 프로그램 명령을 실행하는 중앙 처리 장치입니다. AI 작업에서는 GPU 등 다른 프로세서와 역할을 나누기도 합니다.
본문으로 돌아가기오프로딩 — 메모리가 부족할 때 모델 데이터 일부를 GPU 메모리에서 시스템 RAM이나 저장장치로 옮겨 처리하는 방식입니다. 데이터 이동이 추가됩니다.
본문으로 돌아가기
