The Besra window: waveform, spectrogram, pitch, formants and amplitude above four annotation tiers, with the interval list on the right.

COMING SOON: Speech annotation that lives in Python

Besra is an open source desktop application for editing and analysing time-aligned speech annotation. The core is headless, it opens and saves the files Praat and ELAN already use, and a plugin is an ordinary Python file.

git clone https://codeberg.org/besra/besra
cd besra
python -m pip install -e .
besra

Runs on macOS, Linux, and Windows. Requires Python 3.12 or later.

What it does

Written in Python

The annotation model, the readers and writers, and the signal analysis are all in the core. There is no inter-process protocol and no scripting language of its own.

Plugins

A plugin is a single Python file with one top-level function, run in the host interpreter. Dependencies are ordinary pip installs, so anything on PyPI is available to one.

Praat and ELAN files

Besra opens and saves Praat TextGrid, ELAN .eaf, and a documented five-column TSV, so it can be used for part of a project without taking over the rest.

Quality and surprisal lanes

A per-interval recording quality score and an n-gram surprisal heatmap are drawn as lanes under the annotation, while the speaker is still there to record the interval again.

One time axis

Waveform, spectrogram, pitch, formants, and amplitude share a time axis and a selection. Pitch and formant estimation offer several methods each.

Local models

Models are downloaded once and run on your own hardware. No audio or annotation leaves the machine, which makes Besra usable where a hosted transcription service is not permitted.

Model-assisted fieldwork

Because everything runs on Python and plugins run in the host interpreter, you can run a recogniser over the text as you work. Train models, apply results, get answers before you even leave the field site.

Besra produces ordinary annotation files, ensuring everything still opens in Praat or ELAN so you never have to leave your main workflow.

  • 1 October 2026

    Besra 0.9 beta release

    Today we're releasing the v0.9 beta version of Besra. This is nearly the completed app, aside from upcoming features. Some bugs may remain, and some performance improvements are still needed.