yukoe
Start here · Setup
Local-first Twitch bot

English and Japanese,
together in your chat.

It translates your Twitch chat, reads it aloud in the right voice for each language, and answers your viewers' language questions — all on your own machine.

Runs on your PC Free by default Your keys stay yours
¥0Default running cost
<GPick a voice before the message
100%Local language detection
Commands

Clear commands, plus instant voice selectors

Tools and controls use ^, leaving ! to Nightbot and other channel bots. Put <G before a message to choose its TTS character. When an uppercase caret command is documented, it performs the same task and adds concise TTS.

<G Anyone

Choose the voice first

Put the selector before the message. The older G< spelling still works as an alias, so familiar muscle memory is not punished.

<G good luck today
^ Live control

Short when it is urgent

Stopping speech during a busy stream should never require a namespace or a long command.

^skip
^ Streamer & mods

Readable settings

Things changed occasionally can use a clear full word, and the same setting remains available in the app.

^kaomoji subtle
Translate & ask Any viewer
  • ^t [lang] <text>
    ^T [lang] <text>
    Translate one line. The target language is optional; uppercase adds one concise reading of the translation.Shipped
  • ^ja <text> · ^JA <text>Use any supported language code as a shortcut. Lowercase returns text; an all-uppercase code also reads it aloud.Shipped
  • ^ai / ^a [lang] <question>
    ^AI [lang] <question>
    Talk with AI; the optional language chooses the reply language. Uppercase reads the answer exactly once.Shipped
  • ^g <sentence>Have a sentence checked for grammar.Shipped
  • ^n <word>Ask what something really implies — tone, register, when not to say it.Shipped
  • ^helpPost the public yukoe command-guide link in chat.Shipped
Look up words Any viewer
  • ^e / ^E <word>Look up an English word; uppercase also speaks its concise pronunciation.Shipped
  • ^j / ^J <単語>Look up Japanese text; uppercase also speaks its reading.Shipped
One-message voices Any viewer
  • <G <text> · <F … · <M …
    <W … · <WF … · <R …
    Choose cute, female, male, whisper, female-whisper, or random TTS for one message. The older G<-style forms remain aliases.Shipped
Live safety Streamer & mods only
  • ^trans on|offStop or resume translating, without stopping the bot.Shipped
  • ^tts on|offSilence the reading without touching translation.Shipped
  • ^skipCut the line being read aloud right now, keep the rest.Shipped
  • ^clearCut it and drop everything waiting, when chat has run away from you.Shipped
Posting style Streamer & mods only
  • ^style <name>Switch register mid-stream: faithful, natural, kawaii, or formal.Shipped
  • ^kaomoji <mode>How much personality the posted lines carry: off, subtle, or expressive.Shipped
Shippedbuilt and tested
Useful aliases

One feature can have more than one good input

The guide leads with <G because the selector reads naturally before the message. G< remains an equal alias; both reach the same tested feature.

Case has one job

Uppercase means a short reading

A documented uppercase form performs the same task and adds concise TTS. Full-word settings ignore case, so the distinction never has to be guessed.

Translation

Built for how chat is actually written

Real chat is short, mixes languages mid-sentence, and is full of noise. Most bots quietly drop exactly those messages.

what does 一期一会 mean?

Read as an English question quoting a Japanese term, so it travels outward to your audience instead of being translated back into English. Four kanji don't outvote a whole English sentence.

この clip 最高

Stays Japanese. One borrowed English word doesn't flip the direction.

hello

Five letters is enough. Short greetings are the most common message in chat, and the one most bots fail on.

gg wp

Recognised as shorthand and skipped. No API call, no nonsense translation.

Never silent

Nothing disappears

When local detection can't name a language, the engine's own detection decides — and can correct the route afterwards.

Cost

Cached and layered

Repeats come from a local cache. Engines are tried in order, so one provider going down doesn't stop your stream.

Voice

Read aloud — in the right voice for each language

One message is often bilingual. Reading it with a single voice mangles half of it.

今日は happy ですよ

Render every Japanese and English run from left to right, then join them into one uninterrupted reading.

  • Consistent voice pools, without viewer records. If you enable a pool, a login deterministically receives the same voice tomorrow and on another machine — no viewer database required.
  • Names are said, not spelled. A login is read as words, and the announcement is spoken in the language being read — not always in English.
  • A pronunciation dictionary fixes names and in-jokes the engine gets wrong. It changes only what is spoken, never what your viewers see.
  • Built for a busy chat. Your commands never queue behind backlog, repeated spam is spoken once, long messages are trimmed at a word boundary, and stale ones are dropped rather than read minutes late.
  • Stop instantly. Skip the current line or clear everything waiting, without stopping the bot.
AI helper

Talk with AI while you're live

Answered briefly enough to read while you're live.

^ai / ^a

Talk with AI

Ask anything. The answer stays short enough to read during a stream.

^g

Check grammar

“I have a pen. The subject ‘I’ takes ‘have’, not ‘has’.”

^n

Explain nuance

“Yabai is versatile casual slang — terrible or amazing, depending on tone.”

Cost control

Built for strangers

Every AI call is triggered by a viewer and costs money. A per-viewer cooldown, a channel-wide ceiling, and a concurrency cap are part of the design — not options you must remember to switch on.

Fairness

Outages are on us

If a request never reaches a provider, the viewer gets their cooldown back instead of being charged for a failure that wasn't theirs.

Beside your stream

Made to sit next to a live broadcast

Workspace

One window, focused when you need it

The main app switches in place to just chat and translations. Keep the movable Windows title bar, tune reading size, collapse controls, and pin only when useful.

Setup

A calm ten-minute path

Authorize Twitch once, pick two languages, and verify one private translation. The public setup guide keeps every checkpoint in order.

Language focus

English + Japanese first

Translation, reading, and dictionary tools are designed around real English/Japanese streams.

Personality

Not a machine printout

Kaomoji, mood detection, and translation style presets, so the bot sounds like part of your channel.

Privacy

Your machine, your keys

Credentials are encrypted by the operating system, never left in plain config files. Local voices mean chat audio never leaves your PC.

Pricing

Free by default

Paid providers are upgrades, never requirements.

JobFree optionOptional upgrade
TranslationGoogle AI Studio free tierGoogle Cloud Translation
VoiceEdge / VOICEVOX / AivisSpeechPremium voices
AI helperGoogle AI Studio free tierAny OpenAI-compatible provider
Language detectionLocal, no API call
Status

What's here, and what's next

An honest list. Shipped means shipped and tested.

  • Chat translation with mixed-language routing, caching, and failover
  • Text-to-speech with per-language and per-viewer voices, and a pronunciation dictionary
  • AI conversation, grammar, and nuance help, with built-in spending limits
  • In-place focused chat view, an EN/JA-first dashboard, and profile transfer
  • Audio output-device selection, for routing voice into OBS
  • Offline Japanese and cached English dictionary lookups, with a local study notebook
  • Viewer profiles, greetings, and stream overlays
Requirements

What you need

Windows

A desktop app that lives in the system tray.

A Twitch account

Authorize once. A separate bot account is supported, and recommended if you post translations publicly.

Optional — a local voice engine

Edge works without an API key. Add free VOICEVOX or AivisSpeech for local Japanese voices.

Optional — an API key

A free-tier key improves translation quality and enables the AI commands.