Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 18 additions & 1 deletion docs/adr/0009-listening-handout-pdf.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,5 +37,22 @@ Status: accepted
- **补充稿按题型切片**:`sup-2025-07/g1..g4.json` 分别对应 問題1+2(11 题)、問題3(5 题)、問題4(11 题)、問題5(3 题)。切片中间稿在 `in-2025-07/g*.json`,字段与题库数据同形,交给子任务时不必再贴数据。
- **页数区间要放宽**:問題4 只有一句台词,讲义是 4 页;其余 5–7 页。`tools/listening-handout.mjs` 的 `TARGET_PAGES = [5, 8]` 只用于提示文案、不参与判定,所以 4 页的题不会被判失败。
- **2025.07 的题目来源不是 OCR 脚本**:原文取自 learnjp 的扫描 PDF(`pdftoppm` 后逐页人读 + whisper small 转写对齐),答案三源交叉(learnjp / aixinjp / PDF 的「答え」行);問題4 网页答案与 PDF 逐题冲突时**以 PDF 为准**。
- **問題1/2 的选项是重建的**:这一卷流传的音频与 PDF 都只印「問題:/答え:」,四个选项无处可查(见 `.scratch/listening-2025-07/NOTES.md`)。处理方式是「按原文动作整理 4 个选项 + 在题库数据的 `note` 字段与讲义 03 节末尾各标一句来源说明」,答案仍用官方答案。`listening.js` 因此新增了逐题 `note` 渲染(`.q-note`)。
- **問題1/2 的选项换成了卷面原文**:最初流传的整卷音频(喜马拉雅)是单人重录、25 分钟删节版,原文 PDF 也只印「問題:/答え:」,四个选项无处可查,一度按原文动作重组并在题库 `note` 与讲义末尾标注(`listening.js` 的 `.q-note` 就是那时加的)。后来找到 YouTube「Choukai JLPT N2 7/2025」的考场原版录音(44:49,含「天気がいいから散歩しましょう」试音),其画面逐帧抄出 44 个卷面选项,同时用它重切 29 段音频——数据里的 `note` 随之删除,讲义也不再带那句声明。**现在这卷的选项与音频都来自真题本身**,`.q-note` 能力保留给以后的卷子。
- 注音层对第二卷没做逐 token 审计,只抽查了多音字(空/生/作/光/少/混/込/経/手/方/後/日/時/行/上/入/出/会/家)与整词(一人前 いちにんまえ、湖 みずうみ、砂浜 すなはま)——抽到的都对得上上下文。若将来发现错读,改 `ruby.mjs` 的修正表后**两卷都要重生成**。

## 补记:第三卷 2023.07(2026-11)

2023.07 卷沿用同一套七节版式与命名规则(`202307_<section>_Q<n>.pdf`),生成命令:

```
cd .scratch/listening-pdf && node gen.mjs --exam 2023-07 --root ../..
```

与首卷的差异:

- **原文/选项/答案的来源是真题卷面**:`learnjapaneseaz.com` 的「2023年7月N2听解原文与答案回忆版」11 页扫描图,問題1・2 的四个选项印在卷面,問題3・4・5-1 的选项在录音里念出,逐题与 `exam/data/N2/audio/202307_*.mp3` 的转写核对(`.scratch/listening-2023-07/asr-2023.txt`)。这套卷**没有「选项是整理出来的」这条声明**——卷面本来就有。
- **一处答案冲突**:問題1 5番的回忆版把红字标在 4「来場者の案内をする」,但录音原文是「封筒を各机に置いて準備は完了です」「当日は来場者の案内もお願いします」——今天要做的只有「机に封筒を置く」,故取 **3**(`exam/data/N2/2023-07.js` 也是 3)。记在这里是因为「回忆版红字」通常是最可信的单一来源,例外得留痕。
- **补充稿仍分两组写**:`sd-2023-07/gN.json`(学习页用的译文/单词/语法,由 `.scratch/listening-2023-07/build-data.mjs` 合进 `listening/data/N2/2023-07.js`)与 `sup-2023-07/gN.json`(讲义用),两边一起跑 `check-sup.mjs` 交叉校验(译文行数、例句逐字出现、覆盖关系)。
- **問題4 只有 4 页**:即时应答每题仅一句台词、三个三选项,天然短,`TARGET_PAGES` 只用于提示文案,不参与判定。
- 新增卷时仍需改 `tools/listening-handout.mjs` 的 `EXAMS`(现为 `['2021-07', '2025-07', '2023-07']`)并重跑 `node tools/test.mjs`。

858 changes: 858 additions & 0 deletions listening/data/N2/2023-07.js

Large diffs are not rendered by default.

Binary file added listening/data/N2/audio/202307_1_Q1.mp3
Binary file not shown.
Binary file added listening/data/N2/audio/202307_1_Q2.mp3
Binary file not shown.
Binary file added listening/data/N2/audio/202307_1_Q3.mp3
Binary file not shown.
Binary file added listening/data/N2/audio/202307_1_Q4.mp3
Binary file not shown.
Binary file added listening/data/N2/audio/202307_1_Q5.mp3
Binary file not shown.
Binary file added listening/data/N2/audio/202307_2_Q1.mp3
Binary file not shown.
Binary file added listening/data/N2/audio/202307_2_Q2.mp3
Binary file not shown.
Binary file added listening/data/N2/audio/202307_2_Q3.mp3
Binary file not shown.
Binary file added listening/data/N2/audio/202307_2_Q4.mp3
Binary file not shown.
Binary file added listening/data/N2/audio/202307_2_Q5.mp3
Binary file not shown.
Binary file added listening/data/N2/audio/202307_2_Q6.mp3
Binary file not shown.
Binary file added listening/data/N2/audio/202307_3_Q1.mp3
Binary file not shown.
Binary file added listening/data/N2/audio/202307_3_Q2.mp3
Binary file not shown.
Binary file added listening/data/N2/audio/202307_3_Q3.mp3
Binary file not shown.
Binary file added listening/data/N2/audio/202307_3_Q4.mp3
Binary file not shown.
Binary file added listening/data/N2/audio/202307_3_Q5.mp3
Binary file not shown.
Binary file added listening/data/N2/audio/202307_4_Q1.mp3
Binary file not shown.
Binary file added listening/data/N2/audio/202307_4_Q10.mp3
Binary file not shown.
Binary file added listening/data/N2/audio/202307_4_Q11.mp3
Binary file not shown.
Binary file added listening/data/N2/audio/202307_4_Q2.mp3
Binary file not shown.
Binary file added listening/data/N2/audio/202307_4_Q3.mp3
Binary file not shown.
Binary file added listening/data/N2/audio/202307_4_Q4.mp3
Binary file not shown.
Binary file added listening/data/N2/audio/202307_4_Q5.mp3
Binary file not shown.
Binary file added listening/data/N2/audio/202307_4_Q6.mp3
Binary file not shown.
Binary file added listening/data/N2/audio/202307_4_Q7.mp3
Binary file not shown.
Binary file added listening/data/N2/audio/202307_4_Q8.mp3
Binary file not shown.
Binary file added listening/data/N2/audio/202307_4_Q9.mp3
Binary file not shown.
Binary file added listening/data/N2/audio/202307_5_Q1.mp3
Binary file not shown.
Binary file added listening/data/N2/audio/202307_5_Q2.mp3
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_1_Q1.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_1_Q2.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_1_Q3.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_1_Q4.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_1_Q5.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_2_Q1.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_2_Q2.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_2_Q3.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_2_Q4.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_2_Q5.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_2_Q6.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_3_Q1.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_3_Q2.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_3_Q3.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_3_Q4.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_3_Q5.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_4_Q1.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_4_Q10.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_4_Q11.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_4_Q2.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_4_Q3.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_4_Q4.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_4_Q5.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_4_Q6.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_4_Q7.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_4_Q8.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_4_Q9.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_5_Q1.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_5_Q2.pdf
Binary file not shown.
Binary file added listening/data/N2/pdf/202307_5_Q3.pdf
Binary file not shown.
2 changes: 1 addition & 1 deletion listening/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ <h3>全部题目</h3>
{ level: 'N2', exam: '2021-12', label: '2021.12', available: false },
{ level: 'N2', exam: '2022-07', label: '2022.07', available: false },
{ level: 'N2', exam: '2022-12', label: '2022.12', available: false },
{ level: 'N2', exam: '2023-07', label: '2023.07', available: false },
{ level: 'N2', exam: '2023-07', label: '2023.07', available: true },
{ level: 'N2', exam: '2023-12', label: '2023.12', available: false },
{ level: 'N2', exam: '2025-07', label: '2025.07', available: true },
{ level: 'N1', exam: '2021-07', label: '2021.07', available: false },
Expand Down
2 changes: 1 addition & 1 deletion tools/listening-handout.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import { fileURLToPath } from 'node:url';

const ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..');
const LEVEL = 'N2';
const EXAMS = ['2021-07', '2025-07']; // 已出讲义的卷;新增卷时在这里加
const EXAMS = ['2021-07', '2025-07', '2023-07']; // 已出讲义的卷;新增卷时在这里加
const MIN_BYTES = 50 * 1024; // 缺字体的空壳 PDF 通常远小于此
const TARGET_PAGES = [5, 8]; // 期望页数区间(无 PDF 解析库,只能靠体量间接判断)

Expand Down
Loading