Shadowing English News with Anki: Auto-Made Cards in 3 Accents, Updated (Part 5)

英字新聞と3色のボタンのスマホ、イヤホンと単語カード

This is another post about my shadowing material generator.

All I do is paste an English news article I want to shadow into an input form.

Then AI summarizes it, even if the article is long, pulls out the key expressions and words, and turns it all into Anki cards with audio in three accents: American, British and Australian.

I built this system in four parts between May and June.

This time, I gave it a small update.

It started with the monthly checkup I do on my home NAS (a Synology). While looking through the list of running apps, I found one I barely recognized.

“What was this for again? I think it was something that puts audio into Anki…”

I asked AI to check, and it turned out to be the part that makes the audio for my shadowing material. Come to think of it, I had a feeling the audio hadn’t been playing properly lately. I tried feeding it one article, and sure enough, only the audio wasn’t being made.

Then I opened Anki on my phone, and the audio didn’t play there either.

I fixed both, and while I was at it, I added the pause and stop buttons I’d been wanting.

An English newspaper, a smartphone with three colored buttons, earphones and flashcards

What you’ll learn
• How to turn any English news article into shadowing material with audio in three accents
• Why the audio stopped being made when I used it after half a year (the edge-tts 403 error)
• Why the audio didn’t play in Anki on my phone, and how I fixed it
• How I added pause, play and stop buttons to the cards

スポンサーリンク

What the shadowing material generator does

First, let me show you how it works now.

It uses n8n (an automation tool) running on my home NAS, Gemini (Google’s AI), Edge TTS (which reads text aloud and turns it into audio), Obsidian (a note-taking app), and Anki.

Inside n8n, the flow looks like this.

The whole n8n workflow: form → Gemini → save to Obsidian → three audio files with Edge TTS

① Just paste an English news article into the form

Paste the English text of the news you want to shadow into the input form I made with n8n, and press “Submit”. That’s it.

The input form for the shadowing material generator, made with n8n

After you submit it, you see this screen. Then you just wait.

The screen after submitting the form

The form is a built-in n8n feature, and you can also put a password on it so that no one else can open it and submit things if the link ever leaks. I set one up.

For my English study, I use The Japan Times Alpha (a weekly English newspaper for learners), and this time I used one of its articles, about digital detox.

(It’s a members-only article, so the English text and Japanese translation in the screenshots below are blurred.)

② AI summarizes it and pulls out expressions and words

This is where Gemini (Gemini 2.5 Flash) comes in.

Even if the article is long, it summarizes it into about 100–120 words of English for shadowing. I ask for a level of around B2–C1.

Along with that, it also makes:

  • A Japanese translation
  • 5 key expressions (with example sentences)
  • 5 related words
  • A genre label (technology, society and culture, etc.)

All of that, automatically.

I copied the full text of one article into the form, and the cards came through right away. Here’s part of one.

Key expressions and related words made by AI

Oh, and by the way, just to test it, I typed a single sentence of my own (“I went to a cafe in Seto yesterday.”) into the n8n input form, and…

I entered just one sentence, and the AI expanded it into a 100+ word cafe story (made up)

The AI expanded it on its own into a cafe story of more than 100 words. lol

The cafe name “Komorebi” and the cake inspired by lattes and pottery are all made up by the AI. (It’s not a real place.)

Give it a long article and it summarizes it to about 120 words; give it a short sentence and it fills in the rest with its imagination. Since I ask it to “write 100–120 words of English for shadowing,” it seems the AI did its best to make up the difference. I thought that was kind of fun in its own way.

③ Make audio in three accents

Edge TTS reads the finished English text aloud in American, British and Australian accents and saves each as an audio file.

And for each one, whether it’s a male or female voice is random.

AccentVoice (one of the two, at random)
AmericanChristopher (male) / Aria (female)
BritishRyan (male) / Sonia (female)
AustralianWilliam (male) / Natasha (female)

The text and audio are saved in Obsidian as a card. You can listen to all three audio files right inside Obsidian too.

The card saved in Obsidian, with the US, UK and AU audio (English text blurred)

④ Send it to Anki

With Anki open, press Scan Vault in the Obsidian plugin “Obsidian_to_Anki”, and the card arrives in my “English Shadowing” deck in Anki.

A new card arriving in the English Shadowing deck in Anki

⑤ Compare the accents on the card

The front of the card has US, UK and AU buttons. Press one and that accent plays, with a playback bar.

The front of the card: US, UK and AU buttons, a playback bar and speed buttons

I’ll show how the buttons work, with pictures, in the section below on adding pause, play and stop buttons.

Flip the card over and you see the English text for shadowing, the Japanese translation, and the key expressions and words.

The back of the card: the English text for shadowing (blurred)

That’s how it works now. Now for the update.

After half a year, the audio wasn’t being made

I fed it one article as a test and checked n8n’s execution log. This is what I saw.

n8n execution log: only the HTTP Request that makes the audio has turned red and stopped

Form → Gemini → saving to Obsidian all worked. Only the step that makes the audio (HTTP Request) had turned red and stopped.

The error was a 403 (refused) from Microsoft’s text-to-speech service. Going back through the log, the last time audio was made successfully was May 25.

I asked Claude (my AI assistant) to look into it. The cause was that in October, Microsoft changed how clients connect to its text-to-speech service, and the old version of edge-tts, a library used inside Edge TTS, was being turned away at the door.

I swapped the edge-tts inside the NAS container for 7.3.1, which supports the new check, retried in n8n from the step that failed, and…

Retrying the failed execution in n8n and it succeeding

It turned green, and all three audio files were made ♪( ´θ`)ノ

The fix was a bit tricky (for example, just updating the container image didn’t fix it), so I wrote up the steps in a separate post. If you’re stuck on the same “edge-tts 403” error, take a look.

Edge TTS 403 Error Fix: When openai-edge-tts on Synology Stops Making Audio

Oh, and by the way, Edge TTS uses the “Read aloud” feature of Microsoft Edge in an unofficial way. So it seems best to keep the audio you make for your own study. That’s also why I show screenshots in this post instead of embedding the audio itself.

The audio didn’t play in Anki on my phone

Suitman with one earphone out, tilting his head because no sound is coming

Now that the audio was being made, I opened Anki on my phone too, and…

Anki on a phone: pressing the button does nothing and a Card Content Error appears

Pressing the button did nothing. And below it was an error: “Card Content Error: Failed to load ‘downloadfile.bin’”.

The last time audio didn’t play on my phone, the cause was kanji in the audio file names, which stopped them from syncing through AnkiWeb.

But this time, the file names are only letters and numbers.

The cause: how I built the speed buttons

I asked Claude to look into it, and the cause was how I had built things in June when I added the playback speed buttons.

Back then, I made the buttons find out which audio file to play by asking an add-on in Anki on my computer (AnkiConnect).

But Anki on my phone doesn’t have AnkiConnect. Desktop add-ons don’t work in the phone version of Anki.

  • The button doesn’t know the name of the file to play, so it does nothing
  • It tries to ask something that isn’t there (AnkiConnect) and fails → that’s the “downloadfile.bin” error

That’s what was going on. In other words, the audio had probably not been playing on my phone ever since I added the speed buttons.

The fix: hide the file name inside the card

As I wrote in Part 4, if you write [sound: inside an Anki card, Anki automatically turns it into a play button, so you can’t just write the file name as is.

So I decided to tuck the file name into the audio field in a hidden form.

AudioUS: ![[20261101_tech_xxxx_us.mp3]] <span class="afn" hidden>20261101_tech_xxxx_us.mp3</span>

A <span> with hidden doesn’t show on the screen, so the card looks the same. I changed the card’s buttons to read the file name from there.

var afn = document.querySelectorAll('#native-audio .afn');
['us', 'uk', 'au'].forEach(function(acc, i) {
  if (afn[i]) { files[acc] = afn[i].textContent.trim(); }
});

Now the card knows the file name without AnkiConnect, on both my computer and my phone. I also updated n8n so it adds this <span> automatically when it makes a card.

Just in case, if the file still can’t be read, it falls back to Anki’s built-in play button.

I opened it on my phone and… it played!!

It worked!! I was so happy ♪( ´θ`)ノ

On top of that, I can now change the playback speed on my phone too, which I couldn’t before.

Adding pause, play and stop buttons

One more thing that bugged me while using it: once the audio started, I couldn’t stop it.

So I had AI add pause/play and stop buttons above the playback bar.

How the card buttons work: American, British and Australian English, back 5 seconds, pause, stop and playback speed
  • ① Back 5 seconds
  • ② Pause/play (toggles each time you press it)
  • ③ Stop (stops and goes back to the start)
  • ④ Playback speed (1.0, 1.25, 1.5x)

They work the same way on my computer and my phone.

Summary

Suitman at a laptop, relieved after asking AI for help

This update came down to three things.

This update
• The audio wasn’t being made → caused by Microsoft’s change; fixed by upgrading edge-tts to 7.3.1
• The audio didn’t play in Anki on my phone → fixed by hiding the file name inside the card (and now the speed can be changed on my phone too)
• Added pause, play and stop buttons

Just by pasting the news I want to shadow, I get cards with a summary, expressions, words and audio in three accents, and I can practice at different speeds on my computer or my phone.

When things like this happen, like the audio not being made or an error showing up, I honestly can’t tell what’s wrong on my own. But AI can work inside n8n for me, and inside Anki through AnkiConnect too, so the most reassuring part is that I can now fix things just by asking in plain words.

It’s become a little easier to use than when I first built it in May and June.

I hope this helps if you’re making your own shadowing material too.

The earlier parts of this series (Parts 1–4) are only in Japanese for now.

☕ Enjoyed this post?

I'm a Japanese blogger who spent 8 years relearning English from scratch.
If this post helped you, a coffee would mean a lot — thank you for reading!