Transcripción de audios con inteligencia artificial
- Tomás Castillo
- Nicolas Cortes
- Luciano Yevenes
Speech2Text X es un software diseñado para ofrecer una solución automatizada de transcripción de audios mediante inteligencia artificial.
El objetivo es democratizar el acceso a herramientas de transcripción de calidad con costos mínimos y una interfaz simple y accesible.
En esta primera entrega se desarrolló el backend completo, incluyendo la base de datos, los endpoints CRUD y el entorno contenerizado.
En etapas futuras se integrará el modelo Whisper de OpenAI para la transcripción automática y las funciones de resumen inteligente.
Proyecto/
│
├─ backend/
│ ├─ app/
│ ├─ tests/
│ ├─ Dockerfile
│ └─ requirements.txt
│
├─ frontend/
│ └─ tailadmin-react-pro-2.1.1.zip (Base del front)
│
├─ docs/
│ └─ Base de datos Speech2Text-X.pdf
│
├─ db/
│ └─ scripts para la creacion de la db
│
├─ docker-compose.yml
├─ .gitignore
├─ LICENSE
└─ README.md
- Docker instalado.
- Git instalado.
- Archivo
.envcon variables de entorno (ejemplo en.env.example).
-
Clonar el repositorio:
git clone git@github.com:Speech2Text-X/Proyecto.git cd Proyecto -
Crear el archivo
.envcon las siguientes variables mínimas:POSTGRES_USER=postgres POSTGRES_PASSWORD=postgres POSTGRES_DB=s2x DB_URL=postgresql+psycopg://postgres:postgres@db:5432/s2x
-
Levantar el entorno con Docker Compose:
docker-compose up --build
-
Una vez iniciado:
- API disponible en:
http://localhost:8000/docs - Base de datos disponible en contenedor
s2x-postgres
- API disponible en:
Toda la documentación detallada se encuentra en la Wiki del repositorio, que incluye:
- Resumen y objetivos del proyecto
- Descripción del trabajo realizado
- Tecnologías y relación con las pruebas
- Evidencia del trabajo (capturas, código, endpoints funcionales)
- Estrategia de pruebas
- Supuestos y dependencias del desarrollo
- CRUD completo para:
- Usuarios
- Proyectos
- Archivos de audio
- Transcripciones
- Validaciones de formato y tipo de datos con Pydantic.
- Migraciones automáticas y esquema SQL inicial.
- Entorno contenerizado con Docker Compose.
- Configuración desacoplada mediante
.env.
Durante esta primera entrega, las pruebas se realizaron de manera manual, verificando el correcto funcionamiento de los endpoints y la conexión entre los contenedores.
Estas pruebas incluyeron:
- Ejecución y respuesta de los endpoints CRUD (
/users,/projects,/audio_files,/transcriptions). - Validación de datos incorrectos (errores 422 en FastAPI).
- Conectividad entre la API y la base de datos PostgreSQL a través de Docker.
Para futuras entregas, se implementarán:
- Pruebas unitarias de funciones internas con PyTest.
- Pruebas de integración automatizadas para verificar flujo completo.
- Cobertura de pruebas y CI/CD básico para asegurar estabilidad.
- El sistema se ejecuta en entornos contenerizados (Docker).
- La integración del modelo de IA se realiza en la siguiente entrega.
- Las pruebas actuales se concentran en el backend.
- Variables sensibles se manejan mediante
.env. - Dependencias externas: PostgreSQL, Docker, FastAPI, psycopg_pool.
- Implementación base del backend con FastAPI.
- CRUD completo para usuarios, proyectos, audios y transcripciones.
- Validación de datos con Pydantic.
- Base de datos relacional PostgreSQL.
- Contenedorización completa con Docker Compose.
Este proyecto está licenciado bajo la MIT License.
Consulta el archivo LICENSE para más detalles.
- Crea un fork del repositorio.
- Crea una nueva rama para tus cambios:
git checkout -b feature/nueva-funcionalidad
- Haz commit y push de tus cambios.
- Crea un Pull Request con la descripción de tus aportes.
- Tomás Castillo — tomas.castilloc@usm.cl
- Nicolas Cortes — nicolas.cortess@usm.cl
- Luciano Yevenes — luciano.yevenes@usm.cl
El archivo .gitignore está configurado para ignorar:
- Archivos de entorno (
.env) - Archivos temporales de Python (
__pycache__/,.pytest_cache/) - Carpetas de dependencias (
node_modules/,venv/) - Imágenes o salidas temporales (
*.log,*.tmp) - Archivos de construcción de Docker y frontend
- Repositorio: https://github.com/Speech2Text-X/Proyecto
- Documentación extendida: disponible en la Wiki.
- Diagramas y evidencias: ubicados en la carpeta
/docs. - Frontend: en desarrollo (fase 2 del proyecto).