Written in Python
The annotation model, the readers and writers, and the signal analysis are all in the core. Scripts and plugins call it directly, in the same interpreter.

Lovingly made by Humans in Bavaria 🥨
Besra is an open source desktop application for editing and analysing time-aligned speech annotation. It reads and writes the files Praat and ELAN already use, and plugins are ordinary Python files.
git clone https://codeberg.org/besra/besra
cd besra
python -m pip install -e .
besraRuns on macOS, Linux, and Windows. Requires Python 3.12 or later.
van Dam KP, Snee D, List JM, Goderich A, Ciucci L, Meloni CY, Thaam K, Muheim N, Bocklage K and Rubehn A. Besra: An interactive tool for speech annotation, phonetic analysis, and computer-assisted fieldwork. Open Research Europe 2026, 6:420. https://doi.org/10.12688/openreseurope.25173.1
The annotation model, the readers and writers, and the signal analysis are all in the core. Scripts and plugins call it directly, in the same interpreter.
A plugin is a single Python file with one top-level function, run in
the host interpreter. It can import anything you have installed with
pip.
Besra opens and saves Praat TextGrid, ELAN .eaf, and a
documented five-column TSV. You can use it for one stage of a project
and keep the rest in Praat or ELAN.
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.
Waveform, spectrogram, pitch, formants, and amplitude share a time axis and a selection. Pitch and formant estimation offer several methods each.
Models are downloaded once and run on your own hardware. Audio and annotations stay on the machine, so Besra can be used on recordings that cannot be sent to a hosted transcription service.
Plugins run in the same Python process as the editor, so a recogniser or classifier can run over the recordings during a session. You can train a model on what you have annotated so far, apply it to the rest, and check the output while you are still at the field site. You do the work, machine learning just helps it go quicker.
The results are saved as ordinary TextGrid or EAF files and open in Praat or ELAN as usual.
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.