Speechius listens to your voice and scrolls your script for you - speed up, slow down, go off-script, it keeps pace. No foot pedal, no fixed speed to chase. It works live in any tool - real webinars, Zoom, Meet, Teams, OBS - and stays hidden on screen-share. Fully on-device (private). One-time price, no subscription. macOS & Windows.
No reviews yetBe the first to leave a review for Speechius
Maker
📌
Hi everyone 👋
I'm Jay, a solo dev. Since 2020 I've presented online every day — YouTube videos and teaching programming over Zoom. And two forces have been fighting inside me the whole time.
The German force 😁 says: "Write a script. Stick to it. Nothing can go wrong."
The artist says: "Are you a robot? Where's your personal touch?"
Reading from a script gives me control, but it sounds read. Improvising sounds natural — until I lose my thread and the video drags on twice as long. I wanted the middle ground: speak at my own pace, in my own words, with a script keeping me on track.
Every teleprompter I tried missed it. They scroll at a fixed speed you have to chase, or they react to sound, not to the actual words you say. Testing video editors and screen recorders, I kept hitting the same gap: plenty show a speaker script, almost none pair it with usable speech recognition.
So I asked: why should I follow the machine, when the machine can follow me? That idea sat in my head for two years. The only way to get rid of it was to build it.
That's Speechius — (probably) the first reliable ASR-based teleprompter. It listens to what you're actually saying and scrolls your script to match — your pace, your words. It also stays hidden from screen recording and screen-share, so the script never ends up in your video.
It's my first app, built in Flutter. Fully on-device (private), one-time purchase, no subscription. macOS & Windows. Founding price for the first 100 buyers: Pro €30 / Studio €60 (then €50 / €100).
👉 speechius.com
First launch — I'd genuinely love your honest feedback, positive or negative. 🙏
Report
The part I'd actually pressure test is what happens when you deviate from the script rather than just paraphrase it closely, since that's the realistic failure mode, not clean word for word delivery. If you go on a tangent for thirty seconds and then land back on a sentence that's near the top of the script, does it correctly jump forward to match, or does it get confused and either stall on an old position or jump ahead to the wrong matching phrase somewhere else in the document. Fuzzy matching speech to a script is genuinely hard exactly at the moments when someone stops reading verbatim and starts talking naturally, which is presumably the whole reason you built this.
Staying hidden from screen recording and screen share is a neat trick, but that generally depends on how the OS classifies overlay windows, and that behavior isn't guaranteed to be stable across OS updates on either platform. Is that hidden from capture behavior something you're relying on a documented API for on both macOS and Windows, or is it more of a workaround that could quietly break the next time either OS changes how it handles window capture exclusion.
Report
Maker
@thys_beesman Good questions - both of these are the ones I'd ask too.
Deviation first. The cursor only ever moves forward on its own, never backward. During a tangent it simply stops advancing instead of guessing. Matching runs a narrow lookahead first; a wider fallback only kicks in when the narrow pass found nothing at all, and it's capped by a setting for how many words it may skip at once (small by default). Words that occur more than once in the script need confirmation from the following word before the cursor lands on them - that's specifically what stops the "jumped to the wrong identical phrase" failure you're describing.
In practice: come back downstream of where you left, and it catches up on its own. Come back upstream - your thirty-second-tangent case - and it stays put by design. You tap the word you're on and recognition re-anchors there instantly. I chose standing still over guessing backwards, because a wrong backward jump mid-sentence is far worse than a stale highlight.
On capture exclusion: documented APIs on both platforms, not an overlay trick. NSWindow.sharingType = .none on macOS, SetWindowDisplayAffinity with WDA_EXCLUDEFROMCAPTURE on Windows (10 2004+). Both exist for exactly this purpose, so they're about as stable as anything in this area gets. It covers apps capturing through the normal OS paths - Zoom, Meet, Teams, OBS. Apple's own screencapture CLI is the one exception I've found in testing.
Report
I run a lot of live demo calls, and I never go through my talking points in the same order twice — whatever the other person brings up decides where I go next. Tap-to-reanchor sounds like it handles the occasional detour, but does it hold up if someone jumps between non-adjacent sections of the script repeatedly in one call, or is it really built for staying close to one linear path with the odd tangent? Either way, "the machine follows you" is the right framing — most teleprompters assume the human is the unreliable part.
Report
Maker
@podcast_ai Tap-to-reanchor means you click a word and Speechius picks up from there, then keeps following you normally from that point on. For calls that jump back and forth between sections, I'm thinking about named sections you can switch to directly. How does your flow usually look, fixed blocks that come up in changing order, or more spontaneous detours?
Report
I love this idea - it is perfect for me when I am recording for my narrative podcast. However, I can't get it to work with my pod microphone. Apparently on a Mac dictation audio needs to be 2 channels only but my mic puts out more channels. I can get it to work with a bluetooth headset, but not the mic for which I would like it. I have tried to make an aggregate in midi etc but I don't really know what I am doing and wasn't able to get it to work. I am posting this in case there are others who want to use audio setups with Speechius that have this issue.
Report
Maker
@oliver_bogler Thank you for flagging this, that is really helpful! I use a Shure SM7B myself, which is a
single channel setup, so this never showed up in my own testing. You are right about the cause. Speechius currently hands the microphone signal to macOS speech recognition exactly as the device delivers it, and anything with more than two channels is not handled. That is on my side to fix, not something you should have to solve with aggregate devices. I am working on a fix that mixes the input down to mono before recognition, and I will get it out as soon as I can. I will reply here once it ships.
Report
@syntacops Thanks - that is great. I look forward to the new version and will in the meantime purchase the tool. FYI I use a SSL2 MKII for my mic - pretty standard outputs, I believe, but wanted to mention it in case its helpful.
Report
Maker
@oliver_bogler That detail is genuinely useful, thank you. The SSL 2 MkII exposes its
stereo loopback as two extra input channels, so macOS sees a four channel device, and
that is exactly what the recognition chokes on. My own interface (Steinberg UR22mkII) only reports two channels, which is why I never ran into it. The fix will mix the input down before recognition and ignore the loopback channels. I will let you know here as soon as the release is out. Thank you for the support in the meantime.
Report
Maker
@oliver_bogler 1.0.7 just went live with the downmix fix, so your SSL 2 MkII should work now. You need to update to get it: the app checks on its own, or you can trigger the check right away under Settings. Thanks again for flagging this, it was the kind of setup I could not have found on my own.
Report
@syntacops Thank you! I can confirm that it works flawlessly with my SSL 2 MkII setup. Thank you for the amazing quick support, and congrats on a great tool!
Report
Maker
@oliver_bogler That's a relief to hear. I never managed to reproduce it here, so your confirmation is the only real proof the fix holds. Would you mind if I put this on the website?
"It works flawlessly with my SSL 2 MkII setup. Thank you for the amazing quick support, and congrats on a great tool!"
Your name and a link back to your profile, nothing else. Happy to use different wording, or to drop it entirely - no hard feelings either way.
Thanks again, Oliver - you're the first review on the site. If anything looks off, just say the word and I'll change or remove it.
Report
@syntacops looks great - thanks for the honor to be the first!
Report
the deviation-matching answer above is thorough, so a different case - what happens when you just go quiet, not off-script but stopping to think mid-sentence or fumbling a word before continuing. does the cursor just hold at the last confirmed word until you pick back up, or is there any risk of it treating a long pause as "done with this line" and nudging ahead early?
Report
Maker
@galdayan It only moves when a recognized word matches the script - not on elapsed time, not on volume. A pause parks the highlight at the last confirmed word. The recognizer does end the utterance on a pause and restart its transcript at word one, but the native bridge stitches the settled text back in as a prefix, so the matcher never sees that reset. Forward only: if it can't find you it waits instead of guessing. One tap re-anchors it.
Report
the part I actually care about is the off-script tracking, every teleprompter app handles reading verbatim fine but the second you ad-lib a joke or answer a question mid-webinar they lose your place. how does it re-sync once you go back to the script, does it match on nearby phrases or does it just resume from where you left off scrolling?
Report
Maker
@omri_ben_shoham1 It matches your words against the script a few words ahead of the cursor - it never just resumes scrolling. During the ad-lib nothing moves. Rejoin the script downstream and it catches up on its own; rejoin further ahead than the window and you tap the word, which re-anchors it instantly.
Report
The voice-following part is the clever bit. What happens when I pause to think or take an audience question mid-sentence? Does it hold position, or scroll ahead hunting for a match?
Report
Maker
@christian_knaut It holds. The cursor/highlighter only moves forward onto a word it actually matched, so a pause or an audience question leaves it exactly where you stopped, and it picks up again as soon as you're back on a line. And you can jump to any word at any time by clicking it - handy when you improvise for a while and want to land back in the right spot.
@thys_beesman Good questions - both of these are the ones I'd ask too.
Deviation first. The cursor only ever moves forward on its own, never backward. During a tangent it simply stops advancing instead of guessing. Matching runs a narrow lookahead first; a wider fallback only kicks in when the narrow pass found nothing at all, and it's capped by a setting for how many words it may skip at once (small by default). Words that occur more than once in the script need confirmation from the following word before the cursor lands on them - that's specifically what stops the "jumped to the wrong identical phrase" failure you're describing.
In practice: come back downstream of where you left, and it catches up on its own. Come back upstream - your thirty-second-tangent case - and it stays put by design. You tap the word you're on and recognition re-anchors there instantly. I chose standing still over guessing backwards, because a wrong backward jump mid-sentence is far worse than a stale highlight.
On capture exclusion: documented APIs on both platforms, not an overlay trick. NSWindow.sharingType = .none on macOS, SetWindowDisplayAffinity with WDA_EXCLUDEFROMCAPTURE on Windows (10 2004+). Both exist for exactly this purpose, so they're about as stable as anything in this area gets. It covers apps capturing through the normal OS paths - Zoom, Meet, Teams, OBS. Apple's own screencapture CLI is the one exception I've found in testing.
I run a lot of live demo calls, and I never go through my talking points in the same order twice — whatever the other person brings up decides where I go next. Tap-to-reanchor sounds like it handles the occasional detour, but does it hold up if someone jumps between non-adjacent sections of the script repeatedly in one call, or is it really built for staying close to one linear path with the odd tangent? Either way, "the machine follows you" is the right framing — most teleprompters assume the human is the unreliable part.
@podcast_ai Tap-to-reanchor means you click a word and Speechius picks up from there, then keeps following you normally from that point on. For calls that jump back and forth between sections, I'm thinking about named sections you can switch to directly. How does your flow usually look, fixed blocks that come up in changing order, or more spontaneous detours?
I love this idea - it is perfect for me when I am recording for my narrative podcast. However, I can't get it to work with my pod microphone. Apparently on a Mac dictation audio needs to be 2 channels only but my mic puts out more channels. I can get it to work with a bluetooth headset, but not the mic for which I would like it. I have tried to make an aggregate in midi etc but I don't really know what I am doing and wasn't able to get it to work. I am posting this in case there are others who want to use audio setups with Speechius that have this issue.
@oliver_bogler Thank you for flagging this, that is really helpful! I use a Shure SM7B myself, which is a
single channel setup, so this never showed up in my own testing. You are right about the cause. Speechius currently hands the microphone signal to macOS speech recognition exactly as the device delivers it, and anything with more than two channels is not handled. That is on my side to fix, not something you should have to solve with aggregate devices. I am working on a fix that mixes the input down to mono before recognition, and I will get it out as soon as I can. I will reply here once it ships.
@syntacops Thanks - that is great. I look forward to the new version and will in the meantime purchase the tool. FYI I use a SSL2 MKII for my mic - pretty standard outputs, I believe, but wanted to mention it in case its helpful.
@oliver_bogler That detail is genuinely useful, thank you. The SSL 2 MkII exposes its
stereo loopback as two extra input channels, so macOS sees a four channel device, and
that is exactly what the recognition chokes on. My own interface (Steinberg UR22mkII) only reports two channels, which is why I never ran into it. The fix will mix the input down before recognition and ignore the loopback channels. I will let you know here as soon as the release is out. Thank you for the support in the meantime.
@oliver_bogler 1.0.7 just went live with the downmix fix, so your SSL 2 MkII should work now. You need to update to get it: the app checks on its own, or you can trigger the check right away under Settings. Thanks again for flagging this, it was the kind of setup I could not have found on my own.
@syntacops Thank you! I can confirm that it works flawlessly with my SSL 2 MkII setup. Thank you for the amazing quick support, and congrats on a great tool!
@oliver_bogler That's a relief to hear. I never managed to reproduce it here, so your confirmation is the only real proof the fix holds. Would you mind if I put this on the website?
"It works flawlessly with my SSL 2 MkII setup. Thank you for the amazing quick support, and congrats on a great tool!"
Your name and a link back to your profile, nothing else. Happy to use different wording, or to drop it entirely - no hard feelings either way.
@oliver_bogler Thank you very much!
@oliver_bogler It's live: https://speechius.com/#testimonials
Thanks again, Oliver - you're the first review on the site. If anything looks off, just say the word and I'll change or remove it.
@syntacops looks great - thanks for the honor to be the first!
the deviation-matching answer above is thorough, so a different case - what happens when you just go quiet, not off-script but stopping to think mid-sentence or fumbling a word before continuing. does the cursor just hold at the last confirmed word until you pick back up, or is there any risk of it treating a long pause as "done with this line" and nudging ahead early?
@galdayan It only moves when a recognized word matches the script - not on elapsed time, not on volume. A pause parks the highlight at the last confirmed word. The recognizer does end the utterance on a pause and restart its transcript at word one, but the native bridge stitches the settled text back in as a prefix, so the matcher never sees that reset. Forward only: if it can't find you it waits instead of guessing. One tap re-anchors it.
the part I actually care about is the off-script tracking, every teleprompter app handles reading verbatim fine but the second you ad-lib a joke or answer a question mid-webinar they lose your place. how does it re-sync once you go back to the script, does it match on nearby phrases or does it just resume from where you left off scrolling?
@omri_ben_shoham1 It matches your words against the script a few words ahead of the cursor - it never just resumes scrolling. During the ad-lib nothing moves. Rejoin the script downstream and it catches up on its own; rejoin further ahead than the window and you tap the word, which re-anchors it instantly.
The voice-following part is the clever bit. What happens when I pause to think or take an audience question mid-sentence? Does it hold position, or scroll ahead hunting for a match?
@christian_knaut It holds. The cursor/highlighter only moves forward onto a word it actually matched, so a pause or an audience question leaves it exactly where you stopped, and it picks up again as soon as you're back on a line. And you can jump to any word at any time by clicking it - handy when you improvise for a while and want to land back in the right spot.