본문 바로가기
카테고리 없음

[#05] qwen-tts를 이용한 AI 음성 만들기

by floral1215 2026. 2. 15.
반응형

오늘은 qwen-tts를 활용한 AI 음성 제작 모델을 운용해볼까 합니다.

확실히 이런 Utilization 분야가 모델 가중치가 적다 보니 접근이 쉬운 편인 것 같습니다.

 

세세한 파인튜닝이나 자세한 활용 방법 등은 하단 레퍼런스를 통해 찾아보시기 바랍니다.

저는 말 그대로 브라우저에서 web ui 환경에서 사용하는 방법만을 알려드립니다.

 

저는 아나콘다를 선호하지 않기 때문에 일반 python 기준으로 설명을 드립니다.

우선 python 3.12 버전을 받아줍니다.

 

최근에는 python install manager(줄여서 pim)라는 게 생겨서 기존의 pyenv?처럼 파이썬 버전관리가 가능해졌더라구요!

만약 이걸로 받으신 경우 현재 2026년 2월 15일 기준 최신 버전인 python 3.14 버전이 받아졌을테니 새로 받아주셔야 합니다.

 

별도로 웹에서 설치하실 분은 https://www.python.org/downloads/ 여기서 3.12를 받아주시고, pim을 받으신 분은 cmd 혹은 powershell을 관리자 권한으로 실행한 후 다음 명령어를 입력해주세요.

py install 3.12

 

이렇게 하면 로컬에 python 3.12 버전이 설치됩니다.

 

그럼 이제 가상환경을 만들어 줍니다. 설치를 원하는 디렉토리에 가서 경로를 복사해줍니다.

(파일탐색기 위에 경로 부분을 클릭하면 디렉토리 주소 형태로 바뀌는데 이걸 복사해줘도 되고, 빈 공간에 마우스 우클릭 해서 경로로 복사를 눌러주셔도 됩니다.)

 

그 다음 앞서 켜둔 터미널에서 다음 명령어를 입력해줍니다.

cd <복사한 디렉토리 주소>
# 위에 <>는 빼고 입력해주셔야 합니다. <>는 사용자 별로 입력값이 다른 경우를 표현할 때 사용하겠습니다.

 

그리고 이제 순차적으로 다음 명령어들을 입력해주세요.

# 1. 가상환경 생성(맨 뒤 venv는 가상환경 이름으로 원하는 이름으로 바꾸셔도 됩니다.)
py -3.12 -m venv venv

# 2. 가상환경 활성화(윈도우 기준)
.\venv\Scripts\active
# 위 명령어가 안 되면 Set-ExecutionPolicy unrestricted를 해주신 후 하면 됩니다.

# 3. 라이브러리 설치
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu130
# 여기서 torch 관련 라이브러리를 먼지 설치해주는 이유는 최신 그래픽카드는 호환이 안되기 때문입니다.
# 참고로 끝에 130은 저는 nvidia driver 13.1을 쓰기 때문에 저걸로 한거고 각자 터미널에서 확인 바랍니다.
# nvidia-smi 치면 버전이 나오고 해당 버전이 있다면 그대로, 없다면 그거보다 낮은 것 중 제일 높은 버전으로 설치하시면 됩니다.
# 121, 124, 126, 130 중에 하나 설치하시면 됩니다.

# 4. SoX 설치
https://sourceforge.net/projects/sox/
# 위 링크에 들어가서 SoX를 받아서 설치해주시면 됩니다.
# 그리고 환경변수 설정을 해줘야 하는데 윈도우키-환경 변수(엔터)-환경 변수(N)-시스템 변수 쪽에
# Path 변수를 찾아서 더블 클릭. 새로 만들기(N) 하고 C:\Program Files (x86)\sox-14-4-2 입력 후 확인

# 5. Qwen-TTS 설치
pip install -U qwen-tts

# 6. 웹 브라우저 환경에서 실행
qwen-tts-demo Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice --port 8000 --no-flash-attn
qwen-tts-demo Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign --port 8000 --no-flash-attn
qwen-tts-demo Qwen/Qwen3-TTS-12Hz-1.7B-Base --port 8000 --no-flash-attn
# 보시면 아시겠지만 CustomVoice, VoiceDesign, Base 각각에 대한 실행 방법입니다.

# 7. 사용
웹 브라우저에서 http://localhost:8000/ 접속해주시면 됩니다.

# 별첨
## 1. flash-attention 쓰시면 좋은데 단순 pip 설치는 불가능하니 아래 참고사항1을 보시기 바랍니다.
## 2. 혹시 6번에서 오류가 나면 3번이 제대로 안 된 걸 수도 있습니다. 그럼
##    $pip uninstall torch torchvision torchaudio -y
##    이걸로 한번 지워준 다음 3번 명령어를 다시 입력해주세요.
## 3. 참고로 3번이랑 6번은 용량이 꽤 커서 기다리셔야 합니다.

 

이거 쓰는 것도 보통 일이 아니네요.. ㅋㅋ


[참고사항1]

 

Flash attention을 설치하고 싶은 분들은 참고해주시면 될 것 같습니다.

참고로 정형화된 flash-attention download 방법은 제가 찾지 못해서 비교적 복잡할 수 있습니다.

 

이 부분은 다른 블로거분들 글을 참고하시는 걸 더 추천드립니다...!

 

https://visualstudio.microsoft.com/ko/

우선 먼저 위 링크로 들어가서 Visual Studio 2026을 받은 후 C++ 컴파일러를 설치해주세요.

별도로 항목을 추가할 필요는 없으며, 용량이 11GB가 넘다 보니 설치에 시간이 좀 소요됩니다.

 

https://developer.nvidia.com/cuda-downloads

그 다음은 여기 들어가서 CUDA Toolkit을 받아 설치해주세요. 저는 13.1 버전으로 받았습니다.

 

설치가 끝나면 다음 명령어들을 가상환경을 켠 상태에서 입력해주면 됩니다.

$pip install ninja
# C++ 컴파일 속도 및 안정성 증가

$$env:PATH = "C:\Program Files\Microsoft Visual Studio\18\Community\VC\Tools\MSVC\14.50.35717\bin\Hostx64\x64;" + $env:PATH

$pip install nvidia-cuda-nvcc nvidia-cuda-runtime nvidia-cublas nvidia-curand --extra-index-url https://pypi.nvidia.com

$env:CUDA_HOME = "C:\<각자 설치 경로>\venv\Lib\site-packages\nvidia\cu13"
# 저는 13 버전으로 받아서 cu13인데 각자 버전에 맞게 쓰세요
$env:PATH = "C:\<각자 설치 경로>\venv\Lib\site-packages\nvidia\cu13\bin;" + $env:PATH
$env:MAX_JOBS = "4"
# 저는 램이 32GB라서 CPU를 4코어만 쓰도록 합니다. 그리고 윈도우의 경우 이렇게 환경 변수로 설정을 해줘야합니다.
# 리눅스처럼 아래 명령어에 MAX_JOBS를 넣어서 설치는 불가능합니다.

# 헤더 파일 경로 직접 주입 (nv/target 에러 해결용)(cu13 버전만 해당)
$env:CPATH = "C:\<각자 설치 경로>\venv\Lib\site-packages\nvidia\cu13\include"
$env:INCLUDE = "C:\<각자 설치 경로>\venv\Lib\site-packages\nvidia\cu13\include;" + $env:INCLUDE

$pip install flash-attn --no-build-isolation

 

이렇게 설치 후 --no-flash-attn 옵션을 제외하고 사용해주시면 됩니다. 소요되는 vram이 감소하고 연산 속도가 증가하게 됩니다.

(참고로 저는 저렇게까지 해도 결국 5070ti 최신 GPU라서 그런지 호환성 문제로 설치 실패했습니다.. ㅠㅠ

아마 설치 가능한 환경이면 저기까지 안가도 바로 설치됐을 확률이 높아 보이네요)

 

참고로 MAX_JOBS 변수에 값을 별도로 넣지 않으면 가용 가능한 모든 cpu core를 쓰게 됩니다.

그럴 경우 아마 저장장치(ssd, hdd)를 활용하여 가상 ram이 추가하여 동작할 수도 있고, 오류가 발생할 수도 있습니다. 전자의 경우 동작은 해도 연산이 상당히 느려지겠죠. 그래서 미리 사용할 코어수를 정의하는 것을 추천드립니다.


[참고사항2]

 

참고로 로컬에서 마이크 입력을 직접 받고 싶은 경우 OpenSSL로 자체 서명 인증서를 생성 후 https로 실행을 해줘야 합니다.

그러고 싶으신 경우 6번 명령어를 다음과 같이 수정해서 사용해주세요.

# 1. 자체 서명 인증서 생성 (OpenSSL)
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes -subj "/CN=localhost"

# 2. HTTPS 모드로 실행
qwen-tts-demo Qwen/Qwen3-TTS-12Hz-1.7B-Base \
  --ip 0.0.0.0 --port 8000 \
  --ssl-certfile cert.pem \
  --ssl-keyfile key.pem \
  --no-ssl-verify

 

참고로 --ip 0.0.0.0을 넣으면 외부 접속을 허용한다는 뜻입니다. 즉, 휴대폰이나 태블릿으로 컴퓨터 ip주소:8000을 입력하면 들어가집니다. 당연히 별도 설정 없이 접속은 동일한 네트워크 망에서만 가능하구요.

 

터미널에서 ipconfig 친 후 IPv4(혹은 IPv6) 주소를 봐주시면 됩니다. 뭐 대충 192.168.0.11 이런 주소겠네요.

(반드시 같진 않습니다. 예를 들어, 저는 a대역이 172입니다.)

 

무선 네트워크를 쓰는 경우엔 무선 LAN 어댑터 부분의 주소를, 유선 네트워크(랜선 체결)를 쓰는 경우 이더넷 어댑터의 주소를 써주시면 됩니다.

 

아무튼 저런 주소라면 휴대폰에서 192.168.0.11:8000 쳐주시면 들어가집니다!

참고로 같은 망에 있고, 해당 컴퓨터의 내부망 IP 주소를 안다면 누구나 접속할 수 있기에 보안 문제로 권유드리진 않습니다.

(특히 WIFI를 남들과 공용으로 쓰는 경우 더욱!)


[레퍼런스]

 

자세한 사용법은 아래 깃허브 페이지를 참고하세요. 허깅페이스 페이지도 다 남깁니다.

https://github.com/QwenLM/Qwen3-TTS?tab=readme-ov-file

 

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

 

https://huggingface.co/Qwen/Qwen3-TTS-12Hz-1.7B-Base

https://huggingface.co/Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice

https://huggingface.co/Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign

https://huggingface.co/Qwen/Qwen3-TTS-Tokenizer-12Hz

반응형