Mobile-first static German speaking course. No backend, no build step.
# 1. Install Python deps
python3 -m venv .venv
source .venv/bin/activate
pip install -r scripts/requirements.txt
# 2. Copy env config
cp .env.example .env
# 3. (Optional) check available German voices
say -v '?'
# Edit .env → set MACOS_TTS_VOICE to a de_DE voice you have, e.g. Anna, Markus
# 4. Install high-quality voices (optional)
# System Settings → Accessibility → Spoken Content → System Voice → Manage Voices
# Download a German (Germany) voice
# 5. Generate audio
python scripts/generate_audio.py --all
# or a single lesson:
python scripts/generate_audio.py --lesson day01
# 6. Start local server (required — fetch won't work over file://)
python3 -m http.server 8000
# Open: http://localhost:8000python scripts/generate_audio.py --lesson day01 # generate day01
python scripts/generate_audio.py --lesson day01 --force # overwrite existing
python scripts/generate_audio.py --all # all lessons
python scripts/generate_audio.py --all --force # regenerate everything- Push all files (including
assets/audio/) to a GitHub repo. - Enable GitHub Pages from the
mainbranch root. - Open the Pages URL on your iPhone.
The audio files are preloaded on page load — load once on WiFi, use offline.