Este código funciona no Python 3.10, não o testei em outras versões. Algumas versões mais antigas terão problemas.
É possível agora.
Para desenvolvedores:
Para todos:
Certifique -se de que essas coisas não estejam na sua entrada de voz: (em nenhuma ordem específica)
O que contribui para um bom áudio rápido? (em nenhuma ordem específica)
| Nome | Modelo Hubert | Versão quantizadora | Época | Linguagem | Conjunto de dados |
|---|---|---|---|---|---|
| quantifier_hubert_base_ls960.tth | Hubert Base | 0 | 3 | Eng | Treinamento Gitmylo/Bark-semantica |
| quantifier_hubert_base_ls960_14.th | Hubert Base | 0 | 14 | Eng | Treinamento Gitmylo/Bark-semantica |
| quantifier_v1_hubert_base_ls960_23.pth | Hubert Base | 1 | 23 | Eng | Treinamento Gitmylo/Bark-semantica |
| Autor | Nome | Modelo Hubert | Versão quantizadora | Época | Linguagem | Conjunto de dados |
|---|---|---|---|---|---|---|
| Hobispl | polonês-Hubert-Quantizer_8_epoch.tth | Hubert Base | 1 | 8 | Pol | Hobis/Bark-Polish-semantica-o-o-treinamento |
| C0untfloyd | Alemão-Hubert-Quantizer_14_epoch.tth | Hubert Base | 1 | 14 | Ger | Countfloyd/Bark-Aleman-semantic-WAV-Treining |
from hubert . pre_kmeans_hubert import CustomHubert
import torchaudio
# Load the HuBERT model,
# checkpoint_path should work fine with data/models/hubert/hubert.pt for the default config
hubert_model = CustomHubert ( checkpoint_path = 'path/to/checkpoint' )
# Run the model to extract semantic features from an audio file, where wav is your audio file
wav , sr = torchaudio . load ( 'path/to/wav' ) # This is where you load your wav, with soundfile or torchaudio for example
if wav . shape [ 0 ] == 2 : # Stereo to mono if needed
wav = wav . mean ( 0 , keepdim = True )
semantic_vectors = hubert_model . forward ( wav , input_sample_hz = sr ) import torch
from hubert . customtokenizer import CustomTokenizer
# Load the CustomTokenizer model from a checkpoint
# With default config, you can use the pretrained model from huggingface
# With the default setup from HuBERTManager, this will be in data/models/hubert/tokenizer.pth
tokenizer = CustomTokenizer . load_from_checkpoint ( 'data/models/hubert/tokenizer.pth' ) # Automatically uses the right layers
# Process the semantic vectors from the previous HuBERT run (This works in batches, so you can send the entire HuBERT output)
semantic_tokens = tokenizer . get_token ( semantic_vectors )
# Congratulations! You now have semantic tokens which can be used inside of a speaker prompt file. Simplesmente execute os comandos de treinamento.
Uma maneira simples de criar dados e ondas semânticos para treinamento é com o meu script: gen-gen de casca. Mas lembre -se de que a criação dos Wavs levará ao mesmo tempo, se não for maior que a criação da semântica. Isso pode demorar um pouco para gerar por causa disso.
Por exemplo, se você possui um conjunto de dados com ZIPS contendo arquivos de áudio, um zip para semântica e outro para os arquivos WAV. Dentro de uma pasta chamada "literatura"
Você deve executar process.py --path Literature --mode prepare para extrair todos os dados para um diretório
Você deve executar process.py --path Literature --mode prepare2 para criar vetores semânticos de Hubert, prontos para o treinamento
Você deve executar process.py --path Literature --mode train para treinamento
E quando o seu modelo é treinado o suficiente, você pode executar process.py --path Literature --mode test .
Não sou responsável pelo áudio gerado usando a semântica criada por este modelo. Só não o use para fins ilegais.