EasyTranscribe
A simple Python-based voice assistant that captures speech from your microphone or from recorded file, detects silence, and transcribes spoken words to text using OpenAI Whisper. Easily extensible for integration with LLMs like Ollama or Gemma.
Features
- Real-time microphone audio capture
- Automatic silence detection and recording stop
- Speech-to-text transcription using Whisper
- Comprehensive transcription logging with detailed metrics
- Easy integration with other AI models
Installation
Usage
Run the main script:
python main.py
Speak into your microphone. The assistant will automatically stop recording after a few seconds of silence and transcribe your speech.
easytranscribe

Easy speech-to-text transcription from audio files or live microphone input using OpenAI's Whisper.
✨ Features
- 🎤 Live microphone transcription with automatic silence detection
- 📁 Audio file transcription supporting multiple formats
- 📊 Automatic logging with timestamps and performance metrics
- 🔧 Simple CLI interface for quick usage
- 🐍 Easy Python API for integration into your projects
- 📈 Log analysis tools to view transcription history and statistics
🚀 Quick Start
Installation
pip install easytranscribe
Python API
Live microphone transcription:
from easytranscribe import capture_and_transcribe
text = capture_and_transcribe(model_name="base")
print(f"You said: {text}")
Audio file transcription:
from easytranscribe import transcribe_audio_file
text = transcribe_audio_file("path/to/audio.wav", model_name="base")
print(f"Transcription: {text}")
View transcription logs:
from easytranscribe import view_logs
logs = view_logs(date="today", stats=True)
print(f"Total entries: {logs['total_count']}")
Command Line Interface
Live transcription:
easytranscribe live --model base
File transcription:
easytranscribe file path/to/audio.wav --model base
View logs:
easytranscribe logs --date today --stats
easytranscribe logs --tail 10
easytranscribe logs --list-dates
📋 Available Whisper Models
tiny | 39MB | Fastest | Good | Real-time, low resource |
base | 74MB | Fast | Better | Balanced performance |
small | 244MB | Medium | Good | Higher accuracy |
medium | 769MB | Slow | Very Good | Professional use |
large | 1550MB | Slowest | Best | Maximum accuracy |
turbo | 809MB | Fast | Excellent | Best balance (default) |
🔧 Configuration
Audio Settings (Live Recording)
The package automatically handles:
- ✅ Silence detection (3 seconds of silence stops recording)
- ✅ Minimum recording time (2 seconds)
- ✅ Audio level monitoring
- ✅ Automatic microphone input
Logging
Transcriptions are automatically logged to logs/transcription_YYYY-MM-DD.log with:
- 📅 Timestamp
- 🤖 Model used
- ⏱️ Processing time
- 🎵 Audio duration (for live recording)
- 📝 Transcribed text
🛠️ Development
Install from Source
git clone https://github.com/akhshyganesh/easytranscribe.git
cd easytranscribe
pip install -e .
Run Tests
python test/test_integration.py
📄 Requirements
- Python 3.8+
- OpenAI Whisper
- sounddevice (for microphone input)
- numpy
📖 Documentation
For comprehensive documentation, examples, and API reference, visit:
🌐 EasyTranscribe Documentation
The documentation includes:
🤝 Contributing
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
📜 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments