A modern, browser-based transcription and translation application built with React. Free-Scribe leverages cutting-edge machine learning models running entirely in your browser via Web Workers, ensuring privacy and eliminating the need for server-side processing.
- π― Audio Transcription: Convert speech to text using OpenAI's Whisper models
- π Multi-language Translation: Translate transcribed text into 22+ supported languages
- π Privacy-First: All processing happens locally in your browser - no data leaves your device
- β‘ Real-time Processing: Powered by Web Workers for non-blocking UI performance
- π± Responsive Design: Works seamlessly across desktop and mobile devices
- π No Installation Required: Run directly in your web browser
Experience Free-Scribe in action: https://free-scribe-alpha.vercel.app/
- Frontend: React 18 with modern hooks and functional components
- Build Tool: Vite for fast development and optimized production builds
- Styling: Tailwind CSS for responsive and modern UI design
- ML Models:
- OpenAI Whisper for speech-to-text transcription
- Helsinki-NLP OPUS-MT models for translation
- Runtime: Web Workers for background ML model processing
- Package Manager: npm
Free-Scribe supports translation to the following languages:
European Languages: French, Spanish, German, Italian, Portuguese, Russian, Dutch, Polish, Czech, Finnish, Swedish, Danish, Norwegian BokmΓ₯l, Hungarian, Romanian, Ukrainian, Turkish
Asian Languages: Chinese (Simplified), Japanese, Korean, Hindi
Middle Eastern Languages: Arabic
- Node.js (version 16 or higher)
- npm or yarn package manager
- Modern web browser with Web Workers support
-
Clone the repository
git clone https://github.com/MaheshR03/free-scribe.git cd free-scribe -
Install dependencies
npm install
-
Start the development server
npm run dev
-
Open your browser Navigate to
http://localhost:5173to start using Free-Scribe
npm run buildThe built application will be available in the dist directory.
- Upload Audio: Click to upload an audio file or record directly in the browser
- Transcribe: The app will automatically transcribe your audio using Whisper models
- Translate: Select your target language and click translate to convert the text
- Export: Copy or download your transcribed and translated content
free-scribe/
βββ src/
β βββ components/ # React components
β β βββ FileDisplay.jsx # Audio file handling
β β βββ Header.jsx # Application header
β β βββ HomePage.jsx # Landing page
β β βββ Information.jsx # Main app container
β β βββ Transcribing.jsx # Transcription UI
β β βββ Transcription.jsx# Transcription results
β β βββ Translation.jsx # Translation interface
β βββ utils/ # Utility functions and workers
β β βββ presets.js # Language definitions and constants
β β βββ translate.worker.js # Translation Web Worker
β β βββ whisper.worker.js # Transcription Web Worker
β βββ App.jsx # Main app component
β βββ main.jsx # Application entry point
βββ public/ # Static assets
βββ package.json # Project dependencies
βββ README.md # This file
We welcome contributions to Free-Scribe! Please feel free to submit issues, feature requests, or pull requests.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI Whisper for speech-to-text capabilities
- Hugging Face Transformers for browser-based ML model inference
- Helsinki-NLP for high-quality translation models
- Xenova Transformers.js for running transformers in the browser
If you encounter any issues or have questions, please file an issue on the GitHub repository.
Made with β€οΈ for the open-source community