|
Your audio never leaves your computer. Everything runs locally using OpenAI's Whisper model - no cloud uploads, no API keys needed, no subscription costs. |
CPU-optimized transcription with |
|
Get intelligent summaries using Ollama's local LLM. Choose from concise, detailed, or bullet-point formats - all without API costs. |
Export your transcripts as TXT, SRT, VTT, or JSON. Perfect for subtitles, documentation, or further processing. |
| Feature | Description |
|---|---|
| π΅ Multi-Format Support | MP3, WAV, M4A, FLAC, OGG, WEBM, MP4 |
| π Real-Time Progress | Watch transcription progress live |
| π Timestamps | Every segment includes precise timing |
| π Multi-Language | Automatic language detection |
| π± Responsive UI | Beautiful interface on any device |
| π No Size Limits | Upload audio files of any length |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β AUDTEXT β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β
β β β β β β β β
β β Frontend ββββββΆβ Backend ββββββΆβ Whisper β β
β β React 18 β β FastAPI β β (Local) β β
β β β β β β β β
β ββββββββββββββββ ββββββββ¬ββββββββ ββββββββββββββββ β
β β β
β βΌ β
β ββββββββββββββββ β
β β β β
β β Ollama β β
β β (LLM) β β
β β β β
β ββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Requirement | Version | Installation |
|---|---|---|
| Python | 3.11+ | python.org |
| Node.js | 18+ | nodejs.org |
| FFmpeg | Latest | See below |
| Ollama | Latest | ollama.ai |
π¦ Install FFmpeg
# Windows (winget)
winget install ffmpeg
# Windows (chocolatey)
choco install ffmpeg
# macOS
brew install ffmpeg
# Linux (Ubuntu/Debian)
sudo apt install ffmpeg# 1οΈβ£ Clone & Setup Backend
git clone https://github.com/DandaAkhilReddy/Audtext.git
cd Audtext/backend
python -m venv venv && .\venv\Scripts\activate # Windows
pip install -r requirements.txt
# 2οΈβ£ Setup Frontend
cd ../frontend
npm install
# 3οΈβ£ Download AI Model
ollama pull llama3.1:8bOpen 3 terminals:
# Terminal 1 - AI Engine
ollama serve
# Terminal 2 - Backend (activate venv first!)
cd Audtext/backend && .\venv\Scripts\activate
uvicorn main:app --reload --port 8000
# Terminal 3 - Frontend
cd Audtext/frontend
npm run devπ Open β http://localhost:5173
π§ Detailed Backend Setup
cd backend
# Create virtual environment
python -m venv venv
# Activate it
# Windows:
.\venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate
# Install dependencies
pip install -r requirements.txtDependencies include:
fastapi- Modern web frameworkfaster-whisper- Optimized speech recognitionhttpx- Async HTTP client for Ollamapydantic- Data validation
π¨ Detailed Frontend Setup
cd frontend
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run buildBuilt with:
React 18- UI frameworkVite- Lightning fast bundlerTailwind CSS- Utility-first stylingLucide React- Beautiful icons
Edit backend/core/config.py:
WHISPER_MODEL: str = "base" # Options: tiny, base, small, medium, large| Model | RAM | Speed (1hr audio) | Quality |
|---|---|---|---|
tiny |
1GB | ~5 min | ββ |
base |
1.5GB | ~10 min | βββ |
small |
2.5GB | ~20 min | ββββ |
medium |
5GB | ~40 min | βββββ |
OLLAMA_MODEL: str = "llama3.1:8b" # Or any Ollama model| Endpoint | Method | Description |
|---|---|---|
/api/upload |
POST |
Upload audio file |
/api/status/{task_id} |
GET |
Get transcription progress |
/api/result/{task_id} |
GET |
Get full transcript |
/api/summarize |
POST |
Generate AI summary |
/api/export/{format}/{task_id} |
GET |
Export (txt/srt/vtt/json) |
/api/ollama/health |
GET |
Check Ollama status |
π Interactive Docs β http://localhost:8000/docs
Audtext/
βββ π backend/
β βββ main.py # FastAPI entry point
β βββ requirements.txt # Python dependencies
β βββ api/routes/ # API endpoints
β βββ services/ # Business logic
β β βββ whisper_service.py # Transcription
β β βββ ollama_service.py # Summarization
β βββ core/config.py # Settings
β βββ tests/ # Test suite
β
βββ βοΈ frontend/
β βββ src/
β β βββ App.tsx # Main component
β β βββ components/ # UI components
β β βββ services/api.ts # API client
β βββ package.json
β
βββ π uploads/ # Temporary storage
β "Failed to fetch" on upload
Make sure the backend is running on port 8000:
uvicorn main:app --reload --port 8000β Summary returns 500 error
- Ensure Ollama is running:
ollama serve - Download the model:
ollama pull llama3.1:8b - Verify:
curl http://localhost:11434/api/tags
β First transcription is slow
The first run downloads the Whisper model (~150MB for base). Subsequent runs are faster.
Contributions are welcome! Here's how you can help:
- π΄ Fork the repository
- πΏ Create a feature branch (
git checkout -b feature/amazing) - πΎ Commit your changes (
git commit -m 'Add amazing feature') - π€ Push to the branch (
git push origin feature/amazing) - π Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
| Technology | Purpose |
|---|---|
| π€ OpenAI Whisper | Speech Recognition |
| β‘ faster-whisper | Optimized Inference |
| π¦ Ollama | Local LLM Runtime |
| π FastAPI | Backend Framework |
| βοΈ React | Frontend Framework |