Skip to content

Latest commit

Β 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ™οΈ Audtext

Transform Audio into Text & Insights β€” 100% Local, 100% Private

GitHub stars GitHub forks License Python React


Audtext Demo

πŸš€ Quick Start β€’ ✨ Features β€’ πŸ“– Documentation β€’ 🀝 Contributing


🌟 Why Audtext?

πŸ”’ Privacy First

Your audio never leaves your computer. Everything runs locally using OpenAI's Whisper model - no cloud uploads, no API keys needed, no subscription costs.

⚑ Lightning Fast

CPU-optimized transcription with faster-whisper. Process 1-hour audio files in minutes, not hours. Real-time progress tracking included.

πŸ€– AI-Powered Summaries

Get intelligent summaries using Ollama's local LLM. Choose from concise, detailed, or bullet-point formats - all without API costs.

πŸ“€ Multiple Export Formats

Export your transcripts as TXT, SRT, VTT, or JSON. Perfect for subtitles, documentation, or further processing.


✨ Features

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

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                         AUDTEXT                                  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                  β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚   β”‚              β”‚     β”‚              β”‚     β”‚              β”‚   β”‚
β”‚   β”‚   Frontend   │────▢│   Backend    │────▢│   Whisper    β”‚   β”‚
β”‚   β”‚   React 18   β”‚     β”‚   FastAPI    β”‚     β”‚   (Local)    β”‚   β”‚
β”‚   β”‚              β”‚     β”‚              β”‚     β”‚              β”‚   β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                               β”‚                                  β”‚
β”‚                               β–Ό                                  β”‚
β”‚                        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                         β”‚
β”‚                        β”‚              β”‚                         β”‚
β”‚                        β”‚   Ollama     β”‚                         β”‚
β”‚                        β”‚   (LLM)      β”‚                         β”‚
β”‚                        β”‚              β”‚                         β”‚
β”‚                        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                         β”‚
β”‚                                                                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸš€ Quick Start

Prerequisites

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

⚑ 3-Step Setup

# 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:8b

🎬 Run the App

Open 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


πŸ“– Installation

πŸ”§ 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.txt

Dependencies include:

  • fastapi - Modern web framework
  • faster-whisper - Optimized speech recognition
  • httpx - Async HTTP client for Ollama
  • pydantic - Data validation
🎨 Detailed Frontend Setup
cd frontend

# Install dependencies
npm install

# Start development server
npm run dev

# Build for production
npm run build

Built with:

  • React 18 - UI framework
  • Vite - Lightning fast bundler
  • Tailwind CSS - Utility-first styling
  • Lucide React - Beautiful icons

βš™οΈ Configuration

🎀 Whisper Models

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 Models

OLLAMA_MODEL: str = "llama3.1:8b"  # Or any Ollama model

πŸ”Œ API Reference

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


πŸ“ Project Structure

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

πŸ› Troubleshooting

❌ "Failed to fetch" on upload

Make sure the backend is running on port 8000:

uvicorn main:app --reload --port 8000
❌ Summary returns 500 error
  1. Ensure Ollama is running: ollama serve
  2. Download the model: ollama pull llama3.1:8b
  3. 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.


🀝 Contributing

Contributions are welcome! Here's how you can help:

  1. 🍴 Fork the repository
  2. 🌿 Create a feature branch (git checkout -b feature/amazing)
  3. πŸ’Ύ Commit your changes (git commit -m 'Add amazing feature')
  4. πŸ“€ Push to the branch (git push origin feature/amazing)
  5. πŸ”ƒ Open a Pull Request

πŸ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments

Technology Purpose
🎀 OpenAI Whisper Speech Recognition
⚑ faster-whisper Optimized Inference
πŸ¦™ Ollama Local LLM Runtime
πŸš€ FastAPI Backend Framework
βš›οΈ React Frontend Framework

⭐ Star this repo if you find it useful!

Made with ❀️ by Akhil Reddy


Star History Chart

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages