Voxcribe is a simple and fast audio transcription application that runs directly in your browser. It allows you to transcribe audio files to text using OpenAI's Whisper model.
- Browser-based: No installation required, runs entirely in your browser
- Multiple Audio Formats: Supports MP3, WAV, M4A, OGG, FLAC
- Real-time Progress: Shows transcription progress as it happens
- History Management: Save, view, and download previous transcriptions
- Audio Player: Built-in audio player with playback controls
- Responsive Design: Works on desktop and mobile devices
- Sidebar Navigation: Easy access to new transcriptions and history
- Drag-and-Drop Upload: Quickly drop files for instant transcription
- Transcription Persistence: Saved in localStorage
- Server Status Checker: Notifies when backend is not running
- Node.js (v14 or higher)
- Python (v3.7 or higher)
- pip (Python package manager)
There are two ways to run Voxcribe:
- Clone the repository:
git clone https://github.com/W-DOS0/voxcribe.git
cd voxcribe- Install the required npm packages:
npm install- Start the frontend:
npm start- Start the backend (in a separate terminal):
python transcribe.pyMake sure the backend server is running on http://localhost:5000/
Use the provided scripts to start everything automatically:
Windows:
start.batLinux / macOS:
chmod +x start.sh
./start.shThese scripts will automatically start both the Python server and the React application.
Voxcribe consists of two main components:
Frontend (React): A user-friendly interface built with React that handles file uploads, displays transcriptions, and manages user interactions. Backend (Python/Flask): A lightweight server that uses OpenAI's Whisper model to transcribe audio files. It runs locally on your machine. When you upload an audio file, the React app sends it to the Python server, which processes the audio and returns the transcribed text. The progress is displayed in real-time, and completed transcriptions are saved in your browser's local storage.
Frontend
- React: JavaScript library for building user interfaces
- Axios: Promise-based HTTP client for the browser and Node.js
- CSS custom properties: For consistent theming and styling
Backend
- Flask: Lightweight WSGI web application framework
- Flask-CORS: Extension for handling Cross Origin Resource Sharing (CORS)
- Whisper: OpenAI's general-purpose speech recognition model
- Pydub: Audio processing library for Python
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
Fork the Project
Create your Feature Branch
git checkout -b feature/AmazingFeatureCommit your Changes
git commit -m 'Add AmazingFeature'Push to the Branch
git push origin feature/AmazingFeatureOpen a Pull Request
Go to your repository on GitHub, press the Compare & pull request button, and submit your pull request.
OpenAI Whisper for the powerful speech recognition model
React for the frontend framework
Flask for the backend framework
Pydub for audio processing capabilities
This project is licensed under the MIT License - see the LICENSE file for details.
MIT © 2025 Voxcribe See LICENSE for details.
