AirScribe


AirScribe writes down what is on the air. A server pairs with your Bluetooth handheld radios, listens to each one, splits the audio into one clip per transmission, transcribes every clip, and shows the text in a browser with audio and text downloads.

Project Link: github.com/TechIdiots-LLC/airscribe | GitLab

Status: early development. The radio connection has been tested against a real BTech UV-Pro, and the web interface works end to end with the built-in simulator. Transcription has not yet been run against a real speech model.

How It Works

Browsers can only reach a radio's Bluetooth LE control channel, not the Classic Bluetooth audio channel that transcription needs. AirScribe therefore runs as a server on the machine that has the radios in range, and you use it from any browser.

Segmenting Each transmission becomes its own clip, using the radio's own start-of-audio and end-of-audio markers.

Pluggable transcription Works with sherpa-onnx, whisper.cpp, or any command that prints a transcript.

Web interface Live radio status, a transcript feed with search, and downloads for audio and text.

Planned A public page with delayed publishing and RSS, and support for digital modes.

Requirements

You can try it without any hardware: npm install, then npm run simulate, and open http://127.0.0.1:8100.

By default the server only listens on 127.0.0.1, and it refuses to listen on a reachable address unless access tokens are configured.

Advertisement