Skip to content

Commit

Permalink
Strings from WebUI and docs translated into pt-BR (#400)
Browse files Browse the repository at this point in the history
  • Loading branch information
thiagojramos authored Jul 20, 2024
1 parent 9974cf3 commit 7daa2fc
Show file tree
Hide file tree
Showing 11 changed files with 862 additions and 2 deletions.
9 changes: 7 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Fish Speech

<div align="center">

**English** | [中文简体](README.zh.md) | [Portuguese (Brazil)](README.pt-BR)

</div>

<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"/>
Expand All @@ -12,8 +18,6 @@
</a>
</div>

[Chinese README](README.zh.md)

This codebase and all models are released under CC-BY-NC-SA-4.0 License. Please refer to [LICENSE](LICENSE) for more details.

## Disclaimer
Expand All @@ -37,6 +41,7 @@ We do not hold any responsibility for any illegal usage of the codebase. Please
- [English](https://speech.fish.audio/en/)
- [中文](https://speech.fish.audio/)
- [日本語](https://speech.fish.audio/ja/)
- [Portuguese (Brazil)](https://speech.fish.audio/pt/)

## Credits

Expand Down
79 changes: 79 additions & 0 deletions README.pt-BR.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# Fish Speech

<div align="center">

[Inglês](README.md) | [Chinês](README.zh.md) | **Português (Brasil)**

</div>

<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="https://hub.docker.com/r/lengyue233/fish-speech">
<img alt="Docker" src="https://img.shields.io/docker/pulls/lengyue233/fish-speech?style=flat-square&logo=docker"/>
</a>
<a target="_blank" href="https://github.com/fishaudio/fish-speech/actions/workflows/build-windows-package.yml">
<img alt="Action" src="https://img.shields.io/github/actions/workflow/status/fishaudio/fish-speech/build-windows-package.yml?style=flat-square&label=Build%20Windows%20Package&logo=github"/>
</a>
</div>

Este código-fonte e os modelos são publicados sob a licença CC-BY-NC-SA-4.0. Consulte [LICENSE](LICENSE) para mais detalhes.

## Isenção de Responsabilidade

Não nos responsabilizamos por qualquer uso ilegal do código-fonte. Consulte as leis locais sobre DMCA (Digital Millennium Copyright Act) e outras leis relevantes em sua região.

## Demonstração Online

[Fish Audio](https://fish.audio)

## Início Rápido de Inferência Local

[inference.ipynb](/inference.ipynb)

## Vídeos

#### 1.2 Introdução: https://www.bilibili.com/video/BV1wz421B71D

#### 1.1 Apresentação Técnica: https://www.bilibili.com/video/BV1zJ4m1K7cj

## Documentação

- [Inglês](https://speech.fish.audio/en/)
- [Chinês](https://speech.fish.audio/)
- [Japonês](https://speech.fish.audio/ja/)
- [Português (Brasil)](https://speech.fish.audio/pt/)

## Exemplos

- [Inglês](https://speech.fish.audio/en/samples/)
- [Chinês](https://speech.fish.audio/samples/)
- [Japonês](https://speech.fish.audio/ja/samples/)
- [Português (Brasil)](https://speech.fish.audio/pt/samples/)

## Agradecimentos

- [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)
- [GPT-SoVITS](https://github.com/RVC-Boss/GPT-SoVITS)

## Patrocinadores

<div>
<a href="https://6block.com/">
<img src="https://avatars.githubusercontent.com/u/60573493" width="100" height="100" alt="6Block Avatar"/>
</a>
<br>
<a href="https://6block.com/">Servidores de processamento de dados fornecidos por 6Block</a>
</div>
<div>
<a href="https://www.lepton.ai/">
<img src="https://www.lepton.ai/favicons/apple-touch-icon.png" width="100" height="100" alt="Lepton Avatar"/>
</a>
<br>
<a href="https://www.lepton.ai/">Inferência online do Fish Audio em parceria com a Lepton</a>
</div>
8 changes: 8 additions & 0 deletions README.zh.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Fish Speech

<div align="center">

[English](README.md) | **中文简体** | [Português (Brasil)](README.pt-BR)

</div>

<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"/>
Expand Down Expand Up @@ -40,12 +46,14 @@
- [English](https://speech.fish.audio/en/)
- [中文](https://speech.fish.audio/)
- [日本語](https://speech.fish.audio/ja/)
- [Portuguese (Brazil)](https://speech.fish.audio/pt/)

## 例子

- [English](https://speech.fish.audio/en/samples/)
- [中文](https://speech.fish.audio/samples/)
- [日本語](https://speech.fish.audio/ja/samples/)
- [Portuguese (Brazil)](https://speech.fish.audio/pt/samples/)

## 鸣谢

Expand Down
Binary file added docs/assets/figs/VS_1_pt-BR.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/figs/diagrama.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
125 changes: 125 additions & 0 deletions docs/pt/finetune.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
# Ajuste Fino

É óbvio que ao abrir esta página, você não deve estar muito satisfeito com o desempenho do modelo pré-treinado com poucos exemplos. Você pode querer ajustar o modelo para melhorar seu desempenho em seu conjunto de dados.

Na atual versão, a única coisa que você precisa ajustar é a parte do 'LLAMA'.

## Ajuste Fino do LLAMA
### 1. Preparando o conjunto de dados

```
.
├── SPK1
│ ├── 21.15-26.44.lab
│ ├── 21.15-26.44.mp3
│ ├── 27.51-29.98.lab
│ ├── 27.51-29.98.mp3
│ ├── 30.1-32.71.lab
│ └── 30.1-32.71.mp3
└── SPK2
├── 38.79-40.85.lab
└── 38.79-40.85.mp3
```

Você precisa converter seu conjunto de dados para o formato acima e colocá-lo em `data`. O arquivo de áudio pode ter as extensões `.mp3`, `.wav` ou `.flac`, e o arquivo de anotação deve ter a extensão `.lab`.

!!! warning
É recomendado aplicar normalização de volume ao conjunto de dados. Você pode usar o [fish-audio-preprocess](https://github.com/fishaudio/audio-preprocess) para fazer isso.

```bash
fap loudness-norm data-raw data --clean
```


### 2. Extração em lote de tokens semânticos

Certifique-se de ter baixado os pesos do VQGAN. Se não, execute o seguinte comando:

```bash
huggingface-cli download fishaudio/fish-speech-1.2-sft --local-dir checkpoints/fish-speech-1.2-sft
```

Em seguida, você pode executar o seguinte comando para extrair os tokens semânticos:

```bash
python tools/vqgan/extract_vq.py data \
--num-workers 1 --batch-size 16 \
--config-name "firefly_gan_vq" \
--checkpoint-path "checkpoints/fish-speech-1.2-sft/firefly-gan-vq-fsq-4x1024-42hz-generator.pth"
```

!!! note
Você pode ajustar `--num-workers` e `--batch-size` para aumentar a velocidade de extração, mas certifique-se de não exceder o limite de memória da sua GPU.  
Para o formato VITS, você pode especificar uma lista de arquivos usando `--filelist xxx.list`.

Este comando criará arquivos `.npy` no diretório `data`, como mostrado abaixo:

```
.
├── SPK1
│ ├── 21.15-26.44.lab
│ ├── 21.15-26.44.mp3
│ ├── 21.15-26.44.npy
│ ├── 27.51-29.98.lab
│ ├── 27.51-29.98.mp3
│ ├── 27.51-29.98.npy
│ ├── 30.1-32.71.lab
│ ├── 30.1-32.71.mp3
│ └── 30.1-32.71.npy
└── SPK2
├── 38.79-40.85.lab
├── 38.79-40.85.mp3
└── 38.79-40.85.npy
```

### 3. Empacotar o conjunto de dados em protobuf

```bash
python tools/llama/build_dataset.py \
--input "data" \
--output "data/protos" \
--text-extension .lab \
--num-workers 16
```

Após executar o comando, você deverá ver o arquivo `quantized-dataset-ft.protos` no diretório `data`.

### 4. E finalmente, chegamos ao ajuste fino com LoRA

Da mesma forma, certifique-se de ter baixado os pesos do `LLAMA`. Se não, execute o seguinte comando:

```bash
huggingface-cli download fishaudio/fish-speech-1.2-sft --local-dir checkpoints/fish-speech-1.2-sft
```

E então, execute o seguinte comando para iniciar o ajuste fino:

```bash
python fish_speech/train.py --config-name text2semantic_finetune \
project=$project \
[email protected]_config=r_8_alpha_16
```

!!! note
Se quiser, você pode modificar os parâmetros de treinamento, como `batch_size`, `gradient_accumulation_steps`, etc., para se ajustar à memória da sua GPU, modificando `fish_speech/configs/text2semantic_finetune.yaml`.

!!! note
Para usuários do Windows, é recomendado usar `trainer.strategy.process_group_backend=gloo` para evitar problemas com `nccl`.

Após concluir o treinamento, consulte a seção [inferência](inference.md), e use `--speaker SPK1` para gerar fala.

!!! info
Por padrão, o modelo aprenderá apenas os padrões de fala do orador e não o timbre. Ainda pode ser preciso usar prompts para garantir a estabilidade do timbre.
Se quiser que ele aprenda o timbre, aumente o número de etapas de treinamento, mas isso pode levar ao overfitting (sobreajuste).

Após o treinamento, é preciso converter os pesos do LoRA em pesos regulares antes de realizar a inferência.

```bash
python tools/llama/merge_lora.py \
--lora-config r_8_alpha_16 \
--base-weight checkpoints/fish-speech-1.2-sft \
--lora-weight results/$project/checkpoints/step_000000010.ckpt \
--output checkpoints/fish-speech-1.2-sft-yth-lora/
```
!!! note
É possível também tentar outros checkpoints. Sugerimos usar o checkpoint que melhor atenda aos seus requisitos, pois eles geralmente têm um desempenho melhor em dados fora da distribuição (OOD).
131 changes: 131 additions & 0 deletions docs/pt/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
# Introdução

<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/lengyue233/fish-speech">
<img alt="Docker" src="https://img.shields.io/docker/pulls/lengyue233/fish-speech?style=flat-square&logo=docker"/>
</a>
</div>

!!! warning
Não nos responsabilizamos por qualquer uso ilegal do código-fonte. Consulte as leis locais sobre DMCA (Digital Millennium Copyright Act) e outras leis relevantes em sua região. <br/>
Este código-fonte é liberado sob a licença `BSD-3-Clause`, e todos os modelos são liberados sob a licença CC-BY-NC-SA-4.0.

<p align="center">
<img src="../assets/figs/diagrama.png" width="75%">
</p>

## Requisitos

- Memória da GPU: 4GB (para inferência), 8GB (para ajuste fino)
- Sistema: Linux, Windows

## Configuração para Windows

No Windows, usuários avançados podem considerar usar o WSL2 ou Docker para executar o código.

Para Usuários comuns (não-avançados), siga os métodos abaixo para executar o código sem um ambiente Linux (incluindo suporte para `torch.compile`):

<ol>
<li>Extraia o arquivo compactado do projeto.</li>
<li>Prepare o ambiente conda:
<ul>
<li>Abra o <code>install_env.bat</code> para baixar e iniciar a instalação do miniconda.</li>
<li>Personalize o download (opcional):
<ul>
<li>**Site espelho:** Para usar um site espelho para downloads mais rápidos, defina <code>USE_MIRROR=true</code> no <code>install_env.bat</code> (padrão). Caso contrário, use <code>USE_MIRROR=false</code>.</li>
<li>**Ambiente compilado:** Para baixar a versão de prévia com o ambiente compilado, defina <code>INSTALL_TYPE=preview</code>. Para a versão estável sem ambiente compilado, use <code>INSTALL_TYPE=stable</code>.</li>
</ul>
</li>
</ul>
</li>
<li>Se você escolheu a versão de prévia com ambiente compilado (<code>INSTALL_TYPE=preview</code>), siga para a próxima etapa (opcional):
<ol>
<li>Baixe o compilador LLVM usando os seguintes links:
<ul>
<li><a href="https://huggingface.co/fishaudio/fish-speech-1/resolve/main/LLVM-17.0.6-win64.exe?download=true">LLVM-17.0.6 (download do site original)</a></li>
<li><a href="https://hf-mirror.com/fishaudio/fish-speech-1/resolve/main/LLVM-17.0.6-win64.exe?download=true">LLVM-17.0.6 (download do site espelho)</a></li>
<li>Após baixar o <code>LLVM-17.0.6-win64.exe</code>, clique duas vezes para instalá-lo, escolha um local de instalação apropriado. E durante a instalação, marque a opção <code>Add Path to Current User</code> para adicionar às variáveis de ambiente.</li>
<li>Confirme se a instalação foi concluída.</li>
</ul>
</li>
<li>Baixe e instale o pacote Microsoft Visual C++ Redistributable para resolver possíveis problemas de .dll ausentes.
<ul>
<li><a href="https://aka.ms/vs/17/release/vc_redist.x64.exe">Download do MSVC++ 14.40.33810.0</a></li>
</ul>
</li>
<li>Baixe e instale o Visual Studio Community Edition para obter as ferramentas de compilação MSVC++, resolvendo as dependências do arquivo de cabeçalho LLVM.
<ul>
<li><a href="https://visualstudio.microsoft.com/pt-br/downloads/">Download do Visual Studio</a></li>
<li>Após instalar o Visual Studio Installer, baixe o Visual Studio Community 2022.</li>
<li>Clique no botão <code>Modificar</code>, conforme mostrado abaixo, encontre a opção <code>Desenvolvimento para desktop com C++</code> e marque-a para download.</li>
<p align="center">
<img src="../assets/figs/VS_1_pt-BR.png" width="75%">
</p>
</ul>
</li>
<li>Instale o <a href="https://developer.nvidia.com/cuda-12-1-0-download-archive?target_os=Windows&target_arch=x86_64">CUDA Toolkit 12</a></li>
</ol>
</li>
<li>Clique duas vezes em <code>start.bat</code> para entrar na página da WebUI de configuração de inferência de treinamento do Fish-Speech.
<ul>
<li>(Opcional) Se desejar ir direto para a página de inferência, edite o arquivo <code>API_FLAGS.txt</code> no diretório raiz do projeto e modifique as três primeiras linhas da seguinte forma:
<pre><code>--infer
# --api
# --listen ...
...</code></pre>
</li>
<li>(Opcional) Se preferir iniciar o servidor da API, edite o arquivo <code>API_FLAGS.txt</code> no diretório raiz do projeto e modifique as três primeiras linhas da seguinte forma:
<pre><code># --infer
--api
--listen ...
...</code></pre>
</li>
</ul>
</li>
<li>(Opcional) Clique duas vezes em <code>run_cmd.bat</code> para entrar na CLI do conda/python deste projeto.</li>
</ol>

## Configuração para Linux

```bash
# Crie um ambiente virtual python 3.10, você também pode usar virtualenv
conda create -n fish-speech python=3.10
conda activate fish-speech

# Instale o pytorch
pip3 install torch torchvision torchaudio

# Instale o fish-speech
pip3 install -e .

# Para os Usuário do Ubuntu / Debian: Instale o sox
apt install libsox-dev
```

## Histórico de Alterações

- 02/07/2024: Fish-Speech atualizado para a versão 1.2, removido o Decodificador VITS e aprimorado consideravelmente a capacidade de zero-shot.
- 10/05/2024: Fish-Speech atualizado para a versão 1.1, implementado o decodificador VITS para reduzir a WER e melhorar a similaridade de timbre.
- 22/04/2024: Finalizada a versão 1.0 do Fish-Speech, modificados significativamente os modelos VQGAN e LLAMA.
- 28/12/2023: Adicionado suporte para ajuste fino `lora`.
- 27/12/2023: Adicionado suporte para `gradient checkpointing`, `causual sampling` e `flash-attn`.
- 19/12/2023: Atualizada a interface web e a API HTTP.
- 18/12/2023: Atualizada a documentação de ajuste fino e exemplos relacionados.
- 17/12/2023: Atualizado o modelo `text2semantic`, suportando o modo sem fonemas.
- 13/12/2023: Versão beta lançada, incluindo o modelo VQGAN e um modelo de linguagem baseado em LLAMA (suporte apenas a fonemas).

## Agradecimentos

- [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)
Loading

0 comments on commit 7daa2fc

Please sign in to comment.