Skip to main content

MurmurAI

MurmurAI Logo

Modern speech recognition with word-level timestamps and speaker diarization

PyPI CI Python License


MurmurAI is a fork of WhisperX with modern dependency support:

  • PyTorch 2.6+ compatibility (weights_only patches)
  • Pyannote 4.x support (token parameter migration)
  • Torchaudio 2.9+ compatibility (audio backend fixes)
  • Python 3.10-3.13 tested

Features

  • Word-level timestamps via phoneme alignment
  • Speaker diarization with pyannote.audio
  • Batch inference for 70x realtime transcription
  • VAD preprocessing (pyannote or silero)
  • Multiple output formats: SRT, VTT, TXT, TSV, JSON

Installation

pip install murmurai-core

Or with uv:

uv add murmurai-core

Quick Start

Python API

import murmurai

# Load model
model = murmurai.load_model("large-v3-turbo", device="cuda", compute_type="float16")

# Transcribe
audio = murmurai.load_audio("audio.mp3")
result = model.transcribe(audio, batch_size=16)

# Align (word-level timestamps)
model_a, metadata = murmurai.load_align_model(language_code=result["language"], device="cuda")
result = murmurai.align(result["segments"], model_a, metadata, audio, device="cuda")

# Diarization (speaker labels)
from pyannote.audio import Pipeline
diarize_model = Pipeline.from_pretrained("pyannote/speaker-diarization-3.1", use_auth_token="YOUR_HF_TOKEN")
diarize_segments = diarize_model(audio)
result = murmurai.assign_word_speakers(diarize_segments, result)

CLI

Basic transcription:

murmurai-core audio.mp3

With specific model and language:

murmurai-core audio.mp3 --model large-v3-turbo --language en

With speaker diarization:

murmurai-core audio.mp3 --model large-v3-turbo --diarize --hf_token YOUR_HF_TOKEN

Output to specific format and directory:

murmurai-core audio.mp3 --output_format srt --output_dir ./transcripts

Run without installing (via uvx):

uvx murmurai-core audio.mp3 --model large-v3-turbo

Common options:

Option Description Default
--model Whisper model (tiny, base, small, medium, large-v3, large-v3-turbo) small
--language Audio language (e.g., en, pt, es, fr) auto-detect
--device cuda or cpu cuda
--output_format srt, vtt, txt, tsv, json, all all
--output_dir Output directory .
--diarize Enable speaker diarization off
--hf_token HuggingFace token (required for diarization) -
--batch_size Batch size for inference 8
--compute_type float16, float32, int8 float16

Requirements

  • NVIDIA GPU with CUDA support (or CPU mode)
  • HuggingFace token for diarization models

Accept the license at pyannote/speaker-diarization-3.1 before using diarization.

Migration from WhisperX

# Before
import whisperx

# After
import murmurai  # drop-in replacement

All APIs are identical. Just change the import.

Credits

MurmurAI builds on the excellent work of:


Made with ❤️ by Namastex Labs

Metadata

Release files for murmurai-core 1.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for murmurai-core 1.0.6
File Size Uploaded
murmurai_core-1.0.6.tar.gz 16.8 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for murmurai-core 1.0.6
File Interpreter ABI Platform
murmurai_core-1.0.6-py3-none-any.whl Python 3 none any Details

Total release size: 33.3 MB

Release files / murmurai_core-1.0.6.tar.gz

Download URL murmurai_core-1.0.6.tar.gz
Size 16.8 MB
Tags Source
SHA-256 checksum
How to use checksums
c914683048e004e202a16c321334bda87bcc9e7c4142111f77b8c595d68ca3c1
BLAKE2b-256 checksum
How to use checksums
f87b10da2b9bebdb141425cd87b612b223eb49d83fae6984de9a126925c15c81
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / murmurai_core-1.0.6-py3-none-any.whl

Download URL murmurai_core-1.0.6-py3-none-any.whl
Size 16.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
9d0abb5ece99dc12f98dcdda86a5a049a4d22db51b6c9ba58b11bd7bc6f446ce
BLAKE2b-256 checksum
How to use checksums
f25db1545e4e35dcbbd52cc9e68d19e120e1cbbe320d0195dae72f6887584fbb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page