Windows에서 Qwen3-TTS 로컬 설치 시작
RTX 4080 환경에서 Qwen3-TTS를 직접 올려봤다
이번에 Qwen3-TTS를 로컬에서 직접 올려본 이유는 단순했다.
이제는 모델 소개만 보는 단계가 아니라, 실제로 내 환경에서 돌아가는지, 설치부터 실행까지 어느 정도 손이 가는지, 나중에 Unity 같은 쪽에 붙일 수 있을 정도로 관리 가능한지를 봐야 했다. 그래서 제일 먼저 한 일은 성능 비교가 아니라, 아주 기본적인 것부터 밟는 거였다. Windows에서 설치가 되느냐, CUDA가 제대로 잡히느냐, 모델 다운로드까지 무리 없이 이어지느냐. 이걸 먼저 확인하고 싶었다.
이번 테스트 환경은 아래와 같다.
- OS: Windows
- 셸: Anaconda Prompt
- GPU: NVIDIA GeForce RTX 4080
- NVIDIA 드라이버: 580.97
처음부터 이 환경 정보를 적어둔 건 이유가 있다. 이런 작업은 나중에 다시 보면 설치 명령보다도 당시 환경이 더 중요해지는 경우가 많다. 특히 TTS나 로컬 추론 모델 쪽은 GPU, 드라이버, Python 버전, PyTorch 빌드가 조금만 달라져도 흐름이 달라진다. 그래서 이번엔 시작부터 환경을 분명하게 남겨두고 갔다.

일단 새 환경부터 만들었다
이런 테스트를 할 때 기존 환경에 그대로 얹는 건 좋지 않다.
나중에 문제가 생기면 뭐가 원인인지 분리하기 힘들어지기 때문이다. 특히 PyTorch나 CUDA가 엮이는 작업은 더 그렇다. 그래서 이번에도 기존 환경은 건드리지 않고, 아예 qwen3-tts 전용 conda 환경을 새로 만들었다.
conda create -n qwen3-tts python=3.12 -y
conda activate qwen3-tts
python --version



Python은 3.12로 갔다.
이건 그냥 최신 버전이라서 고른 게 아니라, 아예 테스트 환경을 명확하게 끊어두고 싶었기 때문이다. “예전에 쓰던 환경에서 한번 해봄” 식으로 시작하면 나중에 재현이 안 된다. 지금은 당장 설치만 목표처럼 보여도, 실제로는 뒤에서 실행 오류를 잡고 속도까지 보기 시작할 예정이었기 때문에, 환경부터 깔끔하게 떼어내는 게 맞았다.
이 시점에서 내 생각은 딱 하나였다.
설치가 되느냐보다, 다시 똑같이 만들 수 있느냐가 더 중요하다.
그래서 시작부터 환경 이름, Python 버전, 셸까지 다 적어두고 갔다.
pip부터 먼저 정리했다
가상환경에 들어오면 보통 바로 패키지를 깔기 쉽다.
그런데 이번에는 그 전에 pip부터 올렸다.
python -m pip install --upgrade pip setuptools wheel

이 단계가 엄청 화려한 건 아니다.
하지만 설치 작업을 여러 번 해보면 이런 기본 도구 상태가 은근히 발목을 잡는 경우가 있다. 특히 Windows에서는 wheel 처리나 패키지 설치 과정이 조금만 꼬여도 나중에 원인 파악이 귀찮아진다. 그래서 처음부터 pip, setuptools, wheel은 최신으로 맞춰두는 쪽을 택했다. 문서에도 이 순서가 그대로 남아 있다.
이런 기록을 남길 때 내가 중요하게 보는 건 “잘 되면 넘어간다”가 아니다.
문제가 생겼을 때 내가 어디까지 정상으로 확인했는지가 보여야 한다. pip 업그레이드는 딱 그런 체크포인트다.
Qwen3-TTS보다 먼저 본 건 PyTorch였다
그다음에 바로 qwen-tts를 설치한 게 아니라, 먼저 PyTorch를 잡았다.
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128


이 순서를 먼저 밟은 이유는 분명했다.
Qwen3-TTS를 설치하더라도 GPU가 제대로 안 잡히면 뒤는 의미가 없다. 돌아간다 해도 CPU로 돌거나, 성능이 완전히 다르게 나오거나, 이후에 다른 문제처럼 보이는 증상이 생길 수 있다. 그래서 나는 항상 이런 류의 테스트를 할 때 모델 패키지보다 먼저 torch 상태를 본다.
설치 후에는 아래 명령으로 확인했다.
python -c "import torch; print('torch=', torch.__version__); print('cuda_available=', torch.cuda.is_available()); print('cuda_version=', torch.version.cuda); print('gpu=', torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'NONE')"

이건 한번에 필요한 걸 다 보여준다.
- torch 버전이 제대로 잡혔는지
- CUDA 사용 가능 여부가 True인지
- 어떤 CUDA 버전으로 잡혔는지
- 실제 GPU 이름이 뜨는지
문서에도 이 명령으로 설치 확인을 진행한 기록이 남아 있다. 이걸 따로 적어둔 이유도 뻔하다. 설치가 끝났다는 메시지보다 중요한 건 실제로 GPU를 보는지이기 때문이다.
여기서부터는 조금 안도감이 생겼다.
적어도 torch가 GPU를 보는 상태라면, 이제 모델 쪽 문제로 넘어갈 수 있기 때문이다. 설치가 안 되는 건 귀찮아도 단순한 문제인데, GPU 인식이 어중간하게 꼬이면 시간만 많이 먹는다. 그래서 이 단계가 통과됐을 때 “적어도 기본 바닥은 깔렸다”는 느낌이 있었다.
qwen-tts 설치는 생각보다 단순했다
PyTorch가 정리되면 그다음은 qwen-tts다.
pip install -U qwen-tts


설치 자체는 별문제 없이 진행됐다.
그리고 바로 import 확인을 했다.
python -c "from qwen_tts import Qwen3TTSModel; print('Qwen3-TTS import OK')"

이 단계는 그냥 형식적으로 넣은 게 아니다.
pip 설치가 끝났다고 해서 실제 import까지 보장되는 건 아니기 때문이다. 특히 AI 관련 패키지는 하위 의존성이나 버전 차이로 import 시점에서 깨지는 경우가 꽤 있다. 그래서 나는 설치가 끝나면 무조건 import 한 번은 본다. 문서에도 이 확인 절차가 그대로 들어가 있다.
여기까지는 솔직히 꽤 순조로웠다.
그래서 이 시점만 보면 “생각보다 별거 아닌데?”라는 느낌도 들 수 있다. 그런데 실제로는 여기서 끝이 아니었다. 지금 돌아보면 이 구간은 Qwen3-TTS 설치의 어려움을 보여주는 단계가 아니라, 진짜 문제를 만나기 전까지는 꽤 매끄럽게 간다는 걸 보여주는 단계에 가까웠다. 나중에 실행 단계에서 부딪히는 걸 생각하면, 오히려 이때가 제일 평온했다.
모델 다운로드를 위해 Hugging Face 로그인이 필요했다
Qwen3-TTS는 모델 가중치를 받아야 하므로 Hugging Face 로그인이 필요하다.
그래서 다음 단계로 아래 명령을 쳤다.
huggingface-cli login

이제부터는 설치라기보다 다운로드 준비에 가깝다.
문서에도 적혀 있듯이, released model은 이름으로 로드하면 Hugging Face에서 자동 다운로드될 수 있기 때문에, 로그인은 사실상 필수 절차다. 로컬 실행을 목표로 한다면 이 단계는 건너뛸 수 없다.

여기서 좋은 점은, 기록에 아주 사소하지만 실제로 필요한 디테일이 남아 있다는 거다.
토큰을 붙여넣을 때 콘솔에는 입력이 안 되는 것처럼 보일 수 있는데, 그 상태가 정상이라는 설명이 들어 있다. 이건 실제로 한 번 겪어본 사람만 남기기 쉬운 메모다. 공식 가이드만 요약하면 대개 이런 문장은 빠진다. 나는 이런 부분이 설치 글에서 꽤 중요하다고 본다. 작은 지점에서 막히는 사람이 제일 많기 때문이다.
토큰은 새로 만들었다
여기서 권한을 과하게 줄 필요는 없었다
토큰이 없으면 새로 만들면 된다.
문서에는 새 토큰 생성 화면과 함께 권한 설정 기준도 같이 정리돼 있다. 여기서 내가 좋게 본 건, 이 부분을 대충 넘기지 않았다는 점이다. Hugging Face 토큰은 처음 만들면 체크 항목이 많아서 괜히 헷갈리기 쉽다. 그런데 이 기록에서는 “Qwen3-TTS 다운로드만 할 거면 대부분의 체크박스는 필요 없다”는 식으로 아주 분명하게 정리하고 있다.
핵심은 아래 두 가지였다.
- Read 토큰
- Fine-grained 토큰 + 읽기 권한만 최소 설정
둘 다 가능하지만, 다운로드 목적이면 이 정도면 충분하다.
Write, Webhooks, Billing, Jobs, Inference, Collections 같은 권한은 다운로드와 무관하다고 선을 긋고 있다. 이건 단순히 “되는 설정”을 적은 게 아니라, 최소 권한으로 관리하겠다는 태도가 보이는 부분이다. 나도 이런 작업을 할 때는 가능하면 권한을 좁게 잡는 편이 낫다고 본다. 지금은 내 PC에서 테스트하는 단계지만, 이런 계정 관련 설정은 습관처럼 남기기 때문이다.






이 지점에서 느낀 건 명확했다.
설치 글이라고 해도 독자가 진짜로 헤매는 건 패키지 설치보다 이런 계정/권한 설정일 수 있다. 설치 명령어는 복붙하면 되지만, 토큰 권한은 괜히 잘못 건드리면 찝찝하고 헷갈린다. 그래서 이 부분을 길게 적어둔 건 괜찮은 선택이었다. 실제로 나중에 다시 같은 환경을 세팅할 때도 이 정보가 더 유용할 가능성이 높다.
여기까지는 “실행 준비”를 만든 과정이었다
정리하면 이번 단계에서 한 일은 단순하다.
- qwen3-tts용 conda 환경을 만들고
- pip 관련 기본 도구를 정리하고
- CUDA용 PyTorch를 설치하고 확인하고
- qwen-tts를 설치하고 import를 확인하고
- Hugging Face 로그인 준비까지 끝냈다
겉으로 보면 설치 과정이지만, 실제로는 실행 직전에 필요한 준비를 하나씩 통과하는 과정에 가깝다. 나는 이런 작업을 할 때 설치 명령보다도, 각 단계마다 “정상임을 확인한 지점”을 남기는 걸 더 중요하게 본다. 이번 기록도 그런 흐름으로 남아 있다. GPU 인식 확인, import 확인, 로그인 준비 같은 것들이 다 그렇다.
그리고 이 단계에서의 인상도 분명하다.
적어도 설치만 놓고 보면 Qwen3-TTS는 생각보다 무겁게 시작하지 않았다. conda 환경을 만들고, PyTorch를 맞추고, 패키지를 깔고, Hugging Face 로그인을 준비하는 흐름 자체는 꽤 깔끔했다. 다만 그건 어디까지나 여기까지였다. 실제로 문서 전체 흐름을 보면 문제는 다음 단계, 즉 Web UI를 띄우는 시점부터 본격적으로 시작된다. 그래서 지금 이 글은 “설치 끝”이라기보다, 문제를 만나기 전까지의 안정적인 출발점을 정리한 기록이라고 보는 게 더 맞다.
이번에 사용한 명령어 정리
글 중간에 흩어져 있으니 한 번에 다시 모아둔다.
conda create -n qwen3-tts python=3.12 -y
conda activate qwen3-tts
python --version
python -m pip install --upgrade pip setuptools wheel
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
python -c "import torch; print('torch=', torch.__version__); print('cuda_available=', torch.cuda.is_available()); print('cuda_version=', torch.version.cuda); print('gpu=', torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'NONE')"
pip install -U qwen-tts
python -c "from qwen_tts import Qwen3TTSModel; print('Qwen3-TTS import OK')"
huggingface-cli login
이 순서대로 진행하면, 적어도 Windows 로컬에서 Qwen3-TTS 실행 준비 단계까지는 그대로 재현할 수 있다.
마무리
이번 글에서는 Qwen3-TTS를 Windows 로컬 환경에서 시작하기 위한 첫 단계를 정리했다.
새 conda 환경을 만들고, PyTorch CUDA를 설치하고, qwen-tts를 설치하고, Hugging Face 로그인까지 준비했다. 여기까지만 보면 설치 자체는 꽤 단정하게 끝난 편이다.
하지만 실제 테스트는 이제부터다.
설치가 끝났다고 바로 Web UI가 뜨는 건 아니었다. 다음 단계에서는 실행 과정에서 flash-attn 관련 경고가 보였고, 처음엔 SoX 쪽도 눈에 띄었지만 실제로는 다른 지점이 문제였다. 결국 코드를 직접 확인하고 flash_attention_2 관련 설정을 바꾸는 데까지 가게 된다. 그러니까 이번 글은 Qwen3-TTS를 “설치했다”는 기록이면서 동시에, 본격적인 트러블슈팅 전 단계까지 어떻게 올라왔는지 정리한 작업 로그이기도 하다.
다음 글에서는
Qwen3-TTS Web UI 실행이 왜 바로 되지 않았는지,
그리고 어떻게 원인을 좁혀서 우회했는지를 이어서 적어보려고 한다.
참고 링크
Qwen3-TTS 1.7B CustomVoice 모델 페이지
https://huggingface.co/Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice
Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice · Hugging Face
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
huggingface.co
Qwen3-TTS 공식 GitHub
https://github.com/QwenLM/Qwen3-TTS
GitHub - QwenLM/Qwen3-TTS: Qwen3-TTS is an open-source series of TTS models developed by the Qwen team at Alibaba Cloud, support
Qwen3-TTS is an open-source series of TTS models developed by the Qwen team at Alibaba Cloud, supporting stable, expressive, and streaming speech generation, free-form voice design, and vivid voice...
github.com
Hugging Face User Access Tokens 문서
https://huggingface.co/docs/hub/security-tokens
User access tokens · Hugging Face
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
huggingface.co
Hugging Face 로그인 문서
https://huggingface.co/docs/huggingface_hub/v0.24.5/ko/package_reference/login
로그인 및 로그아웃 · Hugging Face
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
huggingface.co
PyTorch 로컬 설치 가이드
https://pytorch.org/get-started/locally/
Get Started
Set up PyTorch easily with local installation or supported cloud platforms.
pytorch.org
PyTorch 이전 버전 / CUDA 12.8 설치 참고
https://pytorch.org/get-started/previous-versions/
Previous PyTorch Versions
Access and install previous PyTorch versions, including binaries and instructions for all platforms.
pytorch.org
본 글은 작성자의 실제 테스트 기록을 바탕으로 작성되었으며, 문장 정리와 구성 보완에 AI의 도움을 받았습니다.
'Programming > AI' 카테고리의 다른 글
| Qwen3-TTS 한국어 음성은 실제로 어땠나 (0) | 2026.04.02 |
|---|---|
| Qwen3-TTS Web UI가 바로 안 뜬 이유 (0) | 2026.04.02 |
| Coqui XTTS-v2 오류 해결 후기 - speaker_wav 적용부터 Python API 최종 성공까지 (0) | 2026.03.31 |
| Coqui XTTS-v2 설치 후기 - Windows 로컬 환경에서 한국어 TTS 테스트 시작하기 (0) | 2026.03.31 |
| Unity에서 OpenAI API로 AI 도슨트 만들기 (0) | 2026.03.26 |