Skip to main content

Local classroom audio transcription with projects, WER evaluation, and pluggable transcript formats

Project description

Transcribe Studio

CI

A local, browser-based tool for classroom audio transcription. Organize work by project, split audio into timed chunks, label speakers in free text, and evaluate human transcripts against LLM output (WER + semantic WER).

Built for researchers and annotators who need millisecond timestamps and exportable data — without Label Studio complexity.

Features

  • Projects — group recordings by class, session, or study
  • Waveform editor — divide audio into chunks (by duration or count), overlap speakers at the same timestamp
  • Chunk playback — play one chunk at a time with speed up/down (0.25×–2×, keys , / .)
  • Exports — TXT, Markdown, JSON, CSV, SRT, WebVTT
  • LLM evaluation — paste or upload hypothesis transcripts; strict + semantic WER
  • Pluggable formats — timestamp/speaker lines, JSON segments, plain text (TOML-driven)

Quick start

With uv (recommended)

git clone https://github.com/Mishkat-Quantum-Labs/transcribe-studio.git
cd transcribe-studio
uv venv
uv pip install -e ".[dev]"
uv run transcribe-studio

With pip

pip install transcribe-studio
transcribe-studio

Open http://127.0.0.1:8082

Options:

transcribe-studio --port 8083
transcribe-studio --host 0.0.0.0 --port 9000

Windows: command not found?

On some Windows setups (especially Microsoft Store Python), transcribe-studio is installed but not on your PATH. Use any of these instead:

python -m app
python -m app --port 8083

Or install with pipx (adds the command to PATH automatically):

pip install pipx
pipx install transcribe-studio
transcribe-studio

Usage

  1. Create a project from the dashboard
  2. Upload an MP3/WAV/M4A/OGG/FLAC recording
  3. Divide the wave into chunks, then transcribe each segment
  4. Use Evaluation to compare your transcript against an LLM upload
  5. Export when done

Data is stored under ~/.transcribe-studio/ (override with TRANSCRIBE_STUDIO_DATA).

Development

uv pip install -e ".[dev]"
uv run pytest

Publishing

PyPI via uv (recommended)

uv build
uv publish   # uses UV_PUBLISH_TOKEN or prompts for PyPI credentials

PyPI via pip/twine

pip install build twine
python -m build
twine upload dist/*

GitHub release

git tag v0.2.0
git push origin v0.2.0
gh release create v0.2.0 dist/*

Configuration

Evaluation and transcript import settings ship inside the package:

  • app/config/evaluation.toml
  • app/config/transcript_formats.toml
  • app/config/languages/en.toml

License

MIT — see LICENSE.

Contributing

Issues and PRs welcome at github.com/Mishkat-Quantum-Labs/transcribe-studio.

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

transcribe_studio-0.2.1.tar.gz (68.3 kB view details)

Uploaded Source

Built Distribution

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

transcribe_studio-0.2.1-py3-none-any.whl (85.5 kB view details)

Uploaded Python 3

File details

Details for the file transcribe_studio-0.2.1.tar.gz.

File metadata

  • Download URL: transcribe_studio-0.2.1.tar.gz
  • Upload date:
  • Size: 68.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for transcribe_studio-0.2.1.tar.gz
Algorithm Hash digest
SHA256 42a1b9c4deb94a58445a406d3af2fed568fd98da7ea26f1718f59525b3607085
MD5 3c0396f581a9c7126f9a8182d9bcec1b
BLAKE2b-256 2a6fde198f05f9c2467925b1e47fa0924327dd9be74992b1b2f8c396db07b210

See more details on using hashes here.

File details

Details for the file transcribe_studio-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: transcribe_studio-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 85.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for transcribe_studio-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f1c4c675215d9588e36e4f48d48b28aaa9427f92c10190e0a7156dfe78668f70
MD5 d93957f33ad9152d1ae229a2de8c62f6
BLAKE2b-256 aa2fbf037ea182e70ee5398293282ae1b6299a3edcd4921192f36c5e48d2a88e

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