# Uso de ESPnet en Hugging Face

`espnet` es un kit de herramientas de extremo a extremo para el procesamiento del habla, que incluye reconocimiento automático de voz, síntesis de voz, mejora de la señal de voz, diarización y otras tareas.

## Explorando ESPnet en el Hub

Puedes encontrar cientos de modelos de `espnet` filtrando a la izquierda de la [página de modelos](https://huggingface.co/models?library=espnet&sort=downloads).

Todos los modelos del Hub vienen con características útiles:
1. Una tarjeta de modelo generada automáticamente con una descripción, una configuración de entrenamiento, licencias y más.
2. Etiquetas de metadatos que facilitan la búsqueda y contienen información como la licencia, el idioma y los conjuntos de datos.
3. Un widget interactivo que puedes usar para experimentar con el modelo directamente en el navegador.
4. Un widget de Inference Providers que permite realizar solicitudes de inferencia.

## Uso de modelos existentes

Para una guía completa sobre la carga de modelos preentrenados, recomendamos consultar la [guía oficial](https://github.com/espnet/espnet_model_zoo)).

Si te interesa realizar inferencia, las distintas clases para diferentes tareas tienen un método `from_pretrained` que permite cargar modelos desde el Hub. Por ejemplo:
* `Speech2Text` para el reconocimiento automático de voz.
* `Text2Speech` para texto a voz.
* `SeparateSpeech` para la separación de fuentes de audio.

Aquí hay un ejemplo de inferencia:

```py
import soundfile
from espnet2.bin.tts_inference import Text2Speech

text2speech = Text2Speech.from_pretrained("model_name")
speech = text2speech("foobar")["wav"]
soundfile.write("out.wav", speech.numpy(), text2speech.fs, "PCM_16")
```

Si quieres ver cómo cargar un modelo específico, puedes hacer clic en `Use in ESPnet` y se te proporcionará un fragmento de código funcional para cargarlo.

## Compartir tus modelos

`ESPnet` genera un archivo `zip` que se puede subir a Hugging Face fácilmente. Para una guía completa sobre cómo compartir modelos, recomendamos consultar la [guía oficial](https://github.com/espnet/espnet_model_zoo#register-your-model)).

El script `run.sh` permite subir un modelo dado a un repositorio de Hugging Face.

```bash
./run.sh --stage 15 --skip_upload_hf false --hf_repo username/model_repo
```

## Recursos adicionales

* ESPnet [docs](https://espnet.github.io/espnet/index.html).
* Repositorio [repository](https://github.com/espnet/espnet_model_zoo) del zoo de modelos de ESPnet.
* Documentación de [integración](https://github.com/asteroid-team/asteroid/blob/master/docs/source/readmes/pretrained_models.md).

