FIELD NOTE
Type: Software Project / Release
Related Project: Ham Radio
System Status: Operational early-development release
Date / Time: August 28, 2026; Arizona time
Software: Repeater Scribe 0.5.3; AllStarLink 3; Docker; faster-whisper; FastAPI; SQLite; FFmpeg; Asterisk Manager Interface
Outcome: A local-first dashboard that transcribes AllStar traffic, monitors and controls a node, and interactively maps its observable network topology.
Last Verified: August 28, 2026, against the Repeater Scribe README, documentation, and changelog on GitHub

Introducing Repeater Scribe
I built Repeater Scribe to turn an AllStarLink 3 node into something more useful than a box quietly running Asterisk in the corner. It is a self-hosted web application that combines local AI transcription, live node monitoring and control, favorite-node statistics, and interactive network-topology discovery in one dashboard.
The short version: Repeater Scribe listens to the recording archive created by an existing ASL3 node, turns radio traffic into searchable text, shows what the node is doing, lets an authorized operator control its connections, and builds a live bubble map of the connected AllStar network it can observe.
It is open source, runs in Docker, and is available now on GitHub. I am looking for AllStar operators and clubs willing to install it, put it on real systems, report what works, find what does not, and help shape where it goes next.
Built to Work Alongside AllStarLink 3
Repeater Scribe does not replace ASL3. It runs beside an existing node and uses the services ASL3 already provides.
- The ASL3 recording archive supplies the audio for transcription.
- Asterisk Manager Interface, or AMI, supplies live node state and optional control.
- The public AllStar statistics service supplies observable node metadata and links for favorites and topology discovery.
The archive is mounted read-only. Repeater Scribe does not rename, delete, or modify the source recordings. AMI control is a separate feature that can be left disabled, allowing the application to operate as a transcription-only service or a read-only node monitor.
Local AI Transcription for Repeater Traffic
Radio audio is a rough assignment for speech recognition. Signals fade, squelch tails snap, operators talk quickly, accents vary, and call signs are exactly the kind of short, unusual strings a general speech model likes to mangle. Repeater Scribe uses faster-whisper locally and adds an amateur-radio-aware correction stage around it.
Near-live text followed by an accuracy pass
While an ASL3 recording is still growing, Repeater Scribe can take rolling FFmpeg snapshots from the tail of the file and produce provisional text. When the recording becomes stable, the application performs a new beginning-to-end transcription for the final result.
This two-pass design gives the dashboard useful text quickly without pretending the first answer is final. Provisional phrases may change, repeat, or briefly omit speech. The completed pass replaces them with a full-file result that is stored in SQLite.
Callsign-aware correction
The application builds a locally relevant callsign set from configured calls, favorite nodes, active stations, and callsigns discovered in the network topology. It can decode common amateur-radio phonetics, join split callsign fragments, and repair likely number-position or near-match errors.
Corrections are deliberately conservative. Repeater Scribe keeps the untouched model output as well as the corrected display text, so an operator can review what the model actually heard instead of treating an AI guess as authoritative.
GPU and CPU operation
The supplied GPU profile uses Whisper large-v3 with CUDA FP16 and is designed around an NVIDIA GPU with approximately 12 GB of VRAM. CPU-only operation is also supported; medium.en with INT8 is the practical starting point for an English-language CPU installation.
Actual latency depends on the model, hardware, and quality of the repeater audio. A built-in benchmark command reports processing time and real-time factor using one of your own recordings, which is far more useful than guessing from a generic hardware chart.
Live AllStar Node Monitoring and Control
With AMI enabled, Repeater Scribe maintains one server-side connection to Asterisk and shares the resulting state with every browser dashboard. It shows AMI health, direct app_rpt links, connection modes, and the station currently transmitting.
- Connect a node in transceive, monitor, local-monitor, or permanent mode.
- Disconnect one link or all current links.
- Request reconnects and wait for refreshed node state before reporting the result.
- Run named commands for time, identification, node and link status, IAX status, network status, announcements, and uptime.
- Send validated AllStar DTMF function strings when raw function access is explicitly enabled.
Control is optional and disabled by default. The node-control API requires a configured key, and AMI credentials remain on the server rather than being exposed to the browser.
Favorites, Activity, and Node Statistics
Favorite nodes can be organized with operator-supplied callsigns, descriptions, locations, groups, display order, and preferred connection modes. Repeater Scribe combines public AllStar statistics with locally observed activity, including key-up counts and transmit time.
This turns the favorites list into an operating tool instead of a stack of node numbers. You can see which systems are active, understand how a favorite is currently connected, and use the same dashboard to make or remove the link.
Discovering the Connected Topology
The network map is one of the features I most wanted when this project started. A normal node list tells you what your node is directly connected to. It does not show what those nodes are connected to, or what lies beyond them.
Repeater Scribe starts with a favorite node and performs a paced breadth-first crawl through the public AllStar statistics data. As connected nodes report their own links, the application adds them to the graph and continues outward within configurable depth and node limits. The result is the observable connected component around that starting node—not an attempt to scrape every node on AllStar globally.
The interactive bubble map supports pan, zoom, fit-to-view, draggable nodes, automatic layout, link-confidence styling, live AMI state, and node controls. Discovery progress streams into the browser while the map is open. Nodes, snapshots, and one-sided or confirmed two-sided edges are cached in SQLite so discovery can resume after a restart.
The crawler also respects the public service it depends on. Requests are rate-limited through a single scheduler, favorite roots receive priority, and deeper discovery pauses when nobody is viewing that map.
A Dashboard Built for Operating
Repeater Scribe is not just a collection of API endpoints. The browser interface is a live operating workspace with dockable, collapsible, movable panels and saved layouts.
- Transcription queue and searchable transcript panels
- Original archive-audio playback
- Node status and connected-node panels
- Favorites and interactive network map
- Activity, control, function, and command-output panels
- Live updates for recordings, key transitions, node state, and topology progress
The dashboard icon and emblem also change with activity, making it easy to see when the node is keyed, transcription is running, or both are happening at once.
Local-First Data and a Useful API
Audio and transcript text remain on the machine running Repeater Scribe. The current release does not send recordings to OpenAI or another hosted transcription provider. The only normal transcription-related network requirement is the initial model download.
A versioned FastAPI interface exposes health and configuration information, recordings, audio, activity, node state, controls, favorites, and topology data. Server-Sent Events deliver live archive, node, keying, and discovery updates. Interactive OpenAPI documentation is available from the running application, making it possible to build other dashboards or club tools on top of the same data.
What You Need
- An existing AllStarLink 3 node with its recording archive enabled and visible to the Docker host
- Docker Engine and Docker Compose v2
- Persistent storage for SQLite data and downloaded Whisper models
- AMI credentials and a shared Docker network if node monitoring or control will be used
- A compatible NVIDIA setup for the supplied GPU profile, or a CPU-oriented Whisper configuration
Repeater Scribe can run in three practical modes: transcription only, monitor without control, or full trusted-network control. Public favorite statistics and topology discovery can be enabled independently.
Important Security Boundary
The current application does not include built-in interactive user login. Port 8088 should be treated as a trusted-network service and should not be exposed directly to the public Internet. Use a firewall, private LAN or VPN, or an authenticated reverse proxy.
This matters because a fully enabled dashboard can issue real app_rpt commands, and raw DTMF functions can activate anything configured behind those functions. If you only want status, leave AMI control disabled.
Who This Is For
- AllStar node operators who want better visibility into traffic and connections
- Clubs that want searchable records of nets, technical discussions, and repeater activity
- Operators experimenting with local speech recognition on radio audio
- Network maintainers who want to explore how linked nodes form a larger topology
- Developers who want a local API for integrating AllStar status, transcripts, and map data into other tools
Early Software, Real Feedback Wanted
Repeater Scribe is an early-development project, and I want it tested outside my own system. Different nodes have different archive layouts, audio conditions, AMI configurations, hardware, traffic patterns, and network topologies. That variety is exactly what the project needs now.
If you operate an ASL3 node, try it with real repeater audio. Test the CPU or GPU profile. Open a favorite node’s topology map and see what it discovers. Check how it handles the callsigns common to your club. If something breaks, open an issue with enough detail to reproduce it. If you can improve it, pull requests are welcome.
Most importantly, share the project with your club and other AllStar operators. A tool like this gets better when it encounters more accents, radios, noise, nodes, and gloriously strange network arrangements.
Current Limitations
- Near-live transcription reads the tail of a growing archive file; it is not a direct PCM stream or a true streaming decoder.
- Provisional text may repeat, revise, or omit phrases before the final pass completes.
- Callsign correction is probabilistic, which is why raw model text is retained.
- Topology discovery only includes public numeric nodes visible through the configured AllStar statistics service and remains subject to configured crawl limits.
- Built-in interactive authentication and hosted transcription backends are not implemented in the current release.
Conclusion
Repeater Scribe began as a way to transcribe AllStar recordings. It has grown into a broader operations console: part local AI transcription system, part node controller, part activity monitor, and part network explorer.
The goal is not to hide AllStarLink behind a shiny dashboard. The goal is to expose more of what the system is already doing, make its traffic searchable, make its connections understandable, and give node operators better tools for running it.
If that sounds useful for your node or your club, install it, break it responsibly, and tell me what you find.
FIELD DISCUSSION
Discussion
Comments submitted here and replies received through ActivityPub-compatible networks are collected in the same thread.
FEDIVERSE RESPONSE
Fediverse Reactions