Lightweight CLI for Recording & Transcribing with Whisper Accuracy
Project description
ConversalLink
Conversation Recorder & Transcriber
🎯 Features
- 🎙️ Record audio in 16kHz mono WAV format
- ✍️ Take timestamped notes while recording
- 📂 Use existing audio files (WAV, MP3, FLAC, OGG…)
- 🧠 Transcribe using Faster-Whisper (select model: tiny → large)
- 🔗 Auto-align notes with transcript segments
- 📤 Export as:
- Markdown
- JSON
- Plain text
- Beautiful HTML (with dark mode, audio player, jump-to-note)
📦 Installation
From PyPI (Recommended)
pip install conversallink
From Source
- Clone the repository
git clone https://github.com/gchatzigianniss/ConversalLink
- Install dependencies
pip install -r requirements.txt
- Run the script
python conversallink.py --file conversation.wav --notes conversation_notes.json
🚀 Quick Usage Examples
1. Record + Take Notes
# Run as a command-line tool
conversallink --record conversation.wav --model small --out markdown
# Or using Python module syntax
python -m conversallink --record conversation.wav --model small --out markdown
2. Transcribe an Existing File + Merge Notes
python conversallink.py --file conversation.wav --notes conversation_notes.json
3. Transcribe Only
python conversallink.py --file podcast.mp3 --model medium --out html
🤖 Transcription Models
ConversalLink uses Faster-Whisper models for transcription. You can select the model size based on your needs for accuracy vs. speed and resource usage.
| Model Size | Parameters | Accuracy | Speed | VRAM Usage | Disk Space | Use Case |
|---|---|---|---|---|---|---|
tiny |
39M | Low | Very Fast | ~1GB | ~80MB | Quick drafts, low-resource environments |
base |
74M | Basic | Fast | ~1GB | ~150MB | Simple recordings, clear speech |
small |
244M | Good | Medium | ~1GB | ~500MB | General purpose, good balance |
medium |
769M | Very Good | Medium-Slow | ~2GB | ~1.5GB | Professional transcripts |
large-v2 |
1550M | Excellent | Slow | ~3GB | ~3GB | Highest accuracy needs |
large-v3 |
1550M | Best | Slow | ~3GB | ~3GB | Latest model with best results |
To select a model, use the --model parameter:
conversallink --file recording.wav --model medium
Note: Larger models provide better accuracy but require more computational resources and run slower. The
smallmodel offers a good balance for most use cases.
📦 Dependencies
Install everything with:
pip install -r requirements.txt
Core:
sounddevicesoundfilefaster-whisperrich
Optional (for non-WAV input):
pydubffmpeg(must be available in your system PATH)
✅ Output Files
conversation_transcript.md # 📝 Markdown
conversation_transcript.json # 🗄️ JSON (full data)
conversation_transcript.html # 🌐 Interactive HTML player
conversation_transcript.txt # 📄 Plain text
conversation_notes.json # 🧷 Timestamped notes
📄 License
This project is open source under the MIT License.
👨💻 Author
gchatzigianniss
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file conversallink-0.4.2.tar.gz.
File metadata
- Download URL: conversallink-0.4.2.tar.gz
- Upload date:
- Size: 23.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a775aefd3b0aa4a0bfde2b0abb858b040d79ac2124d044ae21f189bd56da756
|
|
| MD5 |
5c91653087e88e9acb525e2811802efa
|
|
| BLAKE2b-256 |
5b77012ee4703c91d82336f8818f72eb5045064ea9557016a2fbc04091e08343
|
File details
Details for the file conversallink-0.4.2-py3-none-any.whl.
File metadata
- Download URL: conversallink-0.4.2-py3-none-any.whl
- Upload date:
- Size: 19.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d47e0ccbfa96941756f5ed0cdafee87bd761e94b24aa47e129081cb4edb39570
|
|
| MD5 |
0fa5d9911dd5a377bd9f52e563a267c5
|
|
| BLAKE2b-256 |
1f2cf3efabba264daf358f420623c73cb50ff24c7cc39593b21224f4a3389a06
|