Show HN: Turn native language audio into flashcards and shadowing practice
59 points - today at 11:29 AM
Here is a tool I built initially for myself to help with my German and Greek language studies. It started as a hack for creating Anki cards from native language audio. It extracts the words, finds their base forms (lemmas) and groups the examples by the lemma. At some point I realised that I have a transcription with word level timestamps that opens a lot of other opportunities. So I added a mode to click the first and last word in the transcript and it starts looping with the right gap and repeat count.
Another feature I use a lot is selecting an audio fragment, sending a predefined prompt to an AI to "explain grammar" or "explain nuances of meaning" and I still experimenting with prompts.
And because shadowing is so easy I also use it as a player to improve my English pronunciation. (I am not a native English speaker.)
I made a quick video showing the workflow for creating Anki cards and shadowing: https://youtu.be/TaR58uuDBvU?si=o5aGLAi2S-BZ7Zy9
The app supports 15 input languages (Japanese and Chinese are the latest experimental additions), and more than 30 output languages.
I would really appreciate it if you could try it https://lingochunk.com/try. I know there are other tools with similar functionality but I created something that fits my workflow and it is fun to build.
Also I struggled to find public domain audio for the try page. I'd be grateful if anyone could point me to public domain sources (I used LibriVox, Wikimedia and FSI courses), or if you're a creator, let me feature some of your own recordings with credits and links.
Comments
Tested for Japanese. No problems so far, except sometimes repeating the desired number of times didn't work (mobile). Seems to work now.. But looping infinitely produces only three repetitions.
Really good UI with little friction: easily hone in on sentences, easily move on or jump ahead, see vocabulary, create Anki deck. Took a while to discover loop settings, but it's a good choice.
Only now discovered the "custom span loop mode". Great! I was about to ask for it!
AI mode is unobtrusive and helpful.
At last, found something that could need a touch up.. The starter deck from the example story is a bit nonsensical. It features words like URL and site from the Librivox intro. お is "translated" as "honorific" which is kind of true, but it's only a marker. A beginner might not know this. たち shows as answer "plural marker", there it worked. Integrating a flashcard app is no small feat. Impressive. I wonder what algorithm was used. Does it scale?
That's all. Thumbs up!
Japanese language are often described as using multiple type of alphabets - kanji, kana, numbers, and English alphabets sometimes - and pronunciations of especially kanji is not very well constrained, creating tons of homophones and homographs, e.g. "koushou" shared across more than 20 words, and the character for "life" said to be involved in more than 150 differently read parts of words.
Even OT but Unicode code space used for Japanese Kanji is famously shared with Chinese Hanzi, leading to ambiguities.
This situation is causing AI-based TTS(and also image generators) trained directly on Unicode text to go weird on kanji, even for simple ones as "tomorrow". Classical pre-LLM Japanese TTS avoid this by operating on generated or manually specified pronunciations, skipping kanji altogether, which do occasionally lead to wrong readings, but won't lead to sound generation code creating butchered middle-of-road sounds.
It doesn't seem like most or any of AI TTS tackle this problem, but I'm not in that field. Do anyone know the statuses on it?
Are you willing to share more technical details?
- Which data sources do you ingest?
- How do you transform and enrich the data? How does your pipeline look?
- What are your key challenges?
- Which tools do you use? What is your 'stack'? (Stanze, wordfreq, Whisper, wn, ...)
Background: I am currently building a multi-lang vocabulary hub for language learning. The goal is to match core words/lemmas to their senses/concepts, and then be able to generate multi-language flash cards.
I am still stuck on the sense alignment and fingerprinting (example: should 'to shop', 'einkaufen', ' alışveriş yapmak' and 'go shopping' point to the same concept of 'shop'?), but in a later stage I want to allow user-submission and data enrichment for IPA, pictograms [1] and audio.
[1: https://arasaac.org/pictograms/search]
Use-case (the dream): I come back from language class, I input new vocab and I output new Anki cards that work across all my fluent languages.
Currently, I mostly find myself knee-deep in problems of linguistics, NLP, Python and getting an LLM to do exactly what I want. At the same time it is a super fun project, and really makes me feel the joy of programming again. LLMs are magic, time just flies by, and all the random projects I always wanted to do suddenly materialize.
For coding, I mostly use free Gemini and some deepseek-v4-flash via openrouter to keep a tight oversight and understand the problem space. Maybe this slows me down, but agentic code jsut does not align with me. Overall, I haven't spent more than 2 € in total.
So far, surprisingly, the biggest problem is the lack of high-quality, free input data (example: English has the Oxford 5000 words as core vocabulary, but it is difficult to find the same for e.g. Turkish).
2nd place is the lack of high-quality synsets/wordnets (cross-language is mostly incomplete), and the 3rd place is getting LLMs to reliable play to their strength (on paper, a LLM is the perfect tool to provide multi-lang sense equivalents)
I plan to do a full writeup sometimes, but first I need it to work :)
Great project, and congrats for launching :)
And the site itself is a great idea and implementation, though the font size and family of the ui (not of the actual playback area) has a lot of room for improvement, but those are just minor changes.
Also the pinyin for 誰/谁 is coming through as shuí, whilst this character has two pronounciations, I believe shéi is the more common one.
https://talkhabit.com/shadow Or example, of one exercise: https://talkhabit.com/shadow?videoUrl=https%3A%2F%2Fwww.yout...
Stuff I need to work on: - It only works with videos that have auto-generated captions - It works best with monologue videos