Skip to main content

Local, free, multilingual audio transcription app powered by faster-whisper.

Project description

Massscriber

CI Python License

Massscriber is a local-first audio transcription app built on top of faster-whisper. It is designed for people who want:

  • no paid API dependency
  • no upload requirement for private recordings
  • unlimited local processing
  • strong multilingual transcription quality
  • both a simple UI and a scriptable CLI

Highlights

  • Local transcription with faster-whisper
  • Multilingual speech-to-text with automatic language detection
  • Batch processing for multiple audio or video files
  • Gradio UI for drag-and-drop use
  • CLI mode for automation and power users
  • Export formats: txt, srt, vtt, json
  • Quality-first model option: large-v3
  • Speed-first model option: turbo

Supported Inputs

The UI currently accepts:

  • .mp3
  • .wav
  • .m4a
  • .flac
  • .ogg
  • .aac
  • .wma
  • .mp4
  • .mkv

faster-whisper handles media decoding through its own stack, so a manual ffmpeg install is usually not required.

Model Guidance

Model Best for Notes
large-v3 Highest accuracy Best default for serious transcription work
turbo Fastest practical transcription Great speed/quality balance
medium Mid-range systems Useful fallback for lower VRAM devices
small, base, tiny Lightweight testing Faster, but lower accuracy

Important note: no speech recognition model is perfectly error-free. For a fully free and local workflow, large-v3 is one of the strongest practical choices available today.

Quick Start

Windows helper scripts

install.bat
start_ui.bat

Manual setup

python -m venv .venv
.venv\Scripts\activate
python -m pip install --upgrade pip
python -m pip install -e .

Run the App

Launch the UI

.venv\Scripts\activate
python app.py

The default UI address is http://127.0.0.1:7860.

Use the CLI

.venv\Scripts\activate
python app.py transcribe "C:\audio\meeting.mp3" --model large-v3 --formats txt srt json

You can also use the installed console entry point:

massscriber transcribe "C:\audio\meeting.mp3" --model turbo --formats txt srt

Recommended Settings

Best quality

  • Model: large-v3
  • Beam size: 5
  • VAD: enabled
  • Word timestamps: enabled

Best speed

  • Model: turbo
  • Device: cuda when available
  • Compute type: float16
  • Batch size: 8 or 16

Outputs

By default, transcripts are written to the outputs directory:

  • txt
  • srt
  • json

You can also enable vtt from the UI or CLI.

GPU Notes

If you use an NVIDIA GPU, faster-whisper may require CUDA runtime libraries on your machine. CPU mode works too; it is simply slower.

According to the faster-whisper recommendations:

  • int8 is a good default for CPU execution
  • float16 or int8_float16 are good GPU options

If you hit CUDA DLL issues on Windows, follow the Windows notes in the official faster-whisper documentation.

First Run Behavior

The selected model is downloaded automatically on first use. For large-v3, the first run can take a while because the model is large.

Development

Run tests

python -m unittest discover -s tests -v

Local verification

python -m py_compile app.py massscriber\__init__.py massscriber\types.py massscriber\exporters.py massscriber\transcriber.py massscriber\ui.py

Versioning and Releases

  • Project version is defined in massscriber.__version__
  • Packaging reads the version dynamically from the package
  • Human-readable release history lives in CHANGELOG.md
  • Release steps are documented in RELEASING.md
  • Pushing a tag like v0.1.0 triggers the GitHub release workflow

Roadmap

  • Speaker diarization
  • Better subtitle segmentation options
  • Packaged desktop builds
  • Folder watch / auto-transcribe workflows

License

This project is released under the MIT License. See LICENSE.

References

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

massscriber-0.1.0.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

massscriber-0.1.0-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file massscriber-0.1.0.tar.gz.

File metadata

  • Download URL: massscriber-0.1.0.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for massscriber-0.1.0.tar.gz
Algorithm Hash digest
SHA256 fd196310f8725988c326103e6e3942052572402688af1ac9b4d608fad15d6d39
MD5 70af18533f86c829f731bb62e53b3151
BLAKE2b-256 5ad1260f5c6b13f925c8dddbe86a4ab2817c57ee01104704a3174c3af7006f4d

See more details on using hashes here.

File details

Details for the file massscriber-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: massscriber-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 12.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for massscriber-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9e3232f3315b5a648dfe8610b631a99a4cff1b2325be65c0249f6553028471cc
MD5 0b5f17d0debc349fef856192c273a57d
BLAKE2b-256 9b573783b370a30c24535bce2c3a5ffa1ef7920f55159a2df854a8e8d2d07120

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page