A Streamlit-based web application for A1-level Dutch learners to practice pronunciation with real-time AI feedback.
macOS:
brew install ffmpeg
Ubuntu/Debian:
sudo apt update
sudo apt install ffmpeg
Windows: Download from ffmpeg.org and add to PATH.
pip install -r requirements.txt
Start the application:
streamlit run main.py
Open your browser to the URL shown (usually http://localhost:8501)
Practice:
dutch-tutor/
βββ main.py # Streamlit entry point
βββ requirements.txt # Python dependencies
βββ README.md # This file
βββ arch.md # Architecture documentation
βββ utils/
β βββ audio_processor.py # Audio format conversion
β βββ tts_engine.py # Text-to-Speech wrapper
β βββ stt_engine.py # Speech-to-Text wrapper
βββ logic/
β βββ scorer.py # Pronunciation scoring logic
β βββ sentences.py # A1 practice sentences
βββ assets/ # Temporary audio files
By default, the app uses the base Whisper model. You can change this in utils/stt_engine.py:
tiny: Fastest, least accuratebase: Good balance (recommended)small: More accurate, slowermedium or large: Most accurate, very slowAdjust pronunciation tolerance in logic/scorer.py by changing fuzzy_threshold (default: 85).
Install the audio recorder component:
pip install audio-recorder-streamlit
The first time you run the app, Whisper will download the model (~140MB for base). Ensure you have a stable internet connection.
Feel free to add more A1 sentences, improve the UI, or enhance the feedback algorithm!
MIT License - Feel free to use and modify for your learning needs.
2 commits
Python
95.1%
Shell
2.9%
Batchfile
2.0%
A Streamlit-based web application for A1-level Dutch learners to practice pronunciation with real-time AI feedback.
macOS:
brew install ffmpeg
Ubuntu/Debian:
sudo apt update
sudo apt install ffmpeg
Windows: Download from ffmpeg.org and add to PATH.
pip install -r requirements.txt
Start the application:
streamlit run main.py
Open your browser to the URL shown (usually http://localhost:8501)
Practice:
dutch-tutor/
βββ main.py # Streamlit entry point
βββ requirements.txt # Python dependencies
βββ README.md # This file
βββ arch.md # Architecture documentation
βββ utils/
β βββ audio_processor.py # Audio format conversion
β βββ tts_engine.py # Text-to-Speech wrapper
β βββ stt_engine.py # Speech-to-Text wrapper
βββ logic/
β βββ scorer.py # Pronunciation scoring logic
β βββ sentences.py # A1 practice sentences
βββ assets/ # Temporary audio files
By default, the app uses the base Whisper model. You can change this in utils/stt_engine.py:
tiny: Fastest, least accuratebase: Good balance (recommended)small: More accurate, slowermedium or large: Most accurate, very slowAdjust pronunciation tolerance in logic/scorer.py by changing fuzzy_threshold (default: 85).
Install the audio recorder component:
pip install audio-recorder-streamlit
The first time you run the app, Whisper will download the model (~140MB for base). Ensure you have a stable internet connection.
Feel free to add more A1 sentences, improve the UI, or enhance the feedback algorithm!
MIT License - Feel free to use and modify for your learning needs.
2 commits
Python
95.1%
Shell
2.9%
Batchfile
2.0%