Sign inSign up

mapleeve/voscript

By mapleeve

•Updated 4 months ago

Meeting recordings → timestamped transcripts with real speaker names.

Image
Machine learning & AI
0

521

mapleeve/voscript repository overview

⁠VoScript

Meeting recordings → timestamped transcripts with real speaker names. Self-hosted, GPU-powered, remembers every voice.


You have a meeting recording with six people. You want to know who said what. Whisper gives you a wall of text. pyannote splits it into "Speaker A / B / C" — but it doesn't know who anyone is. You still label every recording by hand.

VoScript fixes that: enroll a voice once, and it gets auto-identified in every future recording. Not "Speaker 2" — "Maple".

Audio ──► faster-whisper large-v3    transcription + word-level timestamps
      ──► pyannote 3.1               speaker diarization
      ──► WeSpeaker ResNet34          speaker embeddings
      ──► VoiceprintDB (AS-norm)      match against enrolled voices
      ──► transcript with real names
⁠Quick start
git clone https://github.com/MapleEve/voscript.git && cd voscript
cp .env.example .env   # set HF_TOKEN and API_KEY
docker compose up -d --build
curl -sf http://localhost:8780/healthz
⁠What's inside
  • Persistent voiceprint library — enroll once, auto-match across all recordings. sqlite + sqlite-vec, scales to thousands of speakers
  • AS-norm scoring — impostor cohort built at startup; eliminates per-speaker baseline bias
  • Adaptive threshold — each speaker's threshold relaxes based on enrollment variance
  • Speaker cluster consolidation — diarization splits merged to a single label automatically
  • Word-level timestamps — WhisperX forced alignment
  • Optional denoising — DeepFilterNet / noisereduce with SNR gate (clean audio skips denoising)
  • File dedup — same file submitted twice returns existing result immediately
  • Plain HTTP API — multipart/form-data, no SDK required
⁠Tags
TagDescription
latestLatest stable release
0.7.0Current release
⁠Environment variables
VariableDefaultDescription
HF_TOKEN—Required. HuggingFace token for pyannote model download
API_KEY—Recommended. Bearer token for all /api/* endpoints
WHISPER_MODELlarge-v3faster-whisper model size
DENOISE_MODELnonenone / deepfilternet / noisereduce
MAX_UPLOAD_BYTES2147483648Upload size cap (2 GiB)

Tag summary

Content type

Image

Digest

sha256:746a2f3ba…

Size

3.5 GB

Last updated

4 months ago

docker pull mapleeve/voscript