|
|
@@ -1,107 +1,50 @@
|
|
|
-# Inferência
|
|
|
+# Introdução
|
|
|
|
|
|
-Como o modelo vocoder foi alterado, você precisa de mais VRAM do que antes, sendo recomendado 12GB para inferência fluente.
|
|
|
+<div>
|
|
|
+<a target="_blank" href="https://discord.gg/Es5qTB9BcN">
|
|
|
+<img alt="Discord" src="https://img.shields.io/discord/1214047546020728892?color=%23738ADB&label=Discord&logo=discord&logoColor=white&style=flat-square"/>
|
|
|
+</a>
|
|
|
+<a target="_blank" href="http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=jCKlUP7QgSm9kh95UlBoYv6s1I-Apl1M&authKey=xI5ttVAp3do68IpEYEalwXSYZFdfxZSkah%2BctF5FIMyN2NqAa003vFtLqJyAVRfF&noverify=0&group_code=593946093">
|
|
|
+<img alt="QQ" src="https://img.shields.io/badge/QQ Group-%2312B7F5?logo=tencent-qq&logoColor=white&style=flat-square"/>
|
|
|
+</a>
|
|
|
+<a target="_blank" href="https://hub.docker.com/r/fishaudio/fish-speech">
|
|
|
+<img alt="Docker" src="https://img.shields.io/docker/pulls/fishaudio/fish-speech?style=flat-square&logo=docker"/>
|
|
|
+</a>
|
|
|
+</div>
|
|
|
|
|
|
-Suportamos linha de comando, API HTTP e WebUI para inferência, você pode escolher qualquer método que preferir.
|
|
|
+!!! warning
|
|
|
+ Não assumimos nenhuma responsabilidade pelo uso ilegal da base de código. Consulte as leis locais sobre DMCA (Digital Millennium Copyright Act) e outras leis relevantes em sua área. <br/>
|
|
|
+ Esta base de código é lançada sob a licença Apache 2.0 e todos os modelos são lançados sob a licença CC-BY-NC-SA-4.0.
|
|
|
|
|
|
-## Baixar Pesos
|
|
|
+## Requisitos
|
|
|
|
|
|
-Primeiro você precisa baixar os pesos do modelo:
|
|
|
+- Memória GPU: 12GB (Inferência)
|
|
|
+- Sistema: Linux, Windows
|
|
|
|
|
|
-```bash
|
|
|
-huggingface-cli download fishaudio/openaudio-s1-mini --local-dir checkpoints/openaudio-s1-mini
|
|
|
-```
|
|
|
-
|
|
|
-## Inferência por Linha de Comando
|
|
|
-
|
|
|
-!!! note
|
|
|
- Se você planeja deixar o modelo escolher aleatoriamente um timbre de voz, pode pular esta etapa.
|
|
|
-
|
|
|
-### 1. Obter tokens VQ do áudio de referência
|
|
|
-
|
|
|
-```bash
|
|
|
-python fish_speech/models/dac/inference.py \
|
|
|
- -i "ref_audio_name.wav" \
|
|
|
- --checkpoint-path "checkpoints/openaudio-s1-mini/codec.pth"
|
|
|
-```
|
|
|
-
|
|
|
-Você deve obter um `fake.npy` e um `fake.wav`.
|
|
|
-
|
|
|
-### 2. Gerar tokens semânticos do texto:
|
|
|
-
|
|
|
-```bash
|
|
|
-python fish_speech/models/text2semantic/inference.py \
|
|
|
- --text "O texto que você quer converter" \
|
|
|
- --prompt-text "Seu texto de referência" \
|
|
|
- --prompt-tokens "fake.npy" \
|
|
|
- --checkpoint-path "checkpoints/openaudio-s1-mini" \
|
|
|
- --num-samples 2 \
|
|
|
- --compile # se você quiser uma velocidade mais rápida
|
|
|
-```
|
|
|
-
|
|
|
-Este comando criará um arquivo `codes_N` no diretório de trabalho, onde N é um inteiro começando de 0.
|
|
|
-
|
|
|
-!!! note
|
|
|
- Você pode querer usar `--compile` para fundir kernels CUDA para inferência mais rápida (~30 tokens/segundo -> ~500 tokens/segundo).
|
|
|
- Correspondentemente, se você não planeja usar aceleração, pode comentar o parâmetro `--compile`.
|
|
|
-
|
|
|
-!!! info
|
|
|
- Para GPUs que não suportam bf16, você pode precisar usar o parâmetro `--half`.
|
|
|
+## Configuração
|
|
|
|
|
|
-### 3. Gerar vocais a partir de tokens semânticos:
|
|
|
-
|
|
|
-#### Decodificador VQGAN
|
|
|
-
|
|
|
-!!! warning "Aviso Futuro"
|
|
|
- Mantivemos a interface acessível do caminho original (tools/vqgan/inference.py), mas esta interface pode ser removida em versões subsequentes, então por favor altere seu código o mais breve possível.
|
|
|
-
|
|
|
-```bash
|
|
|
-python fish_speech/models/dac/inference.py \
|
|
|
- -i "codes_0.npy" \
|
|
|
- --checkpoint-path "checkpoints/openaudiio-s1-mini/codec.pth"
|
|
|
-```
|
|
|
-
|
|
|
-## Inferência com API HTTP
|
|
|
-
|
|
|
-Fornecemos uma API HTTP para inferência. Você pode usar o seguinte comando para iniciar o servidor:
|
|
|
+Primeiro, precisamos criar um ambiente conda para instalar os pacotes.
|
|
|
|
|
|
```bash
|
|
|
-python -m tools.api_server \
|
|
|
- --listen 0.0.0.0:8080 \
|
|
|
- --llama-checkpoint-path "checkpoints/openaudio-s1-mini" \
|
|
|
- --decoder-checkpoint-path "checkpoints/openaudio-s1-mini/codec.pth" \
|
|
|
- --decoder-config-name modded_dac_vq
|
|
|
-```
|
|
|
|
|
|
-> Se você quiser acelerar a inferência, pode adicionar o parâmetro `--compile`.
|
|
|
+conda create -n fish-speech python=3.12
|
|
|
+conda activate fish-speech
|
|
|
|
|
|
-Depois disso, você pode visualizar e testar a API em http://127.0.0.1:8080/.
|
|
|
+pip install sudo apt-get install portaudio19-dev # Para pyaudio
|
|
|
+pip install -e . # Isso baixará todos os pacotes restantes.
|
|
|
|
|
|
-## Inferência GUI
|
|
|
-[Baixar cliente](https://github.com/AnyaCoder/fish-speech-gui/releases)
|
|
|
-
|
|
|
-## Inferência WebUI
|
|
|
-
|
|
|
-Você pode iniciar o WebUI usando o seguinte comando:
|
|
|
-
|
|
|
-```bash
|
|
|
-python -m tools.run_webui \
|
|
|
- --llama-checkpoint-path "checkpoints/openaudio-s1-mini" \
|
|
|
- --decoder-checkpoint-path "checkpoints/openaudio-s1-mini/codec.pth" \
|
|
|
- --decoder-config-name modded_dac_vq
|
|
|
-```
|
|
|
-
|
|
|
-Ou simplesmente
|
|
|
-
|
|
|
-```bash
|
|
|
-python -m tools.run_webui
|
|
|
+apt install libsox-dev ffmpeg # Se necessário.
|
|
|
```
|
|
|
-> Se você quiser acelerar a inferência, pode adicionar o parâmetro `--compile`.
|
|
|
|
|
|
-!!! note
|
|
|
- Você pode salvar o arquivo de rótulo e o arquivo de áudio de referência antecipadamente na pasta `references` no diretório principal (que você precisa criar), para que possa chamá-los diretamente no WebUI.
|
|
|
+!!! warning
|
|
|
+ A opção `compile` não é suportada no Windows e macOS, se você quiser executar com compile, precisa instalar o trition por conta própria.
|
|
|
|
|
|
-!!! note
|
|
|
- Você pode usar variáveis de ambiente do Gradio, como `GRADIO_SHARE`, `GRADIO_SERVER_PORT`, `GRADIO_SERVER_NAME` para configurar o WebUI.
|
|
|
+## Agradecimentos
|
|
|
|
|
|
-Divirta-se!
|
|
|
+- [VITS2 (daniilrobnikov)](https://github.com/daniilrobnikov/vits2)
|
|
|
+- [Bert-VITS2](https://github.com/fishaudio/Bert-VITS2)
|
|
|
+- [GPT VITS](https://github.com/innnky/gpt-vits)
|
|
|
+- [MQTTS](https://github.com/b04901014/MQTTS)
|
|
|
+- [GPT Fast](https://github.com/pytorch-labs/gpt-fast)
|
|
|
+- [Transformers](https://github.com/huggingface/transformers)
|
|
|
+- [GPT-SoVITS](https://github.com/RVC-Boss/GPT-SoVITS)
|