Skip to content

testfeat: Add initial pronunciation practice tool #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

jokemon
Copy link

@jokemon jokemon commented May 21, 2025

This commit introduces a new web application designed to help you improve your English pronunciation.

Key features include:

  • File Upload: You can upload a TXT file containing English text and an MP3 audio file of your reading.
  • Speech-to-Text (STT): The backend uses Google Cloud Speech-to-Text (GCP STT) to transcribe your audio. (Requires GCP setup).
  • Text Comparison: The original text is compared with the transcribed text using difflib to identify discrepancies.
  • Results Display: The frontend shows the original text, the transcribed text, and a highlighted diff of the comparison.
  • Issue Storage: Identified pronunciation differences (problematic words/phrases) are stored in your session.
  • Exercise Page: A dedicated page (/exercise) displays these stored issues, providing targeted practice material.
  • Backend & Frontend: Implemented using Flask for the backend and vanilla JavaScript for the frontend.
  • Unit Tests: Basic unit tests for the Flask backend logic have been added, covering file handling, STT mocking, session management, and page rendering.

The tool is structured within the pronunciation_practice_tool directory, containing templates, static assets, upload handling, and tests.

This commit introduces a new web application designed to help you improve your English pronunciation.

Key features include:
-   **File Upload:** You can upload a TXT file containing English text and an MP3 audio file of your reading.
-   **Speech-to-Text (STT):** The backend uses Google Cloud Speech-to-Text (GCP STT) to transcribe your audio. (Requires GCP setup).
-   **Text Comparison:** The original text is compared with the transcribed text using difflib to identify discrepancies.
-   **Results Display:** The frontend shows the original text, the transcribed text, and a highlighted diff of the comparison.
-   **Issue Storage:** Identified pronunciation differences (problematic words/phrases) are stored in your session.
-   **Exercise Page:** A dedicated page (`/exercise`) displays these stored issues, providing targeted practice material.
-   **Backend & Frontend:** Implemented using Flask for the backend and vanilla JavaScript for the frontend.
-   **Unit Tests:** Basic unit tests for the Flask backend logic have been added, covering file handling, STT mocking, session management, and page rendering.

The tool is structured within the `pronunciation_practice_tool` directory, containing templates, static assets, upload handling, and tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant