Spaces:
Running
์๊ฐ
!!! warning
์ด ์ฝ๋๋ฒ ์ด์ค์ ๋ถ๋ฒ์ ์ธ ์ฌ์ฉ์ ๋ํด์๋ ์ฑ
์์ ์ง์ง ์์ต๋๋ค. DMCA(Digital Millennium Copyright Act) ๋ฐ ํด๋น ์ง์ญ์ ๊ด๋ จ ๋ฒ๋ฅ ์ ์ฐธ์กฐํ์ญ์์ค.
์ด ์ฝ๋๋ฒ ์ด์ค์ ๋ชจ๋ ๋ชจ๋ธ์ CC-BY-NC-SA-4.0 ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค.
์๊ตฌ ์ฌํญ
- GPU ๋ฉ๋ชจ๋ฆฌ: 4GB (์ถ๋ก ์ฉ), 8GB (ํ์ธํ๋์ฉ)
- ์์คํ : Linux, Windows
Windows ์ค์
๊ณ ๊ธ Windows ์ฌ์ฉ์๋ WSL2 ๋๋ Docker๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์คํํ๋ ๊ฒ์ ๊ณ ๋ คํ ์ ์์ต๋๋ค.
# ํ์ด์ฌ 3.10 ๊ฐ์ ํ๊ฒฝ ์์ฑ, virtualenv๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
conda create -n fish-speech python=3.10
conda activate fish-speech
# pytorch ์ค์น
pip3 install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/cu121
# fish-speech ์ค์น
pip3 install -e .
# (๊ฐ์ ํ์ฑํ) triton-windows ์ค์น
pip install https://github.com/AnyaCoder/fish-speech/releases/download/v0.1.0/triton_windows-0.1.0-py3-none-any.whl
๋น์ ๋ฌธ Windows ์ฌ์ฉ์๋ Linux ํ๊ฒฝ ์์ด ํ๋ก์ ํธ๋ฅผ ์คํํ ์ ์๋ ๋ค์ ๊ธฐ๋ณธ ๋ฐฉ๋ฒ์ ๊ณ ๋ คํ ์ ์์ต๋๋ค (๋ชจ๋ธ ์ปดํ์ผ ๊ธฐ๋ฅ ํฌํจ, ์ฆ torch.compile
):
- ํ๋ก์ ํธ ํจํค์ง ์ถ์ถ.
install_env.bat
์ ํด๋ฆญํ์ฌ ํ๊ฒฝ ์ค์น.- ์ปดํ์ผ ๊ฐ์์ ํ์ฑํํ๋ ค๋ฉด ์๋ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์:
- LLVM ์ปดํ์ผ๋ฌ ๋ค์ด๋ก๋:
- LLVM-17.0.6 (๊ณต์ ์ฌ์ดํธ)
- LLVM-17.0.6 (๋ฏธ๋ฌ ์ฌ์ดํธ)
LLVM-17.0.6-win64.exe
๋ฅผ ๋ค์ด๋ก๋ ํ ๋๋ธํด๋ฆญํ์ฌ ์ค์นํ๊ณ , ์ค์น ๊ฒฝ๋ก ์ ํ ์Add Path to Current User
์ต์ ์ ์ฒดํฌํ์ฌ ํ๊ฒฝ ๋ณ์๋ฅผ ์ถ๊ฐํฉ๋๋ค.- ์ค์น๊ฐ ์๋ฃ๋์๋์ง ํ์ธํฉ๋๋ค.
- Microsoft Visual C++ ์ฌ๋ฐฐํฌ ๊ฐ๋ฅ ํจํค์ง๋ฅผ ๋ค์ด๋ก๋ํ์ฌ .dll ๋๋ฝ ๋ฌธ์ ํด๊ฒฐ:
- Visual Studio Community Edition์ ๋ค์ด๋ก๋ํ์ฌ LLVM์ ํค๋ ํ์ผ ์์กด์ฑ์ ํด๊ฒฐ:
- Visual Studio ๋ค์ด๋ก๋
- Visual Studio Installer๋ฅผ ์ค์นํ ํ Visual Studio Community 2022๋ฅผ ๋ค์ด๋ก๋.
Desktop development with C++
์ต์ ์ ์ ํํ์ฌ ์ค์น.
- CUDA Toolkit 12.x ๋ค์ด๋ก๋ ๋ฐ ์ค์น.
- LLVM ์ปดํ์ผ๋ฌ ๋ค์ด๋ก๋:
start.bat
์ ๋๋ธ ํด๋ฆญํ์ฌ ํ๋ จ ์ถ๋ก WebUI ๊ด๋ฆฌ ์ธํฐํ์ด์ค๋ฅผ ์ฝ๋๋ค. ํ์ํ ๊ฒฝ์ฐ ์๋ ์ง์นจ์ ๋ฐ๋ผAPI_FLAGS
๋ฅผ ์์ ํ ์ ์์ต๋๋ค.
!!! info "Optional"
์ถ๋ก ์ ์ํด WebUI๋ฅผ ์ฌ์ฉํ๊ณ ์ ํ์๋์?
ํ๋ก์ ํธ ๋ฃจํธ ๋๋ ํ ๋ฆฌ์ `API_FLAGS.txt` ํ์ผ์ ํธ์งํ๊ณ ์ฒซ ์ธ ์ค์ ์๋์ ๊ฐ์ด ์์ ํ์ธ์:
```
--infer
# --api
# --listen ...
...
```
!!! info "Optional"
API ์๋ฒ๋ฅผ ์์ํ๊ณ ์ถ์ผ์ ๊ฐ์?
ํ๋ก์ ํธ ๋ฃจํธ ๋๋ ํ ๋ฆฌ์ `API_FLAGS.txt` ํ์ผ์ ํธ์งํ๊ณ ์ฒซ ์ธ ์ค์ ์๋์ ๊ฐ์ด ์์ ํ์ธ์:
```
# --infer
--api
--listen ...
...
```
!!! info "Optional"
`run_cmd.bat`์ ๋๋ธ ํด๋ฆญํ์ฌ ์ด ํ๋ก์ ํธ์ conda/python ๋ช
๋ น์ค ํ๊ฒฝ์ ์ง์
ํ ์ ์์ต๋๋ค.
Linux ์ค์
pyproject.toml์์ ์์ธํ ๋ด์ฉ์ ํ์ธํ์ธ์.
# ํ์ด์ฌ 3.10 ๊ฐ์ ํ๊ฒฝ ์์ฑ, virtualenv๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
conda create -n fish-speech python=3.10
conda activate fish-speech
# (Ubuntu / Debian ์ฌ์ฉ์) sox + ffmpeg ์ค์น
apt install libsox-dev ffmpeg
# (Ubuntu / Debian ์ฌ์ฉ์) pyaudio ์ค์น
apt install build-essential \
cmake \
libasound-dev \
portaudio19-dev \
libportaudio2 \
libportaudiocpp0
# pytorch ์ค์น
pip3 install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1
# fish-speech ์ค์น
pip3 install -e .[stable]
macos ์ค์
MPS์์ ์ถ๋ก ์ ์ํํ๋ ค๋ฉด --device mps
ํ๋๊ทธ๋ฅผ ์ถ๊ฐํ์ธ์.
์ถ๋ก ์๋ ๋น๊ต๋ ์ด PR์ ์ฐธ์กฐํ์ญ์์ค.
!!! warning
Apple Silicon ์ฅ์น์์๋ compile
์ต์
์ด ๊ณต์์ ์ผ๋ก ์ง์๋์ง ์์ผ๋ฏ๋ก ์ถ๋ก ์๋๊ฐ ํฅ์๋๋ค๋ ๋ณด์ฅ์ ์์ต๋๋ค.
# ํ์ด์ฌ 3.10 ๊ฐ์ ํ๊ฒฝ ์์ฑ, virtualenv๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
conda create -n fish-speech python=3.10
conda activate fish-speech
# pytorch ์ค์น
pip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1
# fish-speech ์ค์น
pip install -e .[stable]
Docker ์ค์
NVIDIA Container Toolkit ์ค์น:
Docker์์ ๋ชจ๋ธ ํ๋ จ ๋ฐ ์ถ๋ก ์ GPU๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด NVIDIA Container Toolkit์ ์ค์นํด์ผ ํฉ๋๋ค:
Ubuntu ์ฌ์ฉ์:
# ์ ์ฅ์ ์ถ๊ฐ curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list # nvidia-container-toolkit ์ค์น sudo apt-get update sudo apt-get install -y nvidia-container-toolkit # Docker ์๋น์ค ์ฌ์์ sudo systemctl restart docker
๋ค๋ฅธ Linux ๋ฐฐํฌํ ์ฌ์ฉ์๋: NVIDIA Container Toolkit ์ค์น ๊ฐ์ด๋๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
fish-speech ์ด๋ฏธ์ง ๊ฐ์ ธ์ค๊ธฐ ๋ฐ ์คํ
# ์ด๋ฏธ์ง ๊ฐ์ ธ์ค๊ธฐ docker pull fishaudio/fish-speech:latest-dev # ์ด๋ฏธ์ง ์คํ docker run -it \ --name fish-speech \ --gpus all \ -p 7860:7860 \ fishaudio/fish-speech:latest-dev \ zsh # ๋ค๋ฅธ ํฌํธ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด -p ๋งค๊ฐ๋ณ์๋ฅผ YourPort:7860์ผ๋ก ์์ ํ์ธ์
๋ชจ๋ธ ์ข ์์ฑ ๋ค์ด๋ก๋
Docker ์ปจํ ์ด๋ ๋ด๋ถ์ ํฐ๋ฏธ๋์์ ์๋ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ํ์ํ
vqgan
๋ฐllama
๋ชจ๋ธ์ Huggingface ๋ฆฌํฌ์งํ ๋ฆฌ์์ ๋ค์ด๋ก๋ํฉ๋๋ค.huggingface-cli download fishaudio/fish-speech-1.4 --local-dir checkpoints/fish-speech-1.4
ํ๊ฒฝ ๋ณ์ ์ค์ ๋ฐ WebUI ์ ๊ทผ
Docker ์ปจํ ์ด๋ ๋ด๋ถ์ ํฐ๋ฏธ๋์์
export GRADIO_SERVER_NAME="0.0.0.0"
๋ฅผ ์ ๋ ฅํ์ฌ Docker ๋ด๋ถ์์ Gradio ์๋น์ค์ ์ธ๋ถ ์ ๊ทผ์ ํ์ฉํฉ๋๋ค. ์ดํ, ํฐ๋ฏธ๋์์python tools/webui.py
๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ฌ WebUI ์๋น์ค๋ฅผ ์์ํฉ๋๋ค.WSL ๋๋ macOS๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ http://localhost:7860์์ WebUI ์ธํฐํ์ด์ค๋ฅผ ์ด ์ ์์ต๋๋ค.
์๋ฒ์ ๋ฐฐํฌ๋ ๊ฒฝ์ฐ, localhost๋ฅผ ์๋ฒ์ IP๋ก ๊ต์ฒดํ์ธ์.
๋ณ๊ฒฝ ์ฌํญ
- 2024/09/10: Fish-Speech 1.4 ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธ, ๋ฐ์ดํฐ์ ํฌ๊ธฐ ์ฆ๊ฐ ๋ฐ ์์ํ๊ธฐ์ n_groups๋ฅผ 4์์ 8๋ก ๋ณ๊ฒฝ.
- 2024/07/02: Fish-Speech 1.2 ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธ, VITS ๋์ฝ๋ ์ ๊ฑฐ ๋ฐ ์ ๋ก์ท ๋ฅ๋ ฅ ํฌ๊ฒ ํฅ์.
- 2024/05/10: Fish-Speech 1.1 ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธ, WER ๊ฐ์ ๋ฐ ์์ ์ ์ฌ์ฑ์ ๊ฐ์ ํ๊ธฐ ์ํด VITS ๋์ฝ๋ ๊ตฌํ.
- 2024/04/22: Fish-Speech 1.0 ๋ฒ์ ์๋ฃ, VQGAN ๋ฐ LLAMA ๋ชจ๋ธ ๋ํญ ์์ .
- 2023/12/28:
lora
ํ์ธํ๋ ์ง์ ์ถ๊ฐ. - 2023/12/27:
gradient checkpointing
,causual sampling
, ๋ฐflash-attn
์ง์ ์ถ๊ฐ. - 2023/12/19: WebUI ๋ฐ HTTP API ์ ๋ฐ์ดํธ.
- 2023/12/18: ํ์ธํ๋ ๋ฌธ์ ๋ฐ ๊ด๋ จ ์์ ์ ๋ฐ์ดํธ.
- 2023/12/17:
text2semantic
๋ชจ๋ธ ์ ๋ฐ์ดํธ, ์์ ์๋ ๋ชจ๋ ์ง์. - 2023/12/13: ๋ฒ ํ ๋ฒ์ ์ถ์, VQGAN ๋ชจ๋ธ ๋ฐ LLAMA ๊ธฐ๋ฐ ์ธ์ด ๋ชจ๋ธ(์์ ์ง์๋ง ํฌํจ).