Skip to content

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