# Transcribe.cpp

**URL:** <https://hn-client.demo-by-discourse.com/t/transcribe-cpp/5167>\
**Category:** Hacker News\
**Created:** [July 19, 2026, 12:38am UTC](https://hn-client.demo-by-discourse.com/t/transcribe-cpp/5167 "2026-07-19T00:38:26Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![sebjones](https://hn-client.demo-by-discourse.com/letter_avatar_proxy/v4/letter/s/bbe5ce/32.png) [@sebjones](https://hn-client.demo-by-discourse.com/u/sebjones)\
**Post date:** [July 19, 2026, 12:38am UTC](https://hn-client.demo-by-discourse.com/t/transcribe-cpp/5167/1 "2026-07-19T00:38:26Z")

</div>

> **[Project - transcribe.cpp](https://workshop.cjpais.com/projects/transcribe-cpp)**
>
> A place to play around with technology and make it easy and fun

Read the linked article.

* * *

[Discuss on Hacker News](https://news.ycombinator.com/item?id=48963879)

---

<div class="post-metadata">

**Author:** ![arikrahman](https://hn-client.demo-by-discourse.com/letter_avatar_proxy/v4/letter/a/a87d85/32.png) [@arikrahman](https://hn-client.demo-by-discourse.com/u/arikrahman)\
**Post date:** [July 19, 2026, 1:14am UTC](https://hn-client.demo-by-discourse.com/t/transcribe-cpp/5167/2 "2026-07-19T01:14:24Z")

</div>

Excellent work, paired with the 500kb TTS model headlining today I can see the full stack coming together.

---

<div class="post-metadata">

**Author:** ![aarvin\_roshin](https://hn-client.demo-by-discourse.com/letter_avatar_proxy/v4/letter/a/7c8e57/32.png) [@aarvin\_roshin](https://hn-client.demo-by-discourse.com/u/aarvin_roshin)\
**Post date:** [July 19, 2026, 1:21am UTC](https://hn-client.demo-by-discourse.com/t/transcribe-cpp/5167/3 "2026-07-19T01:21:40Z")

</div>

Spot on:

> I think as we look forward to the future, more inference will start happening locally for one reason or the other. This brings the distribution story front and center. In order to have more applications running inference locally, we need to make running inference easier.

This makes these projects so much more trustworthy and easier to approach:

> Were any of the words here written using AI? Nope. They came from my mouth or my fingers.

---

<div class="post-metadata">

**Author:** ![yjftsjthsd-h](https://hn-client.demo-by-discourse.com/letter_avatar_proxy/v4/letter/y/45deac/32.png) [@yjftsjthsd-h](https://hn-client.demo-by-discourse.com/u/yjftsjthsd-h)\
**Post date:** [July 19, 2026, 1:31am UTC](https://hn-client.demo-by-discourse.com/t/transcribe-cpp/5167/4 "2026-07-19T01:31:54Z")

</div>

So it’s mostly intended to be a better replacement for whisper? Mostly? With better support for more models and maybe acceleration backends?

---

<div class="post-metadata">

**Author:** ![sbinnee](https://hn-client.demo-by-discourse.com/letter_avatar_proxy/v4/letter/s/ea666f/32.png) [@sbinnee](https://hn-client.demo-by-discourse.com/u/sbinnee)\
**Post date:** [July 19, 2026, 1:50am UTC](https://hn-client.demo-by-discourse.com/t/transcribe-cpp/5167/5 "2026-07-19T01:50:57Z")

</div>

I saw that metal is almost x10 faster than vulkan? Why so much gap?

---

<div class="post-metadata">

**Author:** ![zuzululu](https://hn-client.demo-by-discourse.com/letter_avatar_proxy/v4/letter/z/e9bcb4/32.png) [@zuzululu](https://hn-client.demo-by-discourse.com/u/zuzululu)\
**Post date:** [July 19, 2026, 1:57am UTC](https://hn-client.demo-by-discourse.com/t/transcribe-cpp/5167/6 "2026-07-19T01:57:26Z")

</div>

saw the demo its impressive but the audio was robotic

---

<div class="post-metadata">

**Author:** ![zuzululu](https://hn-client.demo-by-discourse.com/letter_avatar_proxy/v4/letter/z/e9bcb4/32.png) [@zuzululu](https://hn-client.demo-by-discourse.com/u/zuzululu)\
**Post date:** [July 19, 2026, 1:56am UTC](https://hn-client.demo-by-discourse.com/t/transcribe-cpp/5167/7 "2026-07-19T01:56:56Z")

</div>

would love to see a demo handy is fantastic although its still behind the frontier models

---

<div class="post-metadata">

**Author:** ![boplicity](https://hn-client.demo-by-discourse.com/letter_avatar_proxy/v4/letter/b/e5b9ba/32.png) [@boplicity](https://hn-client.demo-by-discourse.com/u/boplicity)\
**Post date:** [July 19, 2026, 1:47am UTC](https://hn-client.demo-by-discourse.com/t/transcribe-cpp/5167/8 "2026-07-19T01:47:51Z")

</div>

> This makes these projects so much more trustworthy and easier to approach:

> > Were any of the words here written using AI? Nope. They came from my mouth or my fingers.

I have to push back on this a bit, as I believe (quite strongly) that we’re shaped by the tools we use; text-to-speech LLMs are still LLMs, and generally their mistakes are shaped by the expectations inherent in their training. This, in turn, shapes the words that appear on the screen. For those who regularly use them, you then learn which word sequences are likely to be accurately transcribed, and this definitively becomes part of your thinking process. Over time, the LLM becomes tangled into your thinking; the use of AI, even in this way, very much can and often does shape the resulting words.

---

<div class="post-metadata">

**Author:** ![therealpygon](https://hn-client.demo-by-discourse.com/letter_avatar_proxy/v4/letter/t/ea5d25/32.png) [@therealpygon](https://hn-client.demo-by-discourse.com/u/therealpygon)\
**Post date:** [July 19, 2026, 2:01am UTC](https://hn-client.demo-by-discourse.com/t/transcribe-cpp/5167/9 "2026-07-19T02:01:12Z")

</div>

Pretty sure I saw Handy using it; if you have the latest version, you’re probably already demoing it.

---

<div class="post-metadata">

**Author:** ![ghm2199](https://hn-client.demo-by-discourse.com/letter_avatar_proxy/v4/letter/g/4af34b/32.png) [@ghm2199](https://hn-client.demo-by-discourse.com/u/ghm2199)\
**Post date:** [July 19, 2026, 2:13am UTC](https://hn-client.demo-by-discourse.com/t/transcribe-cpp/5167/10 "2026-07-19T02:13:02Z")

</div>

Congrats on shipping this. I love handy on my Mac, my phone for STT in situations where it’s not possible/poor performance of the native Model for STT(e.g apple’s thing is not upto scruff, like mistranslating words corresponding to a domain).

Noob question: How do you think about funding from a foundation(i have no clue if you need it or not, I do hope you have a way to get paid one way or another because handy is amazing) for maintenance of this? if you did or were going to get paid by asking for maintaining such a project _what_ might be the kind of organizations you would look for to get supported and how would you do it?

---

<div class="post-metadata">

**Author:** ![bengotow](https://hn-client.demo-by-discourse.com/letter_avatar_proxy/v4/letter/b/ec9cab/32.png) [@bengotow](https://hn-client.demo-by-discourse.com/u/bengotow)\
**Post date:** [July 19, 2026, 2:20am UTC](https://hn-client.demo-by-discourse.com/t/transcribe-cpp/5167/11 "2026-07-19T02:20:43Z")

</div>

This is an incredible contribution to the community and it’s just… one guy? I kept reading expecting a Series A funding announcement at the bottom.

It’s a nice reminder: You can use AI to slop cannon at maximum speed, or you can use it to scale your ambitions and build something more rigorous and lasting than ever before.

I’d build Transcribe.cpp into the apps I maintain, but I feel like this functionality should (generally) be integrated into the OS or “everywhere” via an app like Handy.

---

<div class="post-metadata">

**Author:** ![shade](https://hn-client.demo-by-discourse.com/letter_avatar_proxy/v4/letter/s/2bfe46/32.png) [@shade](https://hn-client.demo-by-discourse.com/u/shade)\
**Post date:** [July 19, 2026, 2:20am UTC](https://hn-client.demo-by-discourse.com/t/transcribe-cpp/5167/12 "2026-07-19T02:20:09Z")

</div>

Nice - I’m definitely going to take a look at this. I’ve built my own cross-platform (Mac/Win/Linux) live captioning app on top of Nemotron, and it works well but dealing with ONNX is kind of annoying. With this having Rust support (I built it on Rust/Tauri) it should be a pretty solid candidate; I’ll have to see if I can find a Silero VAD implementation that doesn’t depend on ONNX, or maybe I’ll see if the clankers can migrate it for me.

---

<div class="post-metadata">

**Author:** ![aomix](https://hn-client.demo-by-discourse.com/letter_avatar_proxy/v4/letter/a/7993a0/32.png) [@aomix](https://hn-client.demo-by-discourse.com/u/aomix)\
**Post date:** [July 19, 2026, 2:32am UTC](https://hn-client.demo-by-discourse.com/t/transcribe-cpp/5167/13 "2026-07-19T02:32:05Z")

</div>

What good timing to spot this. I’ve been reading more and more people talk about bringing TTS into their prompting toolkit and wanted to give that a try. The idea of rambling brain dump into a doc → edit pass → send to the robot loop sounds appealing.

---

<div class="post-metadata">

**Author:** ![ukuina](https://hn-client.demo-by-discourse.com/letter_avatar_proxy/v4/letter/u/bcef8e/32.png) [@ukuina](https://hn-client.demo-by-discourse.com/u/ukuina)\
**Post date:** [July 19, 2026, 2:35am UTC](https://hn-client.demo-by-discourse.com/t/transcribe-cpp/5167/14 "2026-07-19T02:35:20Z")

</div>

What’s the easiest way to add speaker separation to this?

---

<div class="post-metadata">

**Author:** ![eventualcomp](https://hn-client.demo-by-discourse.com/letter_avatar_proxy/v4/letter/e/cc9497/32.png) [@eventualcomp](https://hn-client.demo-by-discourse.com/u/eventualcomp)\
**Post date:** [July 19, 2026, 2:34am UTC](https://hn-client.demo-by-discourse.com/t/transcribe-cpp/5167/15 "2026-07-19T02:34:12Z")

</div>

Isn’t this like saying “my words are not really my own when I speak to my family, because I know my father is a non-native English speaker and hard of hearing so I try to use words which are well enunciated and are few in syllable count”?

---

<div class="post-metadata">

**Author:** ![SamPentz](https://hn-client.demo-by-discourse.com/letter_avatar_proxy/v4/letter/s/7cd45c/32.png) [@SamPentz](https://hn-client.demo-by-discourse.com/u/SamPentz)\
**Post date:** [July 19, 2026, 2:43am UTC](https://hn-client.demo-by-discourse.com/t/transcribe-cpp/5167/16 "2026-07-19T02:43:29Z")

</div>

Is there a way to add speaker identification easily?

---

<div class="post-metadata">

**Author:** ![copypirate](https://hn-client.demo-by-discourse.com/letter_avatar_proxy/v4/letter/c/a5b964/32.png) [@copypirate](https://hn-client.demo-by-discourse.com/u/copypirate)\
**Post date:** [July 19, 2026, 2:54am UTC](https://hn-client.demo-by-discourse.com/t/transcribe-cpp/5167/17 "2026-07-19T02:54:06Z")

</div>

Excellent work CJ

---

<div class="post-metadata">

**Author:** ![loufe](https://hn-client.demo-by-discourse.com/letter_avatar_proxy/v4/letter/l/ac91a4/32.png) [@loufe](https://hn-client.demo-by-discourse.com/u/loufe)\
**Post date:** [July 19, 2026, 2:02am UTC](https://hn-client.demo-by-discourse.com/t/transcribe-cpp/5167/18 "2026-07-19T02:02:40Z")

</div>

author of the blogpost is the maintainer of Handy, so almost guaranteed!

---

<div class="post-metadata">

**Author:** ![zuzululu](https://hn-client.demo-by-discourse.com/letter_avatar_proxy/v4/letter/z/e9bcb4/32.png) [@zuzululu](https://hn-client.demo-by-discourse.com/u/zuzululu)\
**Post date:** [July 19, 2026, 2:56am UTC](https://hn-client.demo-by-discourse.com/t/transcribe-cpp/5167/19 "2026-07-19T02:56:47Z")

</div>

I installed it but I don’t think I see the streaming transcriptions. I do think the transcription is a bit faster. I am using the latest version.

---

<div class="post-metadata">

**Author:** ![qntmfred](https://hn-client.demo-by-discourse.com/letter_avatar_proxy/v4/letter/q/9f8e36/32.png) [@qntmfred](https://hn-client.demo-by-discourse.com/u/qntmfred)\
**Post date:** [July 19, 2026, 3:12am UTC](https://hn-client.demo-by-discourse.com/t/transcribe-cpp/5167/20 "2026-07-19T03:12:21Z")

</div>

You have to change the model to one that supports streaming. The latest parakeet does. I’ve been using it the last week or so. It’s good stuff 🙂

[Next page](https://hn-client.demo-by-discourse.com/t/transcribe-cpp/5167.md?page=2)
