Una aplicación de transcripción de audio a texto con interfaz gráfica desarrollada en Python, que utiliza AssemblyAI para la transcripción y Google Generative AI para funcionalidades de chat.
- Grabación de Audio: Graba audio directamente desde el micrófono
- Transcripción Automática: Convierte audio a texto usando AssemblyAI
- Almacenamiento en Base de Datos: Guarda las transcripciones en MongoDB
- Exportación: Exporta transcripciones como PDF o archivos de texto
- Chat con IA: Funcionalidad de chat usando Google Generative AI
- Interfaz Gráfica: Interfaz intuitiva desarrollada con PySide6
- Soporte para Español: Configurado para transcripciones en español
- Arquitectura Escalable: Estructura de carpetas profesional y modular
Ai-Transcriptor-main/
├── main.py # Punto de entrada principal
├── src/ # Código fuente principal
│ ├── core/ # Lógica central
│ │ ├── config.py # Configuración centralizada
│ │ └── audio_recorder.py # Grabación y transcripción
│ ├── ui/ # Interfaz de usuario
│ │ ├── main_window.py # Ventana principal
│ │ └── transcription_viewer.py # Visor de transcripciones
│ ├── services/ # Servicios externos
│ │ ├── ai_service.py # Google Generative AI
│ │ └── database_manager.py # MongoDB
│ ├── utils/ # Utilidades
│ │ └── export_utils.py # Exportación
│ └── models/ # Modelos de datos
│ └── transcription.py # Modelo de transcripción
├── config/ # Configuración
│ ├── .env # Variables de entorno
│ └── .env.example # Plantilla
├── assets/ # Recursos
│ ├── images/ # Iconos
│ ├── audio/ # Archivos de audio
│ └── exports/ # Archivos exportados
├── tests/ # Pruebas
├── docs/ # Documentación
└── requirements.txt # Dependencias
git clone <url-del-repositorio>
cd Ai-Transcriptor-mainpython -m venv venv
source venv/bin/activate # En Linux/macOS
# o
venv\Scripts\activate # En Windowspip install -r requirements.txt# Copiar plantilla
cp config/.env.example config/.env
# Editar con tus API keys
nano config/.env# API Keys
ASSEMBLYAI_API_KEY=tu_assemblyai_api_key_aqui
GOOGLE_AI_API_KEY=tu_google_ai_api_key_aqui
# MongoDB
MONGODB_CONNECTION_STRING=mongodb://localhost:27017/
MONGODB_DATABASE_NAME=ai_transcriptor
MONGODB_COLLECTION_NAME=transcriptions
# Configuración de la aplicación
DEFAULT_LANGUAGE=es
AUDIO_SAMPLE_RATE=16000
AUDIO_CHANNELS=1- Ve a AssemblyAI
- Crea una cuenta gratuita
- Copia tu API key desde el dashboard
- Pégala en el archivo
config/.env
- Ve a Google AI Studio
- Crea una API key
- Pégala en el archivo
config/.env
# Método recomendado (nueva estructura)
python main.py
# O alternativamente:
python run.py
# Método alternativo (estructura anterior)
python src/ui/main_window.py-
Grabar Audio
- Haz clic en el botón de grabación
- Habla al micrófono
- Detén la grabación cuando termines
-
Transcribir Audio
- La transcripción se realiza automáticamente
- El texto aparecerá en la interfaz
-
Guardar Transcripción
- Las transcripciones se guardan automáticamente en MongoDB
- También puedes exportar como PDF o TXT
-
Ver Historial
- Accede al historial de transcripciones
- Filtra y busca transcripciones anteriores
-
Chat con IA
- Interactúa con las transcripciones usando IA
- Obtén resúmenes, análisis o respuestas
sounddevice- Grabación de audiowavio- Manejo de archivos de audioassemblyai- Servicio de transcripciónPySide6- Interfaz gráficapymongo- Cliente de MongoDBnumpy- Operaciones numéricasfpdf2- Generación de PDFsgoogle-generativeai- API de Google Generative AIpython-dotenv- Manejo de variables de entorno
- Las advertencias de QPainter en la consola son normales y no afectan la funcionalidad
- Asegúrate de tener una conexión a internet para usar AssemblyAI y Google Generative AI
- Las API keys son sensibles, no las compartas públicamente
- La aplicación está configurada para transcripciones en español
- Se puede modificar el idioma en la configuración
- La interfaz es responsive y se adapta a diferentes tamaños de pantalla
- Arquitectura modular permite fácil extensión y mantenimiento
Las contribuciones son bienvenidas. Por favor:
- Fork el proyecto
- Crea una rama para tu feature
- Commit tus cambios
- Push a la rama
- Abre un Pull Request
Desarrollado con ❤️ usando Python, PySide6, AssemblyAI y Google Generative AI