Repolode
luzhenhua

luzhenhua/echo-flow

A static web app for sentence-by-sentence English listening and shadowing practice with your own mp3 and lrc files, stored locally in the browser.

Stars
2,323
Forks
407
Open issues
2
Last commit
3 months ago

What is it?

EchoFlow is a browser-based tool for English listening and shadow-reading practice. You import your own audio (mp3) and synced subtitles (lrc) by folder, multi-file selection, or zip archive. Clicking any sentence starts playback from that point, the current sentence is highlighted as audio plays, and playback can continue automatically through the lesson.

The interface supports EN, EN+CN, and CN display modes, plus playback speed control, a continuous or sentence-only play mode, loop modes, and resume from the last position. Keyboard shortcuts cover play/pause, navigation, and volume. Lessons can be favorited, progress is tracked, and sentences can be saved to a list for reading aloud.

Imported files are stored only in the user's own browser via IndexedDB and are not uploaded to a server. The project is a pure static site with no dependencies, so it can be opened through a local HTTP server, Node's serve, or a Docker image.

Key features

  • 01Import your own mp3 and lrc files by folder, multi-select, or zip.
  • 02Click any sentence to play from that point with automatic highlighting.
  • 03EN, EN+CN, and CN display modes.
  • 04Adjustable playback speed, sentence and continuous play modes, and loop modes.
  • 05Keyboard shortcuts for play, pause, navigation, and volume.
  • 06Imported content stays in the browser's IndexedDB storage.

Use cases

  • Shadow-reading practice with lessons you already own as mp3 and lrc files.
  • Sentence-by-sentence listening drills with repeat loops on difficult passages.
  • Studying on a phone or desktop browser with resume-where-you-left-off playback.

Quick start

  1. 1

    Run the Docker container

    docker run -d -p 8080:80 --name echo-flow --restart unless-stopped luzhenhua/echo-flow:latest
  2. 2

    Open http://localhost:8080 in your browser

Things to know

  • The app includes no audio or lesson content, so you must import your own mp3 and lrc files.
  • It must be served over HTTP; opening index.html directly will not load the data files.

In collections

Topics

FAQ

What is echo-flow?
A static web app for sentence-by-sentence English listening and shadowing practice with your own mp3 and lrc files, stored locally in the browser. EchoFlow is a browser-based tool for English listening and shadow-reading practice. You import your own audio (mp3) and synced subtitles (lrc) by folder, multi-file selection, or zip archive. Clicking any sentence starts playback from that point, the current sentence is highlighted as audio plays, and playback can continue automatically through the lesson.
Is echo-flow free to use? What license does it have?
echo-flow is open source under the MIT license. Check the license terms before using it in commercial products.
Is echo-flow still maintained?
Updated within 6 months. The last commit to echo-flow was on Aug 7, 2026.
What can I use echo-flow for?
Shadow-reading practice with lessons you already own as mp3 and lrc files. Sentence-by-sentence listening drills with repeat loops on difficult passages. Studying on a phone or desktop browser with resume-where-you-left-off playback.
How do I install echo-flow?
Run the Docker container: docker run -d -p 8080:80 --name echo-flow --restart unless-stopped luzhenhua/echo-flow:latest Open http://localhost:8080 in your browser
Where can I get echo-flow?
The source code and installation instructions are on GitHub: https://github.com/luzhenhua/echo-flow

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects