Spaces:
Runtime error
🚀 Cómo Desplegar tu ASR en Hugging Face Spaces
✅ Estado actual
Todo está listo en: /gpfs/projects/bsc88/speech/TTS/repos/Streaming_Mamba/SimulStreaming/space/
Archivos del Space:
app.py→ FastAPI + Gradio UIserver_wrapper.py→ Wrapper de SimulWhisper + threadingrequirements.txt→ Dependencias PythonDockerfile→ Configuración del contenedor.dockerignore→ Archivos a ignorar en Dockerspace.yaml→ Configuración metadata del SpaceREADME.md→ Documentación completaDEPLOYMENT.md→ Guía rápida
📋 Requisitos previos (⏱️ 5 min)
Antes de empezar, necesitas:
1. Cuenta en Hugging Face
- Ve a https://huggingface.co y crea una cuenta (si no la tienes)
- Confirma tu email
2. Generar un token de acceso
- Accede a https://huggingface.co/settings/tokens
- Pulsa "New token" → Nombre:
simulstreaming-deploy - Tipo: Write (para poder crear Spaces)
- Crea el token y cópialo (no lo pierdes)
3. Instalar herramientas en tu máquina local
# Git (si no lo tienes: https://git-scm.com)
git --version
# Git LFS (para manejar archivos grandes)
git lfs install
# Hugging Face CLI (instala desde pip)
pip install --upgrade huggingface-hub
# Verificar
huggingface-cli --version
🎯 Pasos del despliegue (⏱️ 10 min)
PASO 1: Login en Hugging Face desde tu máquina
huggingface-cli login
Cuando pida el token, pega el que copiaste arriba.
Token: [pega-tu-token-aquí]
✅ Verás: Token is valid. Your credentials have been saved.
PASO 2: Crea un nuevo Space en Hugging Face
Abre https://huggingface.co/spaces en tu navegador:
- Pulsa "Create new Space" (arriba a la derecha)
- Rellena:
- Space name:
simulstreaming-asr(o tu nombre favorito) - License: MIT (cualquiera está bien)
- SDK: Docker (importante)
- Space name:
- Pulsa "Create Space"
Espera 5 segundos a que se cree. Se abrirá una página con tu Space vacío.
PASO 3: Clon el repositorio del Space a tu máquina
Reemplaza <tu-usuario> con tu nombre de usuario en HF:
git clone https://huggingface.co/spaces/<tu-usuario>/simulstreaming-asr
cd simulstreaming-asr
Ejemplo si tu usuario es juan123:
git clone https://huggingface.co/spaces/juan123/simulstreaming-asr
cd simulstreaming-asr
PASO 4: Copia los archivos del proyecto
Ejecuta desde dentro del directorio del Space:
# Copiar todos los archivos de la carpeta space
cp /gpfs/projects/bsc88/speech/TTS/repos/Streaming_Mamba/SimulStreaming/space/* .
# Verificar que están todos
ls -la
Deberías ver:
.dockerignore
.gitattributes
.gitignore
Dockerfile
README.md
DEPLOYMENT.md
app.py
server_wrapper.py
requirements.txt
space.yaml
PASO 5: Versionar en Git
# Dentro del directorio del Space
git add .
git commit -m "Initial commit: SimulStreaming ASR with Gradio UI"
git push
Importante: Si durante git push pide login, usa:
- Username: tu nombre de usuario en HF
- Password: el token que copiaste (pégalo aquí)
PASO 6: ¡Esperar a que se despliegue!
Una vez hiciste push, el Space empieza a construirse:
- Abre https://huggingface.co/spaces//simulstreaming-asr en el navegador
- Verás el estado:
- 🟡 Building → Construyendo Docker (~3 min)
- 🟡 Running → Descargando modelo y inicializando (~5-10 min la primera vez)
- 🟢 Running → ¡Listo! El Space está activo
Monitorea los logs si hay errores:
- En la página del Space, busca la sección "Logs" o "Console"
- Ahí verás qué está pasando
✨ ¡Prueba tu Space!
Cuando esté verde (Running), haz clic en el botón "Share" → copia la URL pública, o simplemente accede a:
https://huggingface.co/spaces/<tu-usuario>/simulstreaming-asr
En la interfaz:
- "Start Recording" → Pulsa para empezar a grabar
- Habla cerca del micrófono (permite acceso al micro en tu navegador)
- Verás la transcripción en tiempo real en el panel de abajo
- "Stop Recording" → Pulsa para terminar
🔧 Personalización (Opcional)
Cambiar idioma (p. ej., a Español)
Edita space/server_wrapper.py en tu máquina local:
Busca la línea:
'lan': 'en',
Cambia a:
'lan': 'es', # Español
Otros idiomas: 'en' (inglés), 'de' (alemán), 'fr' (francés), 'pt' (portugués), etc.
Luego:
git add server_wrapper.py
git commit -m "Change language to Spanish"
git push
El Space se actualizará automáticamente.
Usar un modelo más pequeño
Si el Space se queda sin memoria, edita space/server_wrapper.py:
model_path='./small.pt', # En vez de 'large-v3.pt'
Tamaños:
tiny.pt→ ~39 MB (rápido, menos precisión)base.pt→ ~140 MB (buena balance)small.pt→ ~461 MB (mejor)medium.pt→ ~1.5 GB (muy bueno)large-v3.pt→ ~3 GB (mejor, pero pesado)
🐛 Troubleshooting
| Problema | Solución |
|---|---|
| "ImportError: No module named 'simul_whisper'" | Asegúrate de que server_wrapper.py importa desde la ruta correcta. Si el código está en una carpeta diferente, actualiza el import. |
| "Model download timeout" | El modelo es grande (~3GB). Espera más o usa un modelo más pequeño (small.pt). |
| "Out of memory" | Usa small.pt o tiny.pt en vez de large-v3.pt. |
| No se captura audio | 1) Asegúrate HTTPS (HF Spaces usa HTTPS). 2) Permite acceso al micrófono en el navegador. 3) Revisa la consola del navegador (F12 → Console) para ver errores JS. |
| "Connection refused" | El Space está construyéndose o hay error en startup. Espera y revisa los Logs. |
| Transcripción lenta | Aumenta min_chunk_size en server_wrapper.py o reduce audio_max_len. |
📚 URLs útiles
- Tu Space: https://huggingface.co/spaces//simulstreaming-asr
- Docs de HF Spaces: https://huggingface.co/docs/hub/spaces-overview
- Docs de Gradio: https://www.gradio.app
- API referencia FastAPI: https://fastapi.tiangolo.com
🎓 Próximas mejoras (opcional)
- Mostrar timestamps de cada palabra transcrita
- Selector de idioma dinámico en la UI
- Historial de transcripciones guardadas
- Exportar a SRT o VTT
- Soporte para traducción (no solo transcripción)
💬 Soporte
Si tienes problemas:
- Revisa los Logs en la página del Space (sección Logs)
- Lee el archivo
README.mdpara más detalles técnicos - Abre un issue en el repo de
SimulStreamingoWhisper Streaming
¡Éxito con tu ASR en Spaces! 🚀