ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Pronunciations

Pronunciations Pronunciations【免费下载链接】LifeOS⛰️ The Life Operating System — an intent engineering platform that moves you from your current state to your ideal state, in life and work.项目地址: https://gitcode.com/GitHub_Trending/pe/LifeOSNames and terms with non-obvious pronunciations. Used by your DAs TTS system.LifeOS→ P-A-I (letters, not pie)Anthropic→ an-THROP-ick要点有二 1. **用途定位**它记录发音不显然non-obvious的人名和术语供 DA 的 TTS 系统使用——这正是语音体验中说对名字的关键数据源 2. **表达方式**采用 **原文** → 音标/读法 的条目式写法例如 LifeOS 要逐字母读作 P-A-I而不是读成 pieAnthropic 读作 an-THROP-ick。 ### 模板 frontmatter 逐字段解读 模板顶部的 YAML frontmatter 是 Pulse v2 页面系统的元数据决定了该文件在发布与渲染管线中的行为 yaml category: voice # 页面归类属于语音voice域 kind: reference # 页面类型reference参考页渲染为键值表 publish: false # 模板本身不对外发布仅作为个人起步脚手架 review_cadence: never # 无需周期性审查 provenance: template # 来源标记template模板→ 编辑后自动变为 customized last_updated: 2026-05-03其中kind: reference意味着该页面在 Pulse v2 UI 中以参考表键值对表格的形式渲染这一点可以从 PULSE/Schema/Snapshots/pronunciations.fixture.html 快照中看到对应的ref-table渲染实现。而provenance字段则与模板流转机制绑定见下节。模板的 provenance 流转机制根据 USER_TEMPLATES/README.md 的说明所有USER_TEMPLATES/下的*.md文件都是每个 Pulse v2 页面的起步脚手架provenance: template—— 公开发布管线会在下一个版本中包含该文件所有运行 LifeOS 的用户都会得到同一份起步内容provenance: customized—— 发布管线会排除该文件你的个性化编辑保持私有。你无需手动翻转该字段系统会检测编辑无论是通过 Pulse 内联编辑器还是直接修改文件 mtime并自动把template翻转为customized。README 同时提到MarkTemplate.ts与MarkCustomized.ts两个 CLI 可用于极少数需要强制覆盖的场景。二、把模板落地为个人发音库模板的用法在 USER_TEMPLATES/README.md 中有标准三步流程对发音模板同样适用复制模板到USER/目录去掉_TEMPLATES后缀cp LIFEOS/USER_TEMPLATES/Pronunciations.md LIFEOS/USER/Pronunciations.md编辑文件写入自己的内容。Pulse 检测到改动后会自动把provenance: template翻转为provenance: customized也可以删掉模板、完全从零编写——Pulse 只要求 manifest 指向的文件真实存在LIFEOS/PULSE/pages/id.manifest.toml。三份文件的角色分工结合仓库实际内容发音定制涉及三份文件职责各不相同文件位置仓库内示例运行时角色谁读取起步模板install/LIFEOS/USER_TEMPLATES/Pronunciations.md随版本分发的脚手架人 / 发布管线用户笔记install/USER/PRINCIPAL/PRONUNCIATIONS.md记录为什么这样读的备注仅人阅读运行时数据源install/USER/PRINCIPAL/PRONUNCIATIONS.jsonTTS 发音覆盖规则VoiceServer 实际读取关键事实语音层不读取 Markdown 笔记只读取同名.json扁平映射。这一点在用户笔记版PRONUNCIATIONS.md开头有醒目标注也在 JSON 文件自身的_comment中再次声明详见下两节。安装到个人环境后运行时路径为~/.claude/LIFEOS/USER/PRINCIPAL/PRONUNCIATIONS.json——该默认路径由 VoiceServer 源码硬编码见第五节。三、真正的数据源PRONUNCIATIONS.json 扁平映射仓库随发行版携带的示例 install/USER/PRINCIPAL/PRONUNCIATIONS.json 全文如下{ _comment: Pronunciation overrides for the TTS layer. Flat map: exact text to match - how it should be spoken. Matching is literal, so add each inflection you actually say (is live, went live). The VoiceServer reads THIS file (LIFEOS/USER/PRINCIPAL/PRONUNCIATIONS.json); the sibling PRONUNCIATIONS.md is human notes only. Delete these examples and add your own., LifeOS: LIFE-ohess, is live: is lyve, went live: went lyve }这份 JSON 定义了三层语义结构原文 - 读音的扁平映射flat map即一个普通对象键是文本原文值是该文本应当被 TTS 念出的读音写法匹配是字面精确的matching is literal不做词形还原、不做大小写归一你实际说出的每个形态都要单独建一条规则。例如同样是 live过去式 went live 与现在时 is live 读音不同就要分别写is live: is lyve和went live: went lyve示例即占位LifeOS: LIFE-ohess是随发行版携带的示例条目注释明确要求删除这些示例、添加你自己的。值得注意的细节是模板中的 LifeOS 读法是逐字母 P-A-Iletters, not pie而用户示例 JSON 中的读法是整体拼读 LIFE-ohess——两者并不冲突前者是模板给出的发音思路后者是发行版示例采用的读法风格你完全可以在自己的 JSON 里按喜好选择任何一种或自创第三种只要键值配对即可。底层实现完全不关心读音字符串的书写风格只负责把原文替换成读音文本见第五节。四、PRONUNCIATIONS.md给人看的发音笔记用户笔记版 install/USER/PRINCIPAL/PRONUNCIATIONS.md 的作用是记录为什么存在这条覆盖规则。其开头明确警告The voice layer does NOT read this file. It reads the siblingPRONUNCIATIONS.json, a flattext: spoken formmap. This markdown file is for your own notes onwhyan override exists; every entry you actually want spoken must also exist in the.json.即笔记不驱动语音条目必须同步存在于.json中才会被念出来。这份笔记提供了三类结构化表格模板供你维护人读视角的发音词典## Names | Word | Pronunciation | Notes | |------|---------------|-------| | (your last name) | (phonetic) | (any context) | ## Technical terms | Word | Pronunciation | Notes | |------|---------------|-------| ## Acronyms | Acronym | Pronunciation | Notes | |---------|---------------|-------| | LifeOS | LIFE-ohess | product name |三张表分别覆盖人名Names、技术术语Technical terms、缩写Acronyms——这三类恰恰是 TTS 最容易读错的领域。表格的 Notes 列用于补充语境如 silent c, soft-t帮助未来的你理解当初为什么这样标。五、源码级原理VoiceServer 如何编译与套用发音规则发音规则的实际执行者是 Pulse 的语音服务端 PULSE/VoiceServer/voice.ts。其实现分为加载编译与文本替换两段值得逐行理解。5.1 加载与编译loadPronunciations源码位于voice.ts第 169–197 行。默认读取路径硬编码为用户主目录下的安装产物const paiDir join(homedir(), .claude, LIFEOS) const userPronPath customPath ?? join(paiDir, USER, PRINCIPAL, PRONUNCIATIONS.json)支持通过customPath对应配置项pronunciations_path见voice.ts第 29 行覆盖默认位置文件存在则JSON.parse得到扁平映射并逐条编译为正则规则escapeRegex第 165–167 行先把术语中的正则特殊字符.*?^${}()|[\]\\等全部转义保证字面匹配词边界锚定技巧第 182–183 行只在术语首/尾字符是单词字符\w时才添加\b。源码注释点明了原因——\b只存在于单词字符旁边若在.env这种以点开头的术语前加\b或在Live.这种以点结尾的术语后加\b规则会静默失效。因此const lead /^\w/.test(term) ? \\b : const tail /\w$/.test(term) ? \\b : 若文件缺失仅记录一条 warningTTS will use default pronunciations不影响服务启动。5.2 文本替换applyPronunciations源码位于voice.ts第 199–205 行function applyPronunciations(text: string): string { let result text for (const rule of pronunciationRules) { result result.replace(rule.regex, rule.phonetic) } return result }所有规则按声明顺序依次替换前一条替换的结果会进入下一条匹配。因此在 JSON 中把更具体的短语如 is live排在更泛的词如 live之前可以获得更可预期的结果。5.3 在 TTS 管线中的位置发音替换发生在同形异义词消歧之后、真正交给 TTS 合成之前voice.ts第 330 行附近const pronouncedText applyPronunciations(disambiguateHomographs(text))这意味着一份文本会先经过同形异义词处理例如区分 live 的两种读法再套用你的发音覆盖规则最终才进入 ElevenLabs 等 TTS 引擎。此外启动日志与健康检查会报告已加载的规则数量loadPronunciations成功时输出loaded N pronunciation rules健康/状态信息中也会带上pronunciation_rules计数见voice.ts第 654、670 行方便你确认自己的 JSON 是否真的被加载。六、两种录入途径/interview 与直接编辑6.1 通过 /interview 交互采集用户笔记版PRONUNCIATIONS.md明确建议运行/interview来捕获 DA 必须念对的词。其背后的采集逻辑在 TOOLS/InterviewScan.ts 第 101 行附近访谈问题包含Your name (with pronunciation if uncommon)?即访谈流程会在问及姓名时主动索要非常规发音把容易念错的名字在源头就收集下来。同时主身份配置中也为发音预留了字段——TOOLS/LifeosConfig.ts 第 37 行定义了pronunciation?: string并在第 174 行把principal.pronunciation映射进配置结构说明发音是 DA 身份建模中的一等公民。6.2 直接编辑 JSON更直接的方式是手动编辑~/.claude/LIFEOS/USER/PRINCIPAL/PRONUNCIATIONS.json仓库内示例见 install/USER/PRINCIPAL/PRONUNCIATIONS.json。编辑时注意保留_comment字段的语义约定匹配是字面精确的把每个实际会说的形态都单独建条例如同时维护is live与went live读音字符串就是你希望 TTS 念出的文本可以用音节化拼写如LIFE-ohess、逐字母读法如P-A-I或自定义音标风格修改后需让 VoiceServer 重新加载——从源码看发音规则在服务启动/配置加载阶段voice.ts第 640 行loadPronunciations(config.pronunciations_path)读入重启或触发重新加载后生效。七、参考页渲染与 Schema fixture发音页面在 Pulse v2 中属于kind: reference页面其构建产物的 schema 示例见 PULSE/Schema/Fixtures/pronunciations.reference.json{ kind: reference, title: Pronunciations, category: voice, description: Names and terms with non-obvious pronunciations., entries: [ { key: Schmidt, value: shmit, notes: silent c, soft-t }, { key: LifeOS, value: P-A-I, notes: letters not pie } ], meta: { schemaVersion: 1.0.0, pageId: pronunciations, lastBuildAt: 2026-05-03T01:00:00.000Z, sourceHashes: { LIFEOS/USER/PRINCIPAL/PRONUNCIATIONS.json: ghi789 }, adapterVersion: pronunciations-v1, model: claude-sonnet-4-6, costUSD: 0.005, latencyMs: 1800, provenance: customized, warnings: [] } }【免费下载链接】LifeOS⛰️ The Life Operating System — an intent engineering platform that moves you from your current state to your ideal state, in life and work.项目地址: https://gitcode.com/GitHub_Trending/pe/LifeOS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表