Este código funciona en Python 3.10, no lo he probado en otras versiones. Algunas versiones más antiguas tendrán problemas.
Es posible ahora.
Para los desarrolladores:
Para todos:
Asegúrese de que estas cosas no estén en su entrada de voz: (sin ningún orden en particular)
¿Qué hace que un buen audio rápido? (sin ningún orden en particular)
| Nombre | Modelo de Hubert | Versión cuantificadora | Época | Idioma | Conjunto de datos |
|---|---|---|---|---|---|
| cuantificador_hubert_base_ls960.pth | Base de Hubert | 0 | 3 | Inglaterra | Gitmylo/corteza semántica |
| cuantificador_hubert_base_ls960_14.pth | Base de Hubert | 0 | 14 | Inglaterra | Gitmylo/corteza semántica |
| cuantificador_v1_hubert_base_ls960_23.pth | Base de Hubert | 1 | 23 | Inglaterra | Gitmylo/corteza semántica |
| Autor | Nombre | Modelo de Hubert | Versión cuantificadora | Época | Idioma | Conjunto de datos |
|---|---|---|---|---|---|---|
| Hobispla | polaco-hubert-quantizer_8_epoch.pth | Base de Hubert | 1 | 8 | Polla | Hobis/corteza-polish-semántica-ola |
| C0untfloyd | alemán-hubert-quantizer_14_epoch.pth | Base de Hubert | 1 | 14 | Ger | Countfloyd/corteza-alemán-ondulante |
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. Simplemente ejecute los comandos de entrenamiento.
Una manera simple de crear datos semánticos y Wavs para el entrenamiento es con mi guión: Bark-Data-Gen. Pero recuerde que la creación de los Wavs tomará aproximadamente al mismo tiempo, si no más, la creación de la semántica. Esto puede tardar un tiempo en generar por eso.
Por ejemplo, si tiene un conjunto de datos con ZIPS que contiene archivos de audio, una zip para semántica y otro para los archivos WAV. Dentro de una carpeta llamada "literatura"
Debe ejecutar process.py --path Literature --mode prepare para extraer todos los datos a un directorio
Debe ejecutar process.py --path Literature --mode prepare2 para crear vectores semánticos de Hubert, listo para la capacitación
Debe ejecutar process.py --path Literature --mode train para entrenamiento
Y cuando su modelo se ha entrenado lo suficiente, puede ejecutar process.py --path Literature --mode test para probar el último modelo.
No soy responsable del audio generado utilizando la semántica creada por este modelo. Simplemente no lo use con fines ilegales.