Developer: CY KUO ・ Free ・ MIT open source

TIO · Windows desktop tool · User guide

Turn what is said in a meeting into text you can edit

See captions live while the meeting is happening, turn a recording you already have into a transcript with speakers and timestamps, follow a talk in another language with the translation running alongside it — and even listen to the translation directly, as if you were wearing interpreter headphones. All of it is just a double-click — you never type a command.

Quick start: three things

From unzipping the files to your first transcript takes about 15 minutes.

Don't have the files yet? Go to the GitHub download page and scroll down to "Assets": the Traditional Chinese edition's file name ends in _zh-TW.zip, the English edition's in _en.zip (don't click "Source code" — that is the source snapshot, not the install package; no GitHub account needed; current version V1.41). For an overview of the tool, see the TIO Voice Genie introduction page.

  1. Get yourself a Gemini API key (about 2 minutes) The tool itself charges nothing; what it does is send the audio to Google to be recognised. You need a "key" so Google knows whose account the cost goes to. Here's how ↓
  2. Double-click 3_安裝.bat Never installed Python? Doesn't matter, it takes care of that itself. The whole thing is double-clicks; no commands to type. Blocked by Windows and it won't run? Look here ↓
  3. Double-click "TIO語音精靈" on your desktop, then press 2 to try the built-in demo recording data\meeting_16k_mono.wav in the folder is a 47-second demo (two people speaking Chinese). Before you have a recording of your own, use it to see what the finished product looks like.

This is the screen you'll see when it opens

TIO語音精靈
════════════════════════════════════════

1  Live meeting captions     – see captions while the meeting runs
2  Recording to transcript   – turn an audio or video recording into text
3  Live bilingual captions   – source and translation at the same time (translates into Chinese, English or Japanese)
4  Transcript to bilingual   – whole file at once, far better quality
5  Rebuild a transcript      – redo from .json / fix speaker names, free
6  Live voice translation    – hear only the interpreter, not the original audio (interpreter mode)
9  API key settings          – change the key, check it works, clear the saved one
0  Close

Type a number and press Enter: 2

All you do is type one number and press Enter. After that it asks you one thing at a time — just answer as you go.

No shortcut on your desktop?

Some organisations' PCs don't let programs write to the desktop, and this makes no difference to using it. Just open the folder you unzipped and double-click 4_開始使用.bat — exactly the same result.

Installing

The files in the folder are numbered. Just work through them in order and you'll be fine.

FileWhen you use it
1_安裝說明This guide, in printable form
2_申請金鑰與儲值You have to do this the first time, about 10 minutes
3_安裝.batDouble-click it and it installs everything
4_開始使用.batOpens the menu. Normally you just double-click the "TIO語音精靈" shortcut on your desktop (it runs this file); double-click this one only if there's no desktop shortcut
5_使用說明How each feature works; look it up any time
6_診斷.batRun it when something goes wrong, then screenshot the window and send it in
7_解除安裝.batWhen you don't want it any more
8_刪不掉時救援.batOnly when the folder refuses to delete

What your PC needs

ItemNotes
Windows 10 / 11Right now it's Windows only — capturing "whatever the PC is playing" uses a Windows-only technology, so a Mac can't do it
Python 3.12 or newerFine if you don't have it: when the installer sees it's missing, it installs it for you, and it doesn't need administrator rights
An internet connectionIt talks to Google's servers, so it can't work offline
A Gemini API keyYou apply for your own — see the next section

ffmpeg and the Python packages are handled by the installer; you don't install anything yourself.

Installation steps

  1. Unzip it anywhere on your PCGet the zip from the download page and unblock it first (see below). C: drive, D: drive, the desktop — the program has no hard-coded paths. Don't run the files from inside the zip.
  2. Have your API key ready firstPaste it in during installation and the program first checks with Google that the key works; if Google says it doesn't work, it isn't saved, and the page at the end of installation says why. Not essential, though: you can leave that field blank. In either case, it will ask again the first time you actually use it — just paste it in once as the screen asks, no need to restart your PC; to change it later, press 9 in the menu.
  3. Double-click 3_安裝.batAn installer window opens and first lists "the things this will do to your PC". Nothing happens until you press "我同意,開始安裝" ("I agree, start installing").
  4. When it finishes, a "TIO語音精靈" shortcut appears on your desktopDouble-click it and you're ready.

Blocked by Windows: "Unblock" it first, then install

When a zip is downloaded from email, Teams or cloud storage, Windows quietly attaches a "this came from the internet" mark to it, and unzipping copies that mark onto the executable files inside — exactly the .bat files you double-click. So when you double-click 3_安裝.bat, a security warning may pop up, or it may simply be blocked. Your PC isn't broken, and the tool doesn't have a virus.

Spend 10 seconds unblocking it first and it won't be blocked. Pick whichever matches where you are now:

Not unzipped yet (the cleanest way)

  1. Right-click the downloaded zip file → Properties
  2. On the "Security:" line at the very bottom, tick Unblock
  3. Click OK
  4. Only then unzip it — after that, not a single warning will appear

Already unzipped (the drawing below shows this case)

  1. In the unzipped folder, right-click 3_安裝.bat → Properties
  2. Tick Unblock and click OK
  3. Double-click 3_安裝.bat. The installer's first step clears the mark from the other files as well, so after that, starting and uninstalling will never ask again
① Right-click → Properties. At the bottom, next to Security:, the Unblock box is not ticked yet
② Tick Unblock, then click OK. Apply works too, but you still need OK to close the window
A simplified drawing of the Windows 11 Properties window (English edition). The real window has more rows above this part.
If this happensWhat to do
You can't find the "Unblock" tick boxThat means the file isn't marked and won't be blocked — just double-click it
You'd already unzipped it, then went back and ticked "Unblock" on the zipThat doesn't help — the mark was copied onto the unzipped files long before. Use the right-hand one above instead (tick it on 3_安裝.bat), or delete the folder and unzip again
An "Open File - Security Warning" window pops upJust click Run. It only asks this once; as soon as the installer starts, it clears the mark
A blue "Windows protected your PC" screen appearsFirst click More info, then Run anyway
The warning has no way to proceed at all, and the message mentions Smart App ControlThis is Windows 11's protection feature running in enforcement mode. You can fix this yourself (tested on a laptop, 2026-09-19): delete the folder you already unzipped → right-click the zip → Properties → tick Unblock → OK → unzip it again, then double-click 3_安裝.bat
The warning has no way to proceed at all, and the message mentions an administrator or Group PolicyThis PC is locked down by your organisation's IT policy, and you can't get around it yourself. Take a screenshot of that window and send it, together with the 6_診斷.bat screen, to your organisation's IT staff
We don't recommend running it as administrator instead

It looks quicker, but it isn't: you get an extra, scarier confirmation window, which on an organisation-managed PC you usually can't get past at all; and if you type in someone else's administrator account and password, the key and the desktop shortcut are saved under that account, so when you sign in as yourself you can't find them. Just unblock it as described above.

A new version has arrived — how do I update?

Unzip the new zip into the same place, over the old one, then double-click 3_安裝.bat again. Your transcripts and caption files are on the desktop and won't be touched. It's best to unblock the new zip first, too, before you unzip it.

Even simpler: delete the whole old folder before you unzip the new one — same result, and it's the cleanest way.

Warm it up before the meeting (strongly recommended — saves about 30 seconds)

Before the meeting, double-click 6_診斷.bat, look it over, close it, and then start the tool. If it hasn't been used for a while and you go straight into feature 1, 3 or 6, you'll wait 30–45 seconds after pressing Enter (it's loading the large speech components; the screen shows the progress of each one, so it hasn't frozen). After running 6_診斷.bat first, it takes about 3 seconds (tested on one laptop, 2026-09-21).

As a bonus, it shows whether Windows' Smart App Control is blocking anything right now (those lines say BLOCKED instead of OK). The warm-up only lasts a while (it still worked 8 minutes later in testing), so do it shortly before the meeting, not the day before.

It says "certificate error" during installation, or packages won't install

If the error message mentions SSLError or certificate, it means your company or campus firewall is intercepting the connection. You didn't do anything wrong, and the program isn't broken.

The installer automatically retries using the Windows certificate store. If that still doesn't work, the quickest fix is to run the installation once over your phone's hotspot: connect the computer's Wi-Fi to the phone's hotspot (unplug any network cable first), run 3_安裝.bat again, and switch back to the office network when it's done — nothing is installed on the phone. If the office network only blocks the package downloads, you can use it normally once installation is done; if the screen later shows "憑證被攔截" ("certificate intercepted") while you're using it, the connection to Google is blocked too, and IT will need to allow it (for installation: pypi.org and files.pythonhosted.org; during use: generativelanguage.googleapis.com).

Getting a key and turning on billing

You have to do this before you use it for the first time. The key takes 2 minutes; setting up billing takes 5–8.

  1. Open aistudio.google.com/apikeySign in with your own Google account. The first time, it asks you to accept the terms of service.
  2. Click "Create API key"It produces a long string → click copy. Newly issued keys begin with AQ. and are about 53 characters; older keys begin with AIza and are about 39 characters. Both work.
  3. Find the project the key belongs to and click "Set up Billing" on that rowFollow the screen to create a Cloud Billing account (you'll need a credit card).
  4. New accounts are prepaid by default, so top up the US$5 minimumOnce you're done, that row changes from Free to Paid. US$5 covers roughly 8–10 hours of the features that output text, such as transcripts, live captions and live bilingual captions in "accurate" mode, but only about 2.3 hours of the features that output speech (live bilingual captions in "fast" mode, and live voice translation).
If you're going to record real meetings, you must turn on the paid tier

This isn't a "recommendation", it's a precondition. The free tier genuinely doesn't charge you, but the meeting audio you send is taken by Google to improve its products, and human reviewers may read it — that is written into the terms of service.

University meetings deal with personnel, budgets, review comments and students' personal data. Anything of that kind should not go through the free tier.

To change, check or clear the key later: press 9 in the menu

Option 9 in the menu, "API key settings", first tells you which key is in use (showing only the first and last few characters), then lets you choose:

1 switch to a new key 2 check whether the current key works (it checks with Google, at no cost) 3 clear the key saved on this PC

When you paste the key, the screen shows a row of * — that's deliberate, so the key never sits on the screen in plain text. After you press Enter it shows a confirmation like AQ.Ab…xyz9 (53 characters) that reveals only the start and the end, so you can check you pasted the right thing.

Three things people trip over

What to watchWhy
When the balance hits zero, every key stops at onceAll the keys under the same billing account stop together. If that happens halfway through a meeting, the captions simply stop. Turn on automatic top-up and set a monthly cap.
The daily quota resets at midnight US Pacific timeThat works out at about 3–4 pm Taiwan time, not Taiwan midnight. Use up the quota in the morning and you wait until that afternoon for it to come back.
The quota belongs to the "project", not to the keyHand out several keys from one project to different people and everyone shares one quota, so you crowd each other out. Each person should create their own project under their own Google account.
The key is as good as the password to your Google account

Don't give it to anyone and don't paste it into a group chat. If it does slip out, go to AI Studio immediately, create a new one and disable the old one, then open the TIO menu and press 9 → 1 to paste in the new one. When it asks "要記住這組金鑰,下次不用再貼嗎?" ("Remember this key so you don't have to paste it next time?"), press 1 "要" ("Yes"). Otherwise, the next time you open the program it will go back to the old key saved on your PC.

Before the PC changes hands, goes back to your organisation or goes in for repair, please remove the key: press 9 → 3 in the menu to clear it, or run 7_解除安裝.bat once.

The six features

Find the one that matches your situation, then follow it. If you're not sure, number 2 is the one people use most.

During the meeting 1 Live captions One language, as it runs 3 Live bilingual Foreign talk, both shown 6 Voice translation Foreign talk, by ear After the meeting 2 File to transcript Speakers and timestamps 4 Bilingual doc For overseas guests 5 Rebuild (rescue) Recorded file
The .json that feature 2 produces can go into feature 4 to be translated (no re-transcribing — you only pay for the translation), or be rebuilt with feature 5 (no cost at all)

1 Live meeting captions

The meeting is happening now and you want captions as it goes

  1. Press 1 → Enter
  2. It asks which sound to capture:
    1 Online meeting (Teams/Meet/Zoom) — captures what comes out of the PC's speakers, so you get everything the other side says. Strictly speaking, it records Windows' default playback device, so the meeting app's speaker must be set to the same device (see the note below)
    2 In-person meeting — captures the microphone (two extra questions follow; see below)
    3 Both — you're in an online meeting and also want your own voice picked up (it also asks which microphone to use)
  3. It asks for proper nouns → type the terms that will come up with a single space between them, like "深耕計畫 研發處 會計室" (Higher Education Sprout Project, Office of Research and Development, Accounting Office). This step really matters — leave it blank and it hears 會計室 (Accounting Office) as 會計師 (accountant)
  4. It asks what this meeting is called → type anything, or just press Enter
  5. Press Enter to start
Chose the microphone? It asks two more questions

Which microphone? (only asked if the PC has two or more) 1 (or just Enter) = let the program choose: it follows Windows' default, and switches over if you unplug or plug in a headset partway through. Any other number = stick with that one microphone the whole time: if it's unplugged the captions stop, and it reconnects by itself when you plug it back in. If you chose "Both" and fixed a microphone, unplugging the headset only stops the microphone side; whatever the PC is playing still gets captioned.

Is there sound from loudspeakers in the room that also needs capturing? (only asked for 2 In-person meeting) Normally press 1. Press 2 only if you need to capture what comes out of loudspeakers: full capture, bypassing Windows' noise suppression — but there's no guarantee it will pick them up; see hybrid meetings.

For a meeting with several people, don't use a headset (it's designed to sit right by one person's mouth): use a conference microphone if you have one, otherwise the laptop's built-in microphone. About 6 seconds after you start, a "🎚 收音檢查" ("sound check") appears on screen, showing whether sound is actually reaching the program — here's how to read it.

[00:12] Right, let's begin today's Office of Research and Development meeting.
[00:19] First item is the interim report for the Higher Education Sprout Project.
[00:24] Let me add something here — the deadline for clearing exp

Grey text = still being recognised; it keeps jumping and correcting itself, and that's normal. White text = locked in. Each sentence locks as soon as it's finished, so you don't have to pause.

How do I stop when the meeting ends? Press Ctrl + C in that black window (hold Ctrl down, then press C).

Files are saved to your desktop, two at a time: .md for people to read and paste straight into Word; .txt as a backup, so the captions survive even if the PC crashes.

Live captions can't tell who is speaking

That's a current Google limitation. If you need it to say "the Director said" or "the Secretary said", use feature 2 below.

Meeting in Teams? Set its speaker to Windows' default device by hand

When you choose 1 Online meeting, the program records Windows' default playback device, so the meeting app's speaker must be set to the same device. The new Teams has no option to follow the system default (tested on one laptop, 2026-09-19): go into Teams' device settings and pick the device that is currently Windows' default by hand. If you pick a different one, the whole meeting will be recorded without the other side's voices. The "聲音來源:…" ("audio source: …") line on screen at the start shows which device is being recorded.

2 Recording to transcriptmost used

The meeting is already recorded and you want text with speakers and timestamps

  1. Press 2 → Enter
  2. A file picker opens → find your recording, audio or video (mp3, m4a, wav, or video files such as mp4 and webm (videos recorded in a browser) all work)
  3. It asks for proper nouns → again separated by single spaces, like "深耕計畫 研發處 會計室 教學組長" (Higher Education Sprout Project, Office of Research and Development, Accounting Office, Teaching Section Chief)
  4. It asks for speaker names → type them in the order they first speak, e.g. "Chair Wang, Ms Li" (separate the names with commas, so a name can contain spaces, such as a full name; if no name contains a space, spaces work too). If you don't know, just press Enter and they become 講者1 / 講者2 ("Speaker 1" / "Speaker 2"). Recordings over 28 minutes are split into segments, and the names only apply to segment 1 (see below)
  5. Wait for it to finish. An hour of audio takes about 1–3 minutes.

When it's done it asks whether you want to open the file; press 1 and it opens automatically. The file is on your desktop and looks like this:

**[00:00:00] Director**

Right, let's begin today's Office of Research and Development meeting. First item is the interim report for the Higher Education Sprout Project.

**[00:00:09] Secretary**

Let me add something here — the deadline for clearing expenses has already been pushed back to 31 October.
A heading ends with 〔補轉〕 ("re-transcribed")?

That sentence was missed when the text was tidied up, so the program cut that short stretch out of the original audio and transcribed it again on its own to put it back (with the bundled demo file, the Secretary's line may get this). The file header also gains a line saying how many there are. The speaker and time come from the first recognition pass, so it's worth checking them against the recording. If a line can't be recovered, the header says "可能不完整" ("may be incomplete") and lists the time range.

Someone speaks English in a Chinese meeting (a visiting guest's address, say)

The English stays in the transcript as spoken. But the speaker-separation pass often fails to hear English in the middle of a Chinese meeting, so the speaker and time for that stretch may be wrong (it often gets merged into the previous speaker's paragraph). The header will say "這 N 秒的錄音裡有聲音,逐字稿卻沒有標到這段時間" ("there's sound in these N seconds of the recording, but the transcript doesn't cover that time") — listen to that part of the recording. (Tested with a home-made meeting on 2026-09-25: the old version quietly dropped the whole English passage and said nothing in the header.)

Proper nouns really do help

Tested: leave them blank and it hears 會計室 (Accounting Office) as 會計師 (accountant), and writes 深耕計畫 as 深耕計劃. Fill them in and it corrects itself automatically. A good standing list: 深耕計畫 研發處 教務處 會計室 教學組長 核銷 期中報告

Recordings longer than 28 minutes are split automatically

Google's official documentation states: with speaker separation and timestamps switched on, the model only processes 30 minutes of audio at a time. So the program splits long recordings into segments of 28 minutes or less, leaving a little margin.

But shorter segments don't mean nothing can go wrong. Testing with long recordings turned up two problems: a whole stretch missing from the middle of a segment (seen in 28-minute segments), or the text flooded with the same handful of sentences, over and over (seen in both 45-minute and 28-minute segments). So once it finishes, the program checks six things automatically: whether a whole stretch is missing from the middle of a segment, whether the output of the two recognition passes disagrees badly, whether the text is heavily repeated, whether something the first pass heard has gone missing from the tidied-up text (missing lines are first re-transcribed on their own and marked 〔補轉〕; only the ones that can't be recovered are listed), stretches where the recording has sound but the transcript doesn't cover that time (reported when there is sound for more than 10 seconds in a row, or at least 6 seconds of sound in total within any 30 seconds of the uncovered time; music and applause get listed too — a quick listen tells you), and whether the times of the paragraphs overlap or go backwards (when two sets of content are placed on the same stretch of time, speakers and times around there may not match). If there's a problem, the file header and the screen name the segment and the time range, and tell you which segment to cut out and run again on its own.

No warning doesn't guarantee there's no problem. Known blind spots: very short gaps (under 10 seconds in a row and under 6 seconds in total within any 30 seconds), very quiet speech (close to the background noise), and a whole stretch covered by one very long segment with a normal amount of text (a segment over 1 minute with almost no text still has its middle checked), and a recording that is noisy from start to finish, with speech hardly louder than the background (for example background music or a broadcast running throughout; when the program judges that this check can't see well, the header adds an ℹ️ line saying "This recording is almost never quiet…", which is only a note, not a gap). For important meetings, spot-check anyway.

Each segment works out its speakers on its own, so it can't tell whether a speaker in one segment is the same person as in another: from segment 2 onwards, speakers are written like "第2段講者1" ("segment 2, speaker 1"). The speaker names you type before transcribing apply to segment 1 only (the old version applied them by number to every segment, so segment 2 could end up with the wrong names). To make the names consistent, use feature 5: it shows each speaker's first line, and you can give the same person the same name in different segments.

Long transcripts made before 2026-09-16 should be re-run

The old version had none of the completeness checks described above, so when something went wrong it said nothing at all. A real case: in a 2 hour 57 minute meeting, one segment lost 14 minutes from the middle entirely, and in another about nine tenths of the text was the same handful of sentences repeating — neither produced any warning.

Re-running is the same as the first time: press 2 and pick the same recording, then check the file header for warnings. ⚠️ Note that shorter segments do not fix these two problems (28-minute segments have run into both) — the checks are what catch them, and even the checks have blind spots, so spot-check anything that matters.

3 Live bilingual captions

Following a talk in another language, or putting foreign-language captions on a Chinese talk

  1. Press 3 → Enter
  2. It asks where the sound comes from: 1 whatever the PC is playing (YouTube, an online seminar)/2 the microphone (a visiting speaker giving a talk in the room)/3 both (a hybrid meeting, in person + online)/4 a file you've already saved. With 2 or 3 it also asks which microphone to use, and with 2 whether there's loudspeaker sound in the room to capture (normally press 1) — the same as feature 1
  3. It asks "fast, or accurate?"
    1 Accurate (recommended): waits for the whole sentence before translating, about 2–3 seconds behind, normal word order
    2 Fast: translates as it listens, about 1 second behind, but the word order occasionally jams up
  4. Which language to translate into → 1 Traditional Chinese/2 Japanese/3 English (no need to set the speaker's language first; the program works it out by itself)
[00:02] Thank you for joining today's session on research assessment.
    謝謝大家參加今天的研究評估會議。

[00:22] First, a seed funding scheme for cross-disciplinary projects.
    第一,建立一個種子基金計畫,用於跨學科專案。

What's the difference between "fast" and "accurate"? Real output for the same sentence

Fast (translates as it listens)Accurate (waits for the sentence)
TranslationOur university has increased international collaboration rate 15% this year.Our university's international collaboration rate rose by 15% this year.
Delayabout 1 secondabout 2–3 seconds

The word-order problem in "fast" mode isn't caused by showing the text too early. The model is translating as it listens and starts before it has heard the second half of the sentence. If you want the best quality and can afford to wait, use feature 4 below.

With "whatever the PC is playing", it records every sound playing on Windows' default playback device

Close any unrelated videos or music first, or they'll be mixed in. To avoid the problem completely, use option 4 and read the audio or video file directly.

In an online meeting, the meeting app's speaker must be set to this same device too (in the new Teams you have to pick it by hand; see feature 1). The "聲音來源:…" ("audio source: …") line on screen at the start shows which device is being recorded.

Someone speaking Chinese into the microphone, translated into English? Choose "accurate"

Tested on a laptop on 2026-09-19: in this situation "fast" mode is very unreliable. Sometimes a whole passage gets no captions at all: in the tests, only 0%–19% of what was said showed up in the captions, while "accurate" mode with the same microphone got 78%–97% (very few test runs, so treat these as rough figures). Reading the built-in sample file, or capturing a news broadcast playing on the PC, works normally; but saving the microphone recording to a file and reading that is just as unreliable. Feature 6 uses "fast" mode, so the same applies there.

In "fast" mode, a line of source text only appears after a sentence-ending punctuation mark such as a full stop or question mark, a 2.5-second pause, or 90 characters. When people speak Chinese, the transcribed sentences mostly use commas, so during continuous speech the source text can appear 20 seconds or more late. That's down to how it's displayed, not the model being slow.

4 Transcript to bilingualuse this for documents overseas guests will read

Chinese minutes that an international partner needs to read, or a recording of an overseas conference that needs translating into Chinese

Feature 3, live captionsFeature 4, this one
When to use itWatching as you listenProducing a document afterwards
How it translatesAs it listens, like a live interpreterThe whole file together, so it can see the context
QualityWord order occasionally oddMuch better
  1. Press 4 → pick a file (a recording, a video, a transcript .json or subtitles .srt all work)
  2. Choose which language to translate into
  3. Fixed translations (strongly recommended): write them as 深耕計畫=Higher Education Sprout Project, with a semicolon ; between pairs. That keeps proper nouns consistent right through the document
  4. What this document is about (optional): for example "a Higher Education Sprout Project meeting at the Office of Research and Development" — the model then translates more aptly
  5. Speaker names (optional): fill them in and the finished document says "Director" instead of 講者1 ("Speaker 1"); when translating into English, speakers you haven't named are written as Speaker 1, and in Japanese as 話者1. If you pick a .json, it first prints each speaker's first line so you can match names to voices; if you already filled in names for that transcript in feature 2, just press Enter to keep them

You get four files (on the desktop, all sharing the same filename prefix):

FileWhat it's for
_對照.mdA paragraph of source, then a paragraph of translation — for people to read
_對照表.mdA table (time/speaker/source/translation), easy to paste into Word or Excel
_en.mdThe clean translation-only version (into Chinese it's _zh-TW.md, into Japanese _ja.md)
_對照.jsonMachine format, useful later if you want to rebuild the layout or translate into another language

5 Rebuild a transcriptyour lifeline when things go wrong

Runs entirely on your own PC: no network, no API call, no cost whatsoever, and it takes seconds

Every time feature 2 finishes, alongside the .md that people read it leaves a .json with the same name. That .json holds the raw data, and this feature rebuilds the .md from it.

SituationWithout this featureWith it
You transcribe a three-hour recording and it crashes halfwayRun the whole thing again, paying once more in money and timePick the .partial.json next to it and rescue the part that was already done
The speaker names went in the wrong orderRun the whole thing againType them again — sorted in 10 seconds
The .md was deleted by mistakeRun the whole thing againJust rebuild it

It first tells you how many segments and how many speakers the file has, and it also prints the first line each speaker says, so you can work out who is who. If you just press Enter when asked for speaker names, any names you filled in back in feature 2 are kept; otherwise they're 講者1, 講者2 ("Speaker 1", "Speaker 2").

Recordings longer than 28 minutes: speakers from segment 2 on are numbered separately

Feature 2 split the recording into several segments (each 28 minutes or less) and recognised them separately. Each segment works out its own speakers, and from segment 2 onwards they're listed like "第2段講者1" ("segment 2, speaker 1"), kept apart from segment 1. The first lines it prints help you tell people apart: for the same person in different segments, type the same name.

In long transcripts made before 2026-09-25, "Speaker 1" in one segment isn't guaranteed to be the same person as "Speaker 1" in another, and there's no way to tell them apart here.

6 Live voice translationlike wearing interpreter headphones

A visiting speaker's talk, an international online meeting, a foreign-language video with no subtitles — you'd rather not keep staring at captions, and just want to hear it in Chinese

Bilingual captions still run on screen as usual (grey is the source, blue is the translation), and everything is saved when you finish. The voice is an extra, not a replacement for the captions. You can also go the other way and translate into Japanese or English (for example, listening to a Chinese talk and wanting an English voice; there's no need to set the speaker's language first; the program works it out by itself).

No 6 on your menu?

This feature only exists in the LVT edition (the edition offered for download now). If your menu stops at 5, what you have is the old original edition — download it again from the download page.

First, one thing to understand: why you choose "two routes"

When you choose whatever the PC is playing (Teams/Meet/Zoom/YouTube) as the sound source, the program records whatever Windows' default playback device is playing right now. So "I don't want to hear the original audio" can't be solved by muting — mute it, and the program can't record it either.

The only way is to send the two sounds out through two different outputs: the original audio goes to an output you can't hear (the program can still record it), and the interpreter's voice goes to the one you can hear. That way you only hear the translation, and the two sounds never overlap; the interpreter's voice also can't be recorded back in, which would leave the model translating what it has just said itself.

Meeting audio Teams · Zoom · YouTube ① Original audio You can't hear it e.g. unplugged digital output, virtual cable, headphones plugged in but not worn TIO records → Google interprets about 1–2 seconds behind ② Interpreter You can hear it e.g. headphones, speakers The program records here You only hear ② The two never overlap
When it starts, the program automatically switches Windows' sound output to ①, and switches it back automatically when it ends. The program can't change the meeting app's speaker setting — see the note below

With the equipment I have, what do I pick for each route?

Your situation① Original-audio route (you can't hear it)② Interpreter route (you can hear it)
You want to hear the interpreter through headphones (closest to interpreter headphones)An output that makes no sound: a digital (optical) output with nothing plugged in, HDMI to a monitor that doesn't play sound, or a virtual audio cableHeadphones (worn)
You want to hear the interpreter through speakersHeadphones (plugged in, but not worn)Speakers
The PC has a virtual audio cable installed (for example the free VB-CABLE)The virtual audio cable (it never makes a sound anyway, so it's the most reliable)Speakers or headphones, either is fine
The PC has only one sound outputThis mode can't be used, and the program tells you so straight away. Plugging in headphones usually gives you a second route (headphones as ①, speakers as ②, and don't wear the headphones): on 2026-09-19, wired headphones worked on one laptop; Bluetooth headphones haven't been tested yet. On some PCs the speakers and headphones are the same output, so plugging them in adds nothing. Plug them in, go back to the menu and press 6 again, and if the list has one more entry, you can use it. You can also install a virtual audio cable (see the row above), or use "microphone" or "audio/video file" as the sound source instead; those two don't have this restriction
The program says "查不到可以用的播放裝置" ("no usable playback device found")Possibly no speakers or headphones are connected, or the sound system isn't responding at that moment. Connect them, press Enter to go back to the menu and press 6 again; if that still doesn't work, close the menu window and open it again

Not sure which one you can't hear? That's fine: once you've chosen, the program plays one sound on each route so you can listen. If you got it wrong you can choose again on the spot, rather than finding out when the meeting starts.

How to use it

  1. Press 6 → Enter
  2. Where the sound comes from: 1 whatever the PC is playing (Teams/Meet/Zoom/YouTube)/2 the microphone (a visiting speaker giving a talk in the room)/3 a file you've already saved. With 2, if the PC has two or more microphones, it also asks which microphone to use once you've chosen where to hear the interpreter (same as feature 1)
  3. If you choose 1, set the two routes in turn: first choose ① which output the original audio goes to (the one you can't hear), then ② where you'll hear the interpreter (the one you can hear). The names in the list are the names in Windows' sound settings, for example "Speakers", "Headphones", "Digital Output"
  4. Test: the program plays one sound on each route. You should not hear the first, and you should hear the second. If that's right, press 1; if not, press 2 to choose both routes again; if you didn't catch it, press 3 to play them again
  5. If you choose 2 microphone or 3 file, it asks instead where you want to hear the interpreter: pick the headphones you're wearing (the list marks the current default). The program plays one test sound and asks whether you heard it where you wanted: press 1 for yes, or 2 to choose again. If the PC has only one usable playback device, it doesn't ask which one: the screen says in yellow that the interpreter will come out of that device, and that to listen on headphones you should plug them in first and choose 6 again from the menu; with the microphone as the source, it also asks whether to carry on (1 continue/0 back, to go and plug in headphones first). If the screen says in yellow "查不到播放裝置清單" ("couldn't get the list of playback devices"), it doesn't ask either, and the interpreter comes out of Windows' default playback device
  6. Which language to translate into: 1 Traditional Chinese (Taiwan)/2 Japanese/3 English (no need to set the speaker's language first; the program works it out by itself)
  7. Give this session a name (just press Enter to use today's date) → press Enter to start
This mode needs two routes. Please set each one:

① Which output should the original audio (the meeting sound) go to?
You will NOT hear this one; it's only used for recording. Pick an output with no speakers or headphones attached,
such as a digital output with nothing plugged in, or headphones that are plugged in but you won't wear.
1 Speakers
2 Headphones
3 Digital Output
0 Back
3

② Where do you want to hear the interpreter? (You DO need to hear this one)
1 Speakers
2 Headphones
0 Choose again
2

[Test] One sound on each route, to check they aren't swapped:
 ① Original-audio route "Digital Output"… you should NOT hear this one
 ② Interpreter route "Headphones"… you SHOULD hear this one

1 Right: didn't hear the first, heard the second
2 Wrong, choose both routes again
3 Didn't catch it, play again
0 Back

Is that right? 1

The device names on screen are only examples; on your PC you'll see the names of your own devices. The list for ② never includes the one you chose for ①, and it also leaves out any route that is actually the same playback device as ①. If that leaves nothing, the program asks you to pick a different original-audio route.

If you choose 2 microphone, the screen looks like this (with 3 file it's the same, just without the "please pick the headphones you're wearing" reminder):

Where do you want to hear the interpreter?
Please pick the headphones you're wearing. If you pick the speakers, the microphone will pick the interpreter up again,
and the model keeps translating what it said itself, over and over without stopping — and you are charged the whole time.


1 Speakers (current default)
2 Headphones
0 Back

2
 Test "Headphones"… you should hear one sound

1 Yes
2 No, choose again
0 Back

Did you hear it where you wanted? 1
Sound sourceWhat to watch for
Whatever the PC is playingYou set two routes (see above), and they're tested once you've chosen. Close any unrelated videos or music before you start — it records every sound playing on Windows' default playback device at the time (once it starts, that's route ①)
MicrophonePlease wear headphones, and choose those headphones for the interpreter in the menu (it plays one test sound once you've chosen; if the PC has only one usable playback device, it doesn't ask which one, but reminds you to plug in headphones and asks whether to carry on). If you pick the speakers, the microphone picks the interpreter up again and the model keeps translating what it said itself, over and over without stopping, while you are charged the whole time — the program can't prevent that
A file you've already savedThis problem doesn't arise. The file is read directly, so the original audio is never played at all, and all you hear is the translation anyway. It still asks where to play the interpreter (unless there's only one playback device)
Teams, Zoom and Webex speakers need setting separately — and setting back afterwards

Meeting apps have their own speaker settings, which don't necessarily follow Windows.

New Teams: before you start, always go into Teams' device settings and set the speaker to route ①. Its speaker list has no option to follow the system default, so it doesn't follow the program's switch (tested 2026-09-19). If you don't set it, the original audio never reaches ①, nothing is captured, and there's no translation.

Zoom/Webex: if the routes are set but you can still hear the original audio, go into that app's audio settings and set the speaker to route ① directly.

Google Meet and YouTube in Chrome follow the system, so you don't need to do anything.

When you finish (or stop partway), remember to set it back. The program switches Windows back to your original speakers, but it can't change the meeting app. If you set the meeting app's speaker to ①, change it back yourself to the one you normally listen on, or you won't hear anything in your next meeting.

Don't turn the volume of route ① down to 0: on some PCs, the captured volume drops along with it. In testing, 8% still translated normally, so there's no need to turn it up; this is just a precaution.

How do I stop it? Press Ctrl + C in the black window. The screen first says "收到 Ctrl+C,正在收尾" ("Ctrl+C received, wrapping up"), and it takes about 3–5 seconds to save the files before it ends. If you chose "whatever the PC is playing", the sound output switches back to your original speakers automatically: the screen says "聲音輸出已改回「…」" ("sound output switched back to …") and reminds you to switch the meeting app's speaker back too. If you had set Windows' "default communication device" separately, that is switched back as well.

If you chose "whatever the PC is playing" and it can't switch back, the screen says in yellow "沒辦法自動把聲音輸出改回原本的喇叭" ("couldn't automatically switch the sound output back to your original speakers"): click the speaker icon at the bottom right of the taskbar and pick your original speakers yourself; the program will also try again the next time you open it. If it crashes or is force-closed, it switches back automatically when you return to the menu (or next time you open the menu).

Things you'll run into

What happensWhy
The voice is 1–2 seconds behind the speakerSimultaneous interpretation always lags a little behind the speaker
When the speaker talks too fast, the voice skips a few sentencesThe program would rather skip than let your ears fall further and further behind. The captions are complete — just read the saved file afterwards; at the end, the screen tells you how many seconds were skipped
The voice flips between male and female, or sounds different after a long pauseA limitation of the model itself, which Google's official documentation also states: the voice may shift after a long pause, and it may assign the wrong gender based on how the speech starts
The voice may cut off mid-sentence every 8 minutesThe program switches to a new connection every 8 minutes; the captions aren't affected
When a speaker talks Chinese into the microphone and you translate into English, it's very unreliable, and sometimes a whole passage doesn't get translatedIt's the same model as feature 3's "fast" mode — see feature 3. In this situation, switching to feature 3, choosing "accurate" and reading the captions is more reliable

Feature 6 always uses "fast" mode (Google's simultaneous-interpretation model), because only that mode has a voice to play. It costs about NT$71 an hour — see Cost.

Setting up a hybrid meeting (in person + online)

The usual arrangement is one PC running the online meeting and a second one connected to the projector showing captions. There's really only one rule: take the online participants' voices straight from the PC.

A microphone barely picks up what comes out of a loudspeaker

The earlier version of this guide suggested "picking up the meeting-room loudspeakers with the caption PC's microphone". Testing on 2026-09-22 showed that doesn't hold up: Windows' sound processing treats loudspeaker sound as noise and removes it. A meeting recording played through a laptop's speakers produced 0 recognised sentences; a phone speaker 2 metres away, also 0. The same built-in laptop microphone recognised a real person speaking 3 metres away without trouble.

So don't let the online audio come out of a loudspeaker and then try to pick it up again with a microphone. Turning the loudspeakers up doesn't help either — the sound is being removed at the microphone end.

Option 1: the caption PC joins the online meeting too, and you choose "Both"recommended

  1. Have the caption PC join the same meeting in a browser or the meeting app, and mute its own microphone in the meeting app (so the room's sound isn't sent to the online meeting a second time)
  2. In TIO choose 3 Both: the online participants' voices come straight from the PC (digitally, never through the air), and the people in the room are picked up by the microphone
  3. To project the captions, extend this PC's screen to the projector
!If "the same sentence appears twice", the loudspeaker sound is being picked up by the microphone again: use headphones, or turn the loudspeaker down

Option 2: run a cable from the room's sound system (the most reliable, but you need the equipment)

  1. The meeting-room mixer or conference unit's recording output (REC OUT, AUX, PROGRAM OUT) → a USB audio interface → set it as the default microphone in Windows
  2. In TIO choose 2 microphone
!Take the feed from before echo cancellation, and don't plug it into the laptop's headset jack (a line-level signal is too strong and will distort). If in doubt, ask the room's AV staff to help

Option 3: all you can do is mic the loudspeakers (a fallback, no guarantees)

  1. Choose 2 microphone, and when it asks whether there's loudspeaker sound in the room to capture, choose 2 (full capture: bypasses Windows' noise suppression)
!Tested: a meeting recording played through laptop speakers gave 0 sentences with normal capture → 4 with full capture (the original has 7); a small phone speaker 2 metres away gave 0 either way. Only a fallback — always do a dry run in the room before the real meeting

Which microphone for the people in the room

Once you've started, don't unplug or plug in the headset

If the headset plug works loose or is pulled out, the program reconnects automatically: the screen shows "⚠ 麥克風中斷了…" ("⚠ microphone disconnected…") → "✓ 麥克風接回來了" ("✓ microphone reconnected"), but there are no captions for the seconds it was disconnected. Computer audio (online meetings, videos) also reconnects automatically: unplugging or plugging in the headset can make the computer-audio feed drop briefly even if the speakers themselves weren't unplugged; the screen shows "⚠ 抓不到電腦播出的聲音了…" ("⚠ computer audio can no longer be captured…"); the computer audio comes back after about 1 second, and once it is stable the screen says "✓ 電腦聲音接回來了" ("✓ computer audio reconnected"), usually about 1 second later; in features 1 and 3, if the Windows default playback device changed too, it says "✓ 電腦聲音改從這顆錄:…" ("✓ computer audio is now recorded from: …"). Up to V1.38, when the recording dropped like this without the speakers being unplugged, it did not reconnect by itself; you had to press Ctrl + C and start again. In feature 6 the interpreter voice also reconnects automatically: the screen shows "⚠ 口譯語音斷了…" ("⚠ interpreter voice cut out…") → "✓ 口譯語音接回來了" ("✓ interpreter voice reconnected"). If the interpreter voice plays through the speakers, it cuts out briefly, for at most about 2–3 seconds (plugging or unplugging the headset does this even though the speakers themselves weren't unplugged); if it plays through the headphones, it waits until they are plugged back in and comes back about 1 second later. To change headset or speakers, the safest way is to press Ctrl + C to stop, then start again (the captions are saved as two files).

Reading the "🎚 收音檢查" (sound check) on screen

It appears once, about 6 seconds after you start, and tells you whether sound is reaching the program, and whether there will be captions:

🎚 收音檢查(聲音有沒有進到程式裡)
  麥克風 :▮▮▮▮▮▯▯▯ 有收到聲音(-45 dB,字幕出得來)
  電腦聲音:▯▯▯▯▯▯▯▯ 電腦現在幾乎沒有在播(-95 dB,沒有聲音就不會有字幕)

In English: "Sound check (is sound reaching the program)" — Microphone: "sound received (-45 dB, captions will come through)"; PC audio: "the PC is hardly playing anything right now (-95 dB, no sound means no captions)".

What you seeWhat it meansWhat to do
有收到聲音 (sound received)Loud enough to be recognisedNothing
聲音偏小 (sound is weak)Captions may miss words or be inaccurateMicrophone: move it closer to the speaker, or use another microphone; PC audio: turn the playback volume up (see below)
幾乎沒有聲音 (almost no sound)There won't be any captionsCheck the microphone, and whether the headset plug has worked loose
電腦現在幾乎沒有在播 (the PC is hardly playing anything)The PC isn't playing sound (the online meeting isn't on, or the sound is going to another speaker)Make sure the online meeting's sound is playing from this PC
沒有收到資料 (no data received)The device may have been unpluggedPlug it back in; the program reconnects automatically
Always do a dry run before the real meeting

Where to put the microphone is not something you can work out on paper — you have to test it in the room. In the meeting room you'll actually use, on the PC and microphone you'll actually use, grab a colleague or two (one speaking in the room, one joining online) and run the captions for ten minutes. That's enough.

Four things to checkWhat to do if it fails
Are the people in the room being recognisedMove the microphone towards whoever is speaking, or switch to a USB conference microphone; don't use a headset lying on the table
Are the online participants being recognisedSwitch to option 1 (the caption PC joins the meeting too and you choose "Both"). Turning up the loudspeakers doesn't help
Does the same sentence appear twiceThat's echo — use headphones on the caption PC, or turn its loudspeaker down
Is the caption text big enoughIn the caption window, press Ctrl + + to enlarge it (you can press it repeatedly) and Ctrl + - to shrink it. As a rule of thumb, the character height in millimetres should be about 9 × the distance in metres to the furthest seat

While you're at it, prepare the proper nouns you use often (unit names, project names, the titles of regular attendees) so you can type them straight in at the real meeting — it makes a big difference to accuracy. And remember to warm it up before the meeting.

What it costs

The tool itself is free. The charges come from Google, worked out by usage and billed to your own Google account.

~NT$20Transcribing / per hour
~NT$17Live captions / per hour
~NT$18Live bilingual · accurate / hr
~NT$71Live bilingual · fast & live voice translation / hr
~NT$16Transcript to bilingual / per hour of transcript
NT$0Rebuild (no network)

Amounts are in New Taiwan dollars, converted at 1 USD = 32 TWD. A US$5 top-up (about NT$160) covers roughly 8–10 hours of the text-output features (①, ②, ③ accurate, ④), but only about 2.3 hours of the speech-output features (③ fast, ⑥). For ten two-hour meetings a month, budget around US$15 if you only use the text features, or around US$45 if you use live voice translation throughout.

🔴 The "fast" mode of live bilingual captions costs about 4× the "accurate" mode. Fast mode uses the simultaneous-interpretation model, whose output is translated speech, and speech output is priced 8× higher than text. Accurate mode runs text-only transcription plus translation, so it is cheaper. Pick deliberately. Feature 6, live voice translation, uses that same fast-mode connection, so it is also about NT$71.

Which model each feature uses, and what it costs

The tool itself is free. What you pay is Google API usage, billed to your own Google account. Unit prices below are taken verbatim from Google's official pricing page (checked 2026-09-18; gemini-3.5-flash (② alignment and ④) checked 2026-09-19). The per-hour column is mostly converted from the official per-minute prices; the translation part of ③ accurate is an estimate (an hour of talk is only a small amount of text, so its share is under 5%), ②'s alignment was measured on short recordings and then scaled up, and ④ was measured on 2026-09-19 (a 60-minute transcript was actually translated once).

FeatureModelInput priceOutput pricePer hour
① Live meeting captionsgemini-3.5-transcribe-live$3.50/1M ($0.005/min)$21.00/1M ($0.004/min · text)NT$17
② Recording to transcriptgemini-3.5-transcribe (two passes) + gemini-3.5-flash (alignment)$2.00/1M ($0.003/min); alignment $1.50/1M$12.00/1M ($0.002/min · text); alignment $9.00/1M~NT$20
③ Live bilingual · accurategemini-3.5-transcribe-live + gemini-3.5-flash-lite①+$0.30/1M①+$2.50/1M~NT$18
③ Live bilingual · fastgemini-3.5-live-translate-preview$3.50/1M ($0.0053/min)$21.00/1M ($0.0315/min · audio)NT$71
④ Transcript to bilingual docgemini-3.5-flash$1.50/1M$9.00/1M (including thinking tokens)~NT$16 (per hour of transcript, measured)
⑤ Rebuild transcript layoutno model call——NT$0
⑥ Live voice translationgemini-3.5-live-translate-previewsame as ③ fastsame as ③ fastNT$71

One sentence explains the whole table: what makes it expensive is whether the output is text or audio, not the model name. ① and ③ fast both bill output at $21.00/1M, but the first outputs text ($0.004/min) and the second outputs audio ($0.0315/min). ② runs two passes (the first for the speaker timeline, the second for the Traditional Chinese text), so its unit prices are multiplied by 2; after the two passes, gemini-3.5-flash also aligns the two results, which usually adds about NT$1–2 an hour. ⑥ shares ③ fast's connection — the speech is generated and billed either way, so playing it costs nothing extra. ④ only handles text, but gemini-3.5-flash "thinks" first by default, and thinking tokens are billed at the output rate — about 70% of the output in our measurement — so an hour of transcript costs about NT$16.

Things to know before you use it

Please read this section in full, especially if you're going to record formal meetings.

1. The audio leaves your PC, so let the participants know

When you make a transcript, the recording is uploaded to Google's servers to be processed. That is how this kind of service works, and there's no way around it.

This tool actively asks for it to be deleted once processing is over. Close the window halfway through and the program deletes both the temporary recording on your PC and the copy in the cloud before it exits; if the PC crashes before it can, the next transcription clears it at the start (and the cloud copy expires automatically within 48 hours at the latest).

But the fact that "the audio leaves this PC" is itself something you should tell the participants beforehand.

2. The free tier must not be used for meetings involving personal data or confidential matters
Free tierPaid tier
CostNo chargeYou pay for what you use
Audio used for trainingYesNo
Human reviewers may read itPossiblyNo

✅ Fine on the free tier: public lectures, open briefings, your own test recordings
❌ Upgrade to the paid tier first: personnel, budgets, review comments, any meeting with personal data in it

3. Coverage rates measured by the developer

These are coverage rates the developer measured with Chinese material, not accuracy rates. Treat them as a rough idea; for anything official, test a recording of your own first.

Google engineFeatureCoverage
transcribe-liveFeature 1 live meeting captions98.1%
transcribe-liveFeature 3 "accurate", source text97.9%
transcribeFeature 2 recording to transcript99.9%
live-translate-previewFeature 3 "fast", source text (feature 6 interpretation uses the same model; not measured separately)98.4%
flashFeature 4 transcript to bilingual (translation)100%
flash-liteFeature 3 "accurate" (translation)100%

Measured by the developer on 2026-09-26 with versions V1.25–V1.27. Features 1 and 3: the same 9-minute Chinese presentation recording (synthesized speech, with 6 English sentences), fed into the program at real-time speed rather than through a speaker and microphone. Feature 2: a 35.5-minute simulated three-person meeting (synthesized speech). The first four rows count only missing words (Simplified Chinese converted to Traditional first), and numbers were checked separately (feature 1: 14/16, feature 3 "accurate": 16/16, "fast": 15/16); the last two rows show whether every segment was translated (feature 4: 21/21 segments, feature 3 "accurate": 76/76 sentences). Synthesized speech is simpler than a real meeting, and each feature was measured only once, so don't use these to rank them. A person reading aloud to the laptop's built-in microphone (feature 1): 96.7% at 50 cm, 92.5% at 2 m.

4. Known limitations (not faults — things that can't be done at this stage)
LimitationHow to work around it
Live captions can't tell speakers apartWhen you need speakers labelled, use feature 2
On feature 3 with "fast", or on feature 6, translating Chinese into another language, the source text is occasionally a whole block of Simplified Chinese (roughly once in three sessions; the translation is unaffected)Confirmed unavoidable over 29 tested sessions — this is model-side behaviour. If you need that source text, paste the .txt into any Simplified-to-Traditional converter, or use feature 3's "accurate" mode (feature 6 has no "accurate" mode to switch to)
On feature 3 with "accurate" and "translate into Traditional Chinese", when the speaker is speaking Chinese, the source text comes out in Simplified Chinese (for example people speaking Chinese in the room at a hybrid meeting; seen once in testing, 2026-09-19)The translation is still in Traditional Chinese; it just amounts to rewriting the Chinese. If you need that source text, paste the .txt into a Simplified-to-Traditional converter
On feature 3 with "fast", or on feature 6, it's very unreliable when someone speaks Chinese into the microphone and you translate into English (the same passage sometimes goes completely untranslated; tested on a laptop, 2026-09-19)Switching to feature 3, choosing "accurate" and reading the captions is more reliable
Recordings over 28 minutes are split, and it can't tell whether a speaker in one segment is the same person as in anotherFrom segment 2 onwards, speakers are labelled like 第2段講者1 ("segment 2, speaker 1"), and the names you type before transcribing apply to segment 1 only. Use feature 5: look at each speaker's first line and give the same person the same name
English spoken in a Chinese meeting may get the wrong speaker and time (it often gets merged into the previous speaker's paragraph)The English is kept as spoken, and the header lists the stretches where "the recording has sound but the transcript doesn't cover that time" — listen to those parts of the recording
Feature 6 needs two sound outputs when it captures "whatever the PC is playing"Plug in headphones — this usually adds a second output (wired headphones worked on one laptop; Bluetooth hasn't been tested yet) — or install a virtual audio cable; or use the microphone or an audio/video file as the sound source instead
Feature 6's voice occasionally flips between male and female, and skips a few sentences when the speaker talks too fastThe male/female flipping is a limitation of Google's model itself; the skipping is deliberate on the program's part, so that your ears don't fall further and further behind. The captions are complete — for anything official, go by the saved file
Windows onlyCapturing "whatever the PC is playing" uses a Windows-only technology, so Mac and Linux can't do it
5. A transcript is a draft, not the minutes

However accurate the recognition is, there will be wrong words, and it doesn't understand the context of the meeting. Formal minutes must always be checked by a person before they go out, especially amounts, dates, names and the wording of resolutions.

6. Terms of use and disclaimer
  1. This tool is developed independently by CY KUO as an individual and provided free of charge under the MIT License. It does not represent any institution or organisation. The full licence is in the LICENSE file in the zip.
  2. Speech recognition and translation are produced by Google Gemini and may mishear, miss words or mistranslate. Transcripts are drafts; review them before using them as official records.
  3. When you use the tool, audio is sent to Google's servers for processing (these may be outside your country), and the data is handled under Google's terms of service. For meetings involving personal or confidential information, turn on the paid tier first.
  4. Usage fees are calculated by Google based on usage and charged to your own Google account; this tool does not handle any payments. We recommend setting a monthly spend cap in Google AI Studio.
  5. Before recording or transcribing, make sure you comply with the applicable laws and your organisation's rules, and tell the participants in advance.
  6. The developer provides this tool under the MIT License without any warranty. Use it at your own discretion and risk; the developer is not liable for any damages.
  7. Google, Gemini, Windows and other names are trademarks of their respective owners. This tool is not affiliated with, sponsored by or endorsed by these companies.
  8. This guide is for reference only: costs are based on Google's official prices, and Google's announcements and your own bill are what count; measured figures are the developer's results under specific conditions and may not match your situation.

What to do when something goes wrong

Start with this table. If you can't find the answer, double-click 6_診斷.bat and send a screenshot of the whole window.

What happensWhat to do
You click it, a window flashes up and disappears, then the menu appearsThat's normal. The program opens a separate window for the menu, and its own window closes straight after
After you press Enter the screen sits still for tens of seconds, as if it has frozenIt hasn't frozen: it's loading the speech components, which have to be read back in from disk if they haven't been used for a while. The screen shows the progress item by item (for example · 語音處理元件(scipy)… ✓ 27.2 秒, "speech-processing component (scipy) … ✓ 27.2 s"); as long as you can see that, all is well. Warming it up before the meeting avoids the wait
Straight after installing, features 1/3/6 say "載不起語音處理元件(scipy)" ("couldn't load the speech-processing component (scipy)")Windows 11's Smart App Control first blocks newly installed components that don't have a cloud reputation yet (seen on one laptop, 2026-09-20). Wait a few minutes and try again — it usually lets them through on its own. To check, double-click 6_診斷.bat and see whether those lines say BLOCKED or OK; use it once they're back to OK. Feature 5 works offline and doesn't need those components, so you can still use it meanwhile
No captions appear at allCheck the PC is actually playing sound; for an online meeting, remember to choose 1 and not 2. The meeting app's speaker must be set to Windows' default playback device: the new Teams has no option to follow the system default, so pick the same device by hand in Teams' device settings (tested on one laptop, 2026-09-19). The "聲音來源:…" ("audio source: …") line on screen at the start shows which device is being recorded. Feature 6 is the exception: when you choose "whatever the PC is playing", set the meeting app's speaker to route ①, the one you chose in the menu, not the usual Windows default
You choose the microphone and the program says "沒有可用的聲音來源" ("no usable audio source") and exitsThis PC has no microphone attached, or Windows privacy settings are blocking it (Settings → Privacy & security → Microphone)
You choose "microphone" with headphones plugged in: which microphone does it pick up?On some PCs, plugging in headphones that have a microphone (a headset) automatically switches to the microphone on the headphones (for example laptops with a single combined headset jack), and it only switches back to the PC's microphone when you unplug them (tested on one laptop, 2026-09-19). If the headphones are plugged in but not worn and you choose "microphone", it picks up the headset mic hanging to one side: unplug the headphones, or switch back to the PC's microphone under Settings → System → Sound → Input. The screen shows which one it's using at the start (the "麥克風:…" ("microphone: …") line). If the PC has two or more microphones, the menu asks which microphone to use, and you can simply pick the PC's built-in one there
The transcript header says "可能不完整" ("may be incomplete")There are six causes: ① nothing recognised in the later part of the recording (silence, music, noise) ② the same words repeated heavily, so they were dropped when the transcript was tidied up ③ a problem in one segment: a whole stretch in the later part or the middle of that segment not recognised, the two recognition passes not agreeing, or the text flooded with the same handful of sentences, over and over ④ a line the first pass heard is missing from the tidied-up text, and re-transcribing it on its own didn't bring it back (the header gives the time and the speaker) ⑤ the recording has sound, but the transcript doesn't cover that time (over 10 seconds in a row, or at least 6 seconds in total within any 30 seconds; typically English spoken in a Chinese meeting, music or applause — the header gives the time range; when the recording is noisy from start to finish and speech is hardly louder than the background, this check can't see well, and the header adds an ℹ️ note that does not count as a gap) ⑥ the times of the paragraphs overlap or go backwards (typical of very long recordings that mix several languages; the header gives the time range — listen to that stretch against the recording). For ①, ② and "nothing in the later part of a segment", the header says which minute recognition got up to; otherwise, it names the segment and the time range where the problem is. If you need that part, cut it out and run it again on its own (for ②, ③ and ④ the header also suggests how to cut it). If it was the later part or the middle of a segment that wasn't recognised and the cut-out part comes back with content, it had been skipped; if nobody was really speaking, the result will be empty. Passages marked as repeated were not really said that many times, so don't quote them word for word.
You closed the window partway through a transcriptionThe program deletes the temporary recording and the cloud copy before exiting. For recordings over 28 minutes, the segments already finished stay in .partial.json — rescue them with feature 5. Under 28 minutes it's processed as one segment, so closing it while recognition is still running means the whole thing has to be run again. If something goes wrong only after that segment has fully finished (a failure writing the file, say), the .partial.json is still left, so have a look on the desktop for it first
The network drops partway through transcribing or translatingWhen the connection is completely down (a Wi-Fi outage, say), the program waits for the network to come back: it tries again every 20 seconds, for up to 5 minutes, and carries on as soon as it returns (the screen says "The internet connection is back"); if the network is merely unstable and drops for a moment, it just retries a few times as before. If it is still down after 5 minutes: transcribing stops — for a recording over 28 minutes, the parts already fully transcribed still become a transcript (the header lists the missing parts); a recording of 28 minutes or less (or one that stops in its first part) produces nothing, so transcribe the whole thing again once the network is working. The exceptions: if it drops at the speaker-segmentation step, the program switches to an estimate and still finishes; if it drops while re-transcribing missed passages, those are skipped and listed in the header. Translating stops, and what has been translated is still saved, with the untranslated paragraphs marked (the same happens if you press Ctrl+C while it is waiting; if nothing has been translated yet, Ctrl+C leaves no file). When the input to translate is a recording, the transcribing and translating steps can each wait up to 5 minutes
The same sentence appears twiceEcho in a hybrid meeting: the meeting PC's speakers and microphone are picking each other up. Switch to headphones
The people in the room are captured, but not the online participantsThe online participants have to be taken straight from the PC: have the caption PC join the meeting too and choose "Both" (see option 1 under hybrid meetings). Turning up the loudspeakers doesn't help
The caption text is too smallIn the caption window, press Ctrl + + to enlarge it (you can press it repeatedly) and Ctrl + - to shrink it; there's a reminder of this on screen at the start as well. Ctrl + 0 is the official "reset size" key, but it clashes with the 自然輸入法 (Going Natural) Chinese input method, so we don't recommend it
The captions suddenly stop (the headset plug came loose, or it was unplugged and plugged back in)The program reconnects automatically and shows "✓ 麥克風接回來了" ("✓ microphone reconnected") or "✓ 電腦聲音接回來了" ("✓ computer audio reconnected") (or "✓ 電腦聲音改從這顆錄:…" ("✓ computer audio is now recorded from: …") when it switches to another device); if that never appears, press Ctrl+C to stop and start again (all the captions so far are saved)
Chinese shows up as boxes or garbled charactersOpen it with "Windows Terminal" instead (search for Terminal in the taskbar); the older Command Prompt handles Chinese fonts poorly
A passage in the transcript just says "(整理後的逐字稿略去了這段)" ("this passage was left out of the tidied-up transcript")Usually that speaker said nothing but "mm" and "right" all meeting. The line is kept so that the speaker names you typed don't all shift out of line
The folder won't delete, saying it needs administrator rightsIt's almost never a rights problem. ① Close any File Explorer window that has this folder open ② restart and delete it before anything else ③ only then double-click 8_刪不掉時救援.bat
The key was pasted wrong, has expired, or you want to change itPress 9, "API key settings", in the menu: you can switch to another key, check whether the current one works, or clear the key saved on this PC
The screen says "API 金鑰有問題" ("there's a problem with the API key")For live captions, first press Ctrl+C to stop, then go back to the menu and press 9 to check the key or change it. When a transcription or translation doesn't succeed, the menu checks with Google once by itself, and if that confirms the key is bad, it asks you straight away whether you want to change it
The screen says "Google 專案這個月的花費上限到了" ("the Google project has reached this month's spend cap")It's not a network problem: this Google project has spent up to the monthly cap set in AI Studio, and Google pauses it until the 1st of next month. To restore it now: at aistudio.google.com, open Spend on the left → Monthly spend cap → Edit spend cap and raise the cap (this needs owner or editor access to the project; if it still can't connect after you raise it, wait a few minutes and try again). Live captions reconnect by themselves; a transcription or translation that stopped halfway has to be run again
Feature 6 is running, but there's no interpreter voice at all from the headphones or speakersFirst check that the line at the top of the screen, "🔊 翻譯語音將從「⋯」播出" ("🔊 the translated voice will play from '…'"), names the device you're actually wearing or listening to. If it doesn't, go back to the menu, run feature 6 again and pick the right device at "where do you want to hear the interpreter"; if it does, turn that device's volume up, or check in the speaker icon at the bottom right of Windows that it isn't muted. At the end, the screen says "共送出約 N 秒到「⋯」" ("sent about N seconds to '…'") — that's how much was sent to the device, which doesn't guarantee you could hear it, so a number there doesn't prove the device is fine
Feature 6 with the microphone: after the speaker stops, the captions keep repeating the same sentence without stoppingThe interpreter voice is coming out of the speakers and the microphone is recording it back in, so the model keeps translating its own voice — and you are charged the whole time. Press Ctrl+C to stop first; then put on headphones, pick the headphones you're wearing at "where do you want to hear the interpreter", and start again
No sound from the speakers after using feature 6Finishing normally, pressing Ctrl+C and clicking the window's X all switch back to your original speakers automatically. If it crashes or is closed from Task Manager, it switches back automatically when you return to the menu (or next time you open the menu); if you can't wait, click the speaker icon at the bottom right and pick your original speakers yourself. If you set the meeting app's (Teams/Zoom/Webex) speaker to ① as described, the program can't change that — switch it back yourself
Feature 6 is set up, but you can still hear the original audioThe meeting app (Teams/Zoom/Webex) has its own speaker setting. Go into its audio settings and set the speaker to route ① directly; the new Teams has no option to follow the system default, so set it before you start. Remember to switch it back to the one you normally listen on afterwards
Feature 6 (or feature 3 with "fast") keeps running after you press Ctrl+CIt first shows "收到 Ctrl+C,正在收尾" ("Ctrl+C received, wrapping up"), and takes about 3–5 seconds to save the files before it ends. You can also end it at that point with the X in the top-right corner of the window, but the tidied-up .md won't be produced (the word-for-word .txt is still there), and the menu closes as well; feature 6's sound output still switches back automatically
You want to know what's actually wrongDouble-click 6_診斷.bat and it lists whether Python, the packages, ffmpeg, the key and the files are all there, and it actually finds the microphone and computer-sound recording devices and opens each one for a moment (no sound is kept). Just screenshot it and send it in

Don't want it any more? How to remove it

Double-click 7_解除安裝.bat and a window lists everything that can be removed, with a tick box for each; anything you don't tick is left completely alone. Before you press "開始移除" ("start removing"), it also shows you a list of every single action it's about to carry out.

Ticked for you by default

✓Your Gemini API key (the important one)
✓The temporary meeting recordings (left behind if the program is force-closed; if there aren't any, this item can't be ticked)
✓The desktop shortcut
✓The packages only this tool uses (any that are no longer installed aren't listed)
✓The sound-output record left by feature 6 (it only notes which output to switch back to after interpreting; if the last session didn't end normally, it first switches your sound output back to the original device, then deletes the record)

Not ticked by default (other programs may use them too)

!numpy, scipy
!ffmpeg
!Python itself, and the whole program folder
The files you produced are never deleted

Those .md/.txt/.json files on your desktop are your data, and the uninstaller doesn't go anywhere near them.