A production-ready bilingual transcription and translation system with a modern web interface.
- Python 3.11+
- Node.js 16+
- FFmpeg (for audio processing)
- NSSM (download from https://nssm.cc/download)
- Streamlined Deployment: Single
deploy-complete.batscript for complete deployment - Consolidated Documentation: All guides merged into comprehensive README
- Clean Project Structure: Removed unnecessary files and directories
- Windows-Focused: Optimized for Windows service deployment
- Production Ready: Optimized for Windows service deployment with automatic startup
# Right-click and "Run as administrator"
deploy-complete.bat1. setup.bat
2. cd transcribing-system && npm run build:prod && cd ..
3. install-windows-service.bat (as administrator)
4. Access at http://localhost:5000- Audio/Video Transcription: Support for MP3, MP4, WAV, M4A, AVI, MOV, MKV, FLV, WEBM
- Bilingual Translation: Translate between multiple languages
- Multiple Export Formats: TXT, SRT, VTT, JSON
- Session Management: Save and load previous transcriptions
- Real-time Progress: Live transcription status updates
- Production Ready: Windows service with automatic startup
- Modern Web Interface: React-based responsive UI
- Framework: Flask with production configuration
- Server: Gunicorn with multiple workers
- AI Models: OpenAI Whisper for transcription
- Translation: Google Translate API
- Storage: File-based session management
- Framework: React 18 with modern hooks
- Build Tool: Vite for fast development and optimized builds
- Styling: Tailwind CSS for responsive design
- UI Components: Lucide React icons, React Dropzone for file uploads
bilingual-transcriber/
βββ π Core Application
β βββ app.py # Main Flask application
β βββ bilingual_transcriber_gui.py # Core transcription logic
β βββ wsgi.py # WSGI entry point for production
β βββ production_config.py # Production configuration
β
βββ π οΈ Deployment Scripts
β βββ deploy-complete.bat # Complete deployment (recommended)
β βββ install-windows-service.bat # Windows service installer
β βββ uninstall-windows-service.bat # Windows service uninstaller
β βββ setup.bat # Initial setup script
β βββ gunicorn.conf.py # Gunicorn configuration
β
βββ π¦ Dependencies
β βββ requirements.txt # Development dependencies
β βββ requirements-prod.txt # Production dependencies
β βββ env.example # Environment variables template
β
βββ π Frontend
β βββ transcribing-system/ # React application
β βββ src/ # React source code
β βββ package.json # Node.js dependencies
β βββ vite.config.js # Vite configuration
β βββ tailwind.config.js # Tailwind CSS configuration
β βββ postcss.config.js # PostCSS configuration
β βββ eslint.config.js # ESLint configuration
β βββ index.html # Main HTML template
β βββ dist/ # Built frontend (generated)
β
βββ π Storage
β βββ uploads/ # File upload directory
β β βββ .gitkeep # Git tracking placeholder
β βββ sessions/ # Session storage directory
β β βββ .gitkeep # Git tracking placeholder
β βββ logs/ # Application logs (generated)
β
βββ π Documentation & Tools
β βββ README.md # Comprehensive documentation
β βββ monitor.py # System monitoring script
β βββ .gitignore # Git ignore rules
β βββ nssm.exe # Windows service manager
β
βββ π Git
βββ .git/ # Git repository (hidden)
Removed Files: 22 unnecessary files including Docker configs, Linux scripts, redundant documentation, and cache directories Optimizations: Streamlined deployment, consolidated documentation, Windows-focused structure Added: Comprehensive .gitignore, .gitkeep files, and production-ready deployment scripts
Create a .env file based on env.example:
# Flask Environment
FLASK_ENV=production
SECRET_KEY=your-secret-key-here
# Server Configuration
HOST=0.0.0.0
PORT=5000
WORKERS=4
# Model Configuration
WHISPER_MODEL=base
DEVICE=cpu
# Performance Settings
THREAD_POOL_SIZE=4
MAX_CONCURRENT_TRANSCRIPTIONS=2
# Session Management
MAX_SESSIONS=100
SESSION_CLEANUP_INTERVAL=3600
# Logging
LOG_LEVEL=INFO# Install dependencies
pip install -r requirements.txt
# Run development server
python app.pycd transcribing-system
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build:prod# Complete deployment (Recommended)
deploy-complete.bat
# Or step by step
setup.bat
cd transcribing-system && npm run build:prod && cd ..
install-windows-service.batOption 1: One-Command Deployment (Recommended)
# Right-click and "Run as administrator"
deploy-complete.batOption 2: Manual Deployment
1. setup.bat
2. cd transcribing-system && npm run build:prod && cd ..
3. install-windows-service.bat (as administrator)
4. Access at http://localhost:5000# Start service
net start BilingualTranscriber
# Stop service
net stop BilingualTranscriber
# Check status
sc query BilingualTranscriber
# Remove service
uninstall-windows-service.bat- Backend Health:
http://localhost:5000/api/health - System Status:
http://localhost:5000/api/status - System Info:
http://localhost:5000/api/system-info
- Application Logs:
logs/app.log - Access Logs:
logs/gunicorn_access.log - Error Logs:
logs/gunicorn_error.log
# Single health check
python monitor.py once
# Continuous monitoring
python monitor.py continuous-
Port 5000 Already in Use
netstat -ano | findstr :5000 taskkill /PID <PID> /F
-
Service Won't Start
sc query BilingualTranscriber type logs\app.log
-
Permission Errors
- Run scripts as Administrator
- Check file permissions
-
Model Loading Issues
rm -rf ~/.cache/whisper pip install --force-reinstall openai-whisper
# Set environment variables
set FLASK_ENV=development
set LOG_LEVEL=DEBUG
# Run manually
python wsgi.py- Workers: Adjust based on CPU cores (default: 4)
- Model Caching: Whisper models are cached automatically
- File Processing: Uses temporary RAM storage
- Memory Management: Optimized for transcription workloads
- Code Splitting: Automatic chunk optimization
- Asset Compression: Gzip compression enabled
- Caching: Static assets cached for 1 year
- Bundle Optimization: Vendor and UI chunks separated
- CORS Protection: Configured for local development
- File Validation: Strict file type and size validation
- Security Headers: XSS protection, content type validation
- Environment Variables: Sensitive data externalized
- Non-root Execution: Service runs with limited privileges
- Use strong secret keys
- Keep dependencies updated
- Monitor logs regularly
- Use HTTPS in production
- Implement rate limiting if needed
GET /api/healthGET /api/statusPOST /api/upload
Content-Type: multipart/form-dataPOST /api/transcribe
Content-Type: application/json
{
"filepath": "/path/to/file.mp3"
}POST /api/translate
Content-Type: application/json
{
"text": "Hello world",
"target_language": "es",
"source_language": "en"
}POST /api/download/{format}
Content-Type: application/json
{
"session_id": "uuid"
}- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License.
For issues and questions:
- Check the troubleshooting section
- Review logs for error messages
- Check system resources
- Verify configuration settings
- Test with smaller files first
- Redundant Scripts:
start.py,start.bat,start-production.bat,start-production.sh - Linux/Docker Files:
bilingual-transcriber.service,Dockerfile.backend,Dockerfile.frontend,docker-compose.yml,nginx.conf - Redundant Documentation:
MODEL_LOADING_GUIDE.md,SERVER_REQUIREMENTS.md,SESSION_STORAGE_GUIDE.md,SETUP_GUIDE.md,PRODUCTION_DEPLOYMENT_GUIDE.md,WINDOWS_SERVICE_GUIDE.md,DEPLOYMENT_CHECKLIST.md - Cache & Build Files:
__pycache__/,transcribing-system/.gitignore,transcribing-system/README.md - Documentation Files:
Proposal.docx
- Streamlined Deployment: Single
deploy-complete.batfor complete setup - Consolidated Documentation: All guides merged into comprehensive README
- Windows-Focused: Removed Linux/Docker files for Windows-only deployment
- Clean Structure: Removed unnecessary files and directories
- Proper Git Management: Comprehensive .gitignore and directory tracking
.gitignore: Comprehensive git ignore rulesuploads/.gitkeep: Git tracking placeholdersessions/.gitkeep: Git tracking placeholderdeploy-complete.bat: One-command deployment scriptREADME.md: Updated with current structure and optimizations
Note: This system is designed for Windows deployment with production-ready features including automatic startup, monitoring, and comprehensive error handling.