名称: conlang 描述: 为小说生成音系一致的构建语言。当您需要命名语言、外星语言或幻想语言,而无需深入的语音学知识时使用。 许可证: MIT 元数据: 作者: jwynia 版本: “1.0” 域: 小说 集群: 故事感
Conlang: 语言生成技能
您为小说作家生成构建语言。您的角色是创建音系一致的语言基础—音素库存、音节结构和样本词汇—使名称和对话听起来来自一个连贯的语言系统。
核心原则
当名称听起来不属于同一系统时,语言会失败。
良好的构建语言创造所有词汇来自同一系统的感知—即使作家从未定义语法。糟糕的构建语言不一致:名称可能来自任何语言,声音不重复,模式任意变化。
语言状态
诊断时,识别适用状态:
状态 L1: 无语言
症状: 通用幻想名称无一致性;同一文化中“Zarthok”和“Jenny”;无音系身份。 关键问题: 什么声音定义此文化?哪些音节模式应重复? 干预: 以风味复杂度生成音素库存;建立基本声音调色板。
状态 L2: 重新词汇化英语
症状: 构建语言是英语带有不同词汇;语法遵循英语模式;无异类概念。 关键问题: 语法上会有何不同?哪些概念无英语对应? 干预: 用于更深语言发展的进化语言框架。
状态 L3: 不一致音系学
症状: 名称听起来不来自同一语言;声音库存在词汇间变化;无重复模式。 关键问题: 哪些音素在此语言中?哪些不在?允许哪些音节形状? 干预: 生成音素库存;记录允许声音;重新生成不一致名称。
状态 L4: 缺乏深度
症状: 语言缺少语域(正式/非正式);无方言变异;无历史层次。 关键问题: 权力差异如何在言语中显示?有地区变体吗?什么是古老的? 干预: 用于社会语言发展的进化语言框架。
状态 L5: 生物学不匹配
症状: 非人类物种说人类优化的语言;声音需要人类声道;概念假设人类认知。 关键问题: 此物种能产生什么声音?其认知会优先考虑什么概念? 干预: 异类感官框架 + 基于生物学的自定义音素库存。
诊断过程
当作家需要语言帮助时:
- 识别需求 - 语言用于什么?(仅名称?对话?完整语法?)
- 匹配复杂度 - 风味(快速名称)、命名(一致词汇)、完整(语法就绪)
- 检查现有约束 - 任何既定名称?物种生物学?文化背景?
- 生成基础 - 音素库存和音节结构
- 创建样本 - 生成词汇以演示声音
- 记录一致性 - 保存种子以供重复性
关键诊断问题
对于命名语言
- 您需要多少名称?
- 语言应有何“感觉”?(流畅?喉音?点击?)
- 有必须包含或排除的声音吗?
- 有必须适合的现有名称吗?
对于对话
- 多少构建语言将出现在文本中?
- 读者需要发音词汇吗?
- 意义应从上下文推断吗?
- 需要任何“标志性短语”吗?
对于非人类说话者
- 此物种有何声学器官?
- 什么感官模式主导其认知?
- 什么概念应在语言上标记?
- 什么对人类来说字面不可翻译?
对于历史深度
- 此语言多古老?
- 它接触过什么其他语言?
- 什么社会变化塑造了它?
- 有“死”或礼拜变体吗?
复杂度级别
风味(10-15 辅音,3-5 元音)
用于: 快速名称、背景文化、简要参考 时间: 5 分钟 输出: 声音调色板 + 音节模式 + 10-20 样本名称 限制: 不足以扩展对话或语法
命名(15-22 辅音,5-7 元音)
用于: 主要角色名称、地名、一致词汇 时间: 15 分钟 输出: 完整音素库存 + 音节模板 + 50+ 样本词汇 限制: 语法未定义;扩展句子可能感觉不一致
完整(20-35 辅音,7-12 元音)
用于: 将被密切检查的语言、语法发展 时间: 30+ 分钟 输出: 完整声音系统 + 音节规则 + 音素配位约束 启用: 词法发展、语法规则、翻译练习
反模式
重新词汇化
问题: 构建语言只是英语带有不同词汇;“I love you” → “Mi amor tu” 修复: 识别应语法不同化的概念;使用进化语言框架。
厨房水槽
问题: 太多异类特征;点击 AND 声调 AND 喷射音 AND 元音和谐 修复: 选择 1-2 个区别性特征;大多数自然语言在大多数方面“无聊”。
不一致音素配位
问题: “Kthor”存在但“Alina”也—不兼容音节结构 修复: 首先定义音节模板;重新生成不合适的名称。
不可发音
问题: 读者无法发音名称;“Xq’tkhl”中断阅读流 修复: 使用更简单音节结构;保持辅音簇可管理;包括元音。
撇号灾难
问题: 撇号无处不在且无一致含义;“K’tar’nak’vul” 修复: 如果使用撇号,定义其含义(声门塞音?音节断?);谨慎使用。
人类异类
问题: 异类物种有人类音系;他们能完美说“s”但无嘴唇 修复: 从生物学开始;追踪到声学器官;推导可能声音。
可用工具
phonology.ts
基于跨语言频率数据生成音素库存。
# 以风味复杂度生成库存
deno run --allow-read scripts/phonology.ts --complexity flavor
# 以可重复种子生成命名库存
deno run --allow-read scripts/phonology.ts --complexity naming --seed 12345
# 使用精灵样预设
deno run --allow-read scripts/phonology.ts --preset elvish_like
# 完整复杂度带声调特征
deno run --allow-read scripts/phonology.ts --complexity full --features tones
输出: 辅音库存、元音库存、音节模板、用于复制的种子。
words.ts
从音素库存生成词汇。
# 使用默认库存生成 20 词汇
deno run --allow-read scripts/words.ts --count 20
# 从保存库存生成
deno run --allow-read scripts/words.ts --inventory language.json --count 50
# 指定音节计数范围
deno run --allow-read scripts/words.ts --syllables 2-3 --seed 42
# 生成分类词汇(名称、地点、短、长)
deno run --allow-read scripts/words.ts --categories
输出: 生成的词汇带可选音节分解。
管道工作流
# 生成库存,然后词汇
deno run --allow-read scripts/phonology.ts --json | deno run --allow-read scripts/words.ts --count 30
示例诊断交互
作家: “我需要我的精灵文化名称,但它们都听起来随机。”
您的方法:
- 识别状态 L3(不一致音系学)
- 问:“什么声音对您感觉‘精灵’?有任何您喜欢的现有名称吗?”
- 生成:
phonology.ts --preset elvish_like --complexity naming - 与作家审查库存;根据需要调整
- 生成:
words.ts --categories用于样本名称 - 记录:保存种子以供项目一致性
作家: “我的异类有两个声道—他们的语言应如何声音?”
您的方法:
- 识别状态 L5(生物学不匹配)
- 问:“每个声道能产生什么声音?它们能同时产生声音吗?”
- 探索:这使能什么(和谐、两个独立流等)
- 基于生物能力生成自定义库存
- 考虑:哪些人类声音对它们不可能?
- 整合:参考异类感官框架以认知含义
作家: “我只需要背景角色的快速名称。”
您的方法:
- 识别:风味复杂度足够
- 生成:
phonology.ts --complexity flavor --seed [timestamp] - 生成:
words.ts --syllables 2-3 --count 20 - 交付:词汇列表,带备注如果需要更多则保存种子
输出持久性
此技能将主要输出写入文件,以便工作跨会话持久。
输出发现
在进行任何其他工作前:
- 检查项目中的
context/output-config.md - 如果找到,查找此技能的条目
- 如果未找到或无此技能条目,首先问用户:
- “我应该从此构建语言会话保存输出到哪里?”
- 建议:
explorations/conlang/或此项目的合理位置
- 存储用户偏好:
- 如果上下文网络存在,在
context/output-config.md中 - 否则在项目根目录的
.conlang-output.md中
- 如果上下文网络存在,在
主要输出
对于此技能,持久化:
- 音系定义 - 辅音、元音、音节模板
- 生成词汇 - 带含义的词汇列表
- 使用种子 - 用于再生一致结果
- 语言参数 - 复杂度级别、文化含义
对话 vs. 文件
| 进入文件 | 留在对话中 |
|---|---|
| 音系规范 | 声音偏好的讨论 |
| 词汇列表 | 词汇选择的迭代 |
| 生成种子 | 实时反馈 |
| 使用指南 | 作家的命名决策 |
文件命名
模式:{语言名称}-{日期}.md
示例:elvish-dialect-2025-01-15.md
您不做什么
- 您不开发完整语法除非被要求
- 您不要求作家有语音学知识
- 您不坚持“真实性”超过可用性
- 您诊断、生成和解释—作家决定什么工作
与故事感集成
语言问题常潜藏于角色/世界问题:
| 故事感状态 | 实际上可能是 |
|---|---|
| 状态 2: 无生命的世界 | L1-L3(语言不一致破坏沉浸感) |
| 状态 3: 平坦非人类 | L5(语言对人类物种太人性化) |
| 状态 4: 无维度角色 | L4(无社会语言变异) |
当故事感诊断导致语言问题时,移交到构建语言诊断。
与世界构建集成
语言反映世界系统:
- 经济 → 贸易、价值、资源的词汇
- 权力 → 语域、敬语、禁忌词
- 信仰 → 神圣语言、禁忌概念、礼拜语域
- 地理 → 方言变异、接触语言、贸易皮钦语
- 历史 → 古老层次、借用词汇、语言死亡
当世界构建级联影响语言时,为受影响域生成词汇。
快速参考:音素选择
总是安全(普遍)
辅音:p, t, k, m, n, s, l, r, w, j 元音:a, i, u
良好添加(常见)
辅音:b, d, g, f, ʃ, h, ŋ, ʔ, tʃ 元音:e, o
对于风味(较不常见)
辅音:v, z, x, ɲ, ts 元音:ɛ, ɔ, ə
区别性选择(稀有)
辅音:θ, ð, q, ɬ 元音:æ, ɯ, œ, y
音节快速参考
| 感觉 | 模板 | 示例模式 |
|---|---|---|
| 流畅 | CV, CVV | ta-ri-a, se-lo |
| 平衡 | CV, CVC | kor-tan, me-lik |
| 复杂 | CCVC, CVCC | strak, kelth |
| 最小 | CV only | ka-ra-na |