Add Lektion 1 (combined course book + workbook + audio transcripts)
This commit is contained in:
@@ -7,8 +7,7 @@ exact context on my vocabulary and grammar level when we study together.
|
||||
## How to use this with Claude
|
||||
|
||||
At the start of a study session, point Claude at the relevant lesson file(s)
|
||||
under the current book folder (e.g. `A1.1/course-book/lesson-05.md` and
|
||||
`A1.1/workbook/lesson-05.md`), or the whole `A1.1/INDEX.md` for a running
|
||||
(e.g. `A1.1/lektion-05.md`), or the whole `A1.1/INDEX.md` for a running
|
||||
summary. Ask Claude to only use vocabulary/grammar that appears in those
|
||||
files (or earlier lessons) when creating exercises, example sentences, or
|
||||
corrections — this keeps practice within what I've actually learned.
|
||||
@@ -17,52 +16,68 @@ corrections — this keeps practice within what I've actually learned.
|
||||
|
||||
```
|
||||
A1.1/
|
||||
course-book/lesson-XX.md ← vocab, grammar, dialogues from the course book
|
||||
workbook/lesson-XX.md ← additional vocab/exercise types from the workbook
|
||||
INDEX.md ← one-line summary of every lesson so far
|
||||
A1.2/ ← added once I move on to the next book
|
||||
lektion-XX.md ← everything for one lesson: vocab, grammar, communication
|
||||
patterns, course book + workbook exercise summaries,
|
||||
official audio transcripts, answer key highlights
|
||||
_template.md ← template used to build each lektion-XX.md
|
||||
INDEX.md ← one-line summary of every lesson so far
|
||||
A1.2/ ← added once I move on to the next book
|
||||
...
|
||||
scripts/
|
||||
transcribe.py ← local ASR fallback (faster-whisper) for audio with no
|
||||
official transcript
|
||||
```
|
||||
|
||||
Each lesson is one combined file rather than separate course-book/workbook
|
||||
files, because *Menschen*'s workbook exercises constantly reference course
|
||||
book sections (e.g. "KB 2b") and share the same grammar — splitting them
|
||||
apart would just duplicate content.
|
||||
|
||||
## Adding a new lesson
|
||||
|
||||
1. Upload photos or a PDF of the course book / workbook pages for that lesson.
|
||||
2. Claude extracts content into `lesson-XX.md` using `_template.md`.
|
||||
1. Get the course book pages, workbook pages, and (if available) the
|
||||
official Hueber Transkriptionen PDF pages for that lesson — as PDFs,
|
||||
photos, or a folder path.
|
||||
2. Claude extracts/summarizes content into `lektion-XX.md` using
|
||||
`_template.md`: vocabulary (from the workbook's Lernwortschatz page),
|
||||
grammar boxes, communication patterns, a brief summary of what each
|
||||
exercise practices (not full exercise text), audio transcripts, and
|
||||
answer key highlights.
|
||||
3. Review and correct anything Claude got wrong or over-summarized.
|
||||
4. Update `INDEX.md` with a one-line entry for the lesson.
|
||||
5. Commit.
|
||||
|
||||
## Audio (listening exercises)
|
||||
|
||||
Hueber (the publisher) releases official **Transkriptionen** PDFs for both
|
||||
the Kursbuch (course book) and Arbeitsbuch (workbook) — these are the
|
||||
primary source for audio content, not the *Lösungsschlüssel* (answer key,
|
||||
found at the back of the workbook, which is a different thing). Raw audio
|
||||
files are **not** stored in this repo (see `.gitignore`); only transcripts
|
||||
(text) are, since that's what gives Claude context.
|
||||
Hueber releases official **Transkriptionen** PDFs for both the Kursbuch
|
||||
(course book) and Arbeitsbuch (workbook) — these are the primary source for
|
||||
audio content, not the *Lösungsschlüssel* (answer key — a different
|
||||
document). Raw audio files are **not** stored in this repo (see
|
||||
`.gitignore`); only transcripts (text) are, since that's what gives Claude
|
||||
context.
|
||||
|
||||
Primary workflow — official transcripts:
|
||||
1. Get the Kursbuch and Arbeitsbuch Transkriptionen PDFs for the relevant book
|
||||
(A1.1, A1.2, ...) — search "Menschen [level] Kursbuch/Arbeitsbuch
|
||||
Transkriptionen pdf Hueber", or check the publisher's site.
|
||||
2. Send/upload the pages for a lesson the same way as course book/workbook
|
||||
content — Claude extracts the per-track dialogue text into that lesson's
|
||||
`.md` file under "Audio / Listening".
|
||||
1. Get the Kursbuch and Arbeitsbuch Transkriptionen PDFs for the relevant
|
||||
book (A1.1, A1.2, ...).
|
||||
2. Extract the per-track dialogue text into that lesson's `.md` file under
|
||||
"Audio / Listening", marked as official-sourced.
|
||||
3. No review needed for accuracy — these are publisher-official text, not ASR.
|
||||
|
||||
Fallback workflow — local ASR (only if no official transcript exists for a
|
||||
given track, e.g. supplementary listening material):
|
||||
1. Get the audio files locally (publisher CD/app/download), any folder outside git.
|
||||
2. Run `scripts/transcribe.py` (uses `faster-whisper` on GPU) to transcribe them:
|
||||
1. Get the audio files locally (publisher CD/app/download), any folder
|
||||
outside git.
|
||||
2. Run `scripts/transcribe.py` (uses `faster-whisper` on GPU) to transcribe
|
||||
them:
|
||||
```bash
|
||||
pip install faster-whisper
|
||||
python scripts/transcribe.py "<path-to-lesson-audio>" "A1.1/course-book/transcripts/lektion-XX"
|
||||
python scripts/transcribe.py "<path-to-lesson-audio>" "A1.1/transcripts/lektion-XX"
|
||||
```
|
||||
3. Skim the `.txt` output for ASR mistakes (names, numbers, fast speech) and fix them.
|
||||
4. Reference/paste the transcript into the lesson's `.md` file under "Audio / Listening",
|
||||
flagged as ASR-generated (the template already does this), or point at the
|
||||
`transcripts/lektion-XX/*.txt` path — transcripts are small text files so
|
||||
committing them is fine.
|
||||
3. Skim the `.txt` output for ASR mistakes (names, numbers, fast speech) and
|
||||
fix them.
|
||||
4. Reference/paste the transcript into the lesson's `.md` file under "Audio
|
||||
/ Listening", flagged as ASR-generated — transcripts are small text
|
||||
files so committing them is fine.
|
||||
|
||||
## Adding a new book (e.g. A1.2)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user