Yobikoe (formerly Voice Announcer)

How we built a multilingual live announcement system for karate tournaments, and turned it into a product.

Overview

Yobikoe is a live venue announcement system that turns event data into spoken announcements in 74 languages. It began inside Freevision as Voice Announcer, built for Slovak karate tournaments that needed competitors called to the tatami faster than a human announcer could read a changing schedule. What started as an internal tool is now a standalone product, and this page is the engineering story of how we got there.

74supported languages
<60sto produce an announcement
40-60%cost reduction via caching
4real events announced
Challenge

The challenge

A karate tournament is a scheduling problem with a microphone attached. Competitors have to reach the right tatami at the right moment, their names have to be said correctly whether they are Slovak, Hungarian or Japanese, and categories and mats keep moving all day long. At international events the audience does not share one language. The same shape of problem shows up far outside sport: a bus station announcing a platform change in four languages hits exactly the same wall. The traditional answer is to record with voice actors, edit in audio software, translate, re-record and upload. What should take seconds takes days, and what should cost almost nothing costs thousands.

Our build

What we built

We built a platform that composes announcements from reusable templates, fills them with live tournament data, and speaks the result in every language a venue needs. An operator picks a template, previews the exact audio the hall will hear, and sends it to the speakers. No recording studio, no voice actors, no audio engineer in the building. The decisions below are the ones that made that possible.

Key engineering decisions

Templates composed from reusable segments

We modelled an announcement as a sequence of voice and sound segments rather than one block of text. Segments are reused across templates and populated with live information from connected systems, so a category change updates every call that mentions it instead of forcing a rewrite.

One channel, every language at once

Turning on Speak All Languages for a channel generates the announcement in all configured languages and concatenates them into a single audio file with natural pauses between them. The operator still triggers one announcement; the hall hears all of them in order.

Pluggable text-to-speech per channel

We kept the speech provider behind an interface so each channel can pick its own: ElevenLabs for 74 languages and emotion tags, OpenAI gpt-4o-mini-tts, self-hosted Chatterbox for air-gapped venues with no outbound network, and macOS Say for local development. Swapping one does not touch the rest of the system.

Content-addressed caching and deduplication

Generated audio is keyed by its content, so an announcement that has been spoken before is served instantly instead of being synthesised again. On a tournament day, where the same category and tatami calls repeat all afternoon, this cut generation cost by 40 to 60 percent and removed most of the waiting.

Multi-tenancy from the start

One platform runs many venues, each with its own channels, templates, data sources and users, fully isolated from the others. Launching a new venue is a tenant duplication, which copies the template library, data connections and sound files in one click rather than rebuilding a setup by hand.

Playback routed to the venue, not to a box

Announcements play straight from the browser for operators who just need a laptop, and stream over RTSP for venues that route audio into an existing AV or broadcast setup. Neither path needs proprietary hardware, which is what let the same system work in a school gym and in an arena.

How it works

01
Compose

Click templates from the sidebar to add segments to the queue

02
Fill

For templates with data sources, pick from a searchable list of live options

03
Preview

Hear exactly what your audience will hear before committing

04
Create

Audio generation begins - segments are saved and the queue clears

05
Play

The announcement is delivered to all configured player endpoints

Results

Traditional workflow
With Yobikoe
Days to weeks to produce an announcement
Under 60 seconds from text to broadcast
$50-500+ per announcement (studio, actors, editing)
Fractions of a cent (TTS API)
Adding a language means re-recording everything
Toggle a checkbox - all languages generated at once
Updating content requires scheduling a new session
Edit text, regenerate, done
Scaling to a new venue duplicates the entire process
Duplicate the tenant in one click
Hardware-locked proprietary PA controllers
Browser playback or an RTSP stream into the AV setup you already have

One platform. 74 languages. Seconds, not days.

From internal tool to product

The system has been running live announcements at real events in Slovakia, from national karate championships to a robotics contest: 46th Grand Prix Slovakia 2026, the 4th Memorial of Milan Karafa, the Bratislava Youth Cup and Robotický Battle. Enough organisers asked for it that we split it out of our sport toolkit and released it as its own product. It is now sold per event, with Yobikoe plans sized by venue capacity, and Yobikoe for karate tournaments covers the tournament workflow in detail.

Want Yobikoe at your event?

Book a live demo with your own schedule or start list, and we will show you the calls your venue would hear.

Ahmed Al Hafoudh