Recent submissions

Comment · 4 months ago
Simplified/Traditional support is now deployed. Really glad you like it, thanks!
Comment · 4 months ago
I deployed a new release with a Simplified/Traditional switch at the top of the workspace. Thanks for the OpenCC link. Please let me know if anything's off.
Comment · 4 months ago
There's a related feature already. The mic icon in the gap control plays the chunk, records you, and plays it back (the recording stays local). But if you mean a tool that automatically grades your pronunciation, I never thought about that. Interesting area to explore though.
Comment · 4 months ago
Yes, you're right, public speaking is not really my thing. I'm a tech nerd. I should probably rely on partnerships with other people to help it grow. But the first thing I wanted to find out was if the app is actually useful to anyone other than myself. And the response from this community is encouraging. I also thought about letting content producers publish their content/courses as collections here with restricted access. The app already supports that. It is also possible to realign the transcript to their "gold" transcript. They would have instant Anki cards in multiple languages, and the shadowing practice for their subscribers. I would have users, win-win :) But again I have no idea how to do marketing.
Comment · 4 months ago
Comment · 4 months ago
Thanks! As far as I understand your idea is to starts from the word and pulls examples from some huge data source. My approach is the other way round: I start from a source (the audio that you want to learn), and the tool extracts only the words that appear in it, with their meaning in that context. I think that hugely simplifies the implementation, and it is more useful for learners. They learn the meaning in a particular context.

As for the stack: STT with Soniox (word level timestamps), then spaCy for segmentation, POS and lemmas, then AI enrichment, correcting the lemma when spaCy is wrong. Some languages have no spaCy model at all and others are unreliable. I am trying to do spaCy thing in LLM then. Plus some extra magic for Japanese and Chinese.

Comment · 4 months ago
Thanks, really useful extension link. Proper traditional support probably needs a context aware layer, not a plain lookup. I will experiment with additional LLM enrichment. Appreciate you digging into this!
Comment · 4 months ago
Thanks, just to clarify "they" is actually only me :) I'm a contractor and run this through my own company. I try to collect as little as possible. And you're right about the UI fonts it's clearly something I need to fix ASAP. Appreciate the feedback!
Comment · 4 months ago
No TTS at all in my app :) that was a deliberate choice, only STT. I experimented with many STT options, even self hosting Whisper, but ended up with Soniox. A bit expensive, but reliable. For the AI enrichment I went with Gemini Flash. I also tried Gemma 31B, which is really cheap and surprisingly good, on par with Gemini Flash, but extremely slow everywhere I tried. So you can make your own calculations :) And thanks for the congrats!
Comment · 4 months ago
Thanks, I hope it will be helpful! If anything looks off, please let me know.
Comment · 4 months ago
Yes, the transcriber API I use (Soniox) actually supports more than 60 languages. I just didn't have any automated testing for them. The way I tested was to find audio with a reliable reference transcription and put it through my pipeline. Then compare the results. Also some languages don't have reliable libraries to get part of speech and lemmas, something that flashcard needs.
Comment · 4 months ago
For segmentation and POS I rely on spaCy zh_core_web_sm, pinyin from pypinyin library. Also the small correction level on top. But I am not a Chinese language expert to judge if it really works and I'll rely on feedback from the users to improve it.
Comment · 4 months ago
Thanks! Yes, it's getting better for Greek but still not on par with other languages. I completed the only 2 Greek levels on Duolingo and they are really boring compared to the German one I am doing now. Easy Greek is a bit above my level, and the number of YouTubers in Greek is tiny compared to German.
Comment · 4 months ago
Thanks! Chinese and Japanese as source languages are still experimental, I did my best to support them but I have to rely on people who actually know the language and this kind of feedback is really useful. I'll look into adding traditional characters and fixing the pinyin.
Comment · 4 months ago
To be honest I haven't tested it on a 4K monitor yet, so I am not surprised. There are two controls above the transcript that change the font size and the line spacing, which should help a bit for now. Something to fix, thanks!

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton