奇幻风格名字生成器

把名字拆成首音节、连接中缀、尾音节三段,按森语、瑞格、星辰三套词根表组合出能读出来的奇幻名字,可指定起始字母并批量去重。

生成选项

提示:在「生成数量」或「起始字母」输入框里按 Enter 可直接生成;起始字母留空表示不限,填 S 则只输出以 S 开头的名字。

使用方法

  1. 先选「词根风格」。森语用较多流音与鼻音(l、m、n、r、v、w),读起来柔和;瑞格用较多硬辅音与擦音(k、g、z、th、kh),读起来粗砺;星辰用气音与星象词根(s、ph、c、th),听感清亮。风格只决定音节表,不改变生成方式。
  2. 在「生成数量」填 8(示例值),允许 1~50 的整数。
  3. 「音节数」默认「随机 2~4 音节」。2 音节像短称,4 音节更像全名或称号;同一批里两种都会出现。
  4. 想限定首字母,就在「起始字母」里填一个大写字母,例如 S,留空表示不限。指定后工具会先从音节表里筛出以该字母开头的首音节,再从剩下的里抽。
  5. 点「生成名字」(或在输入框里按 Enter)出结果。「同一批内名字不重复」会在出现重复时自动重抽,「首字母大写」把每个名字的首字母转成大写。结果可用「复制全部」按行带走、「导出 CSV」下载带 BOM 的表格、「复制音节表」把下方对照表按 TSV 复制。

这个奇幻风格名字生成器能解决什么问题

一是写小说、跑团、做游戏设定时快速铺一批名字。要给精灵村庄、龙族、星辰法师各起十几个名字时,纯手工很难保证「风格统一又彼此不同」。这个奇幻风格名字生成器一次给出一整批同风格但互不相同的名字。

二是把「随机拼字母」升级成「按音节拼」。直接用随机字母拼出来的串多半读不出来(例如 xkqz 这类辅音堆),而按音节表拼接能保证每个名字都读得出。本页的可发音性不靠运气,而是靠音节结构规则强制出来的。

三是按首字母做批量约束。设定里要求「同一家族的名字都以 S 开头」时,把 S 填进起始字母即可,工具会在对应音节表里筛出可用首音节,其余规则不变;若该风格确实没有以该字母开头的音节,这个奇幻风格名字生成器会直接说明并列出支持的字母。

四是导出一份还能继续编辑的名单。结果可以导出 CSV 粘进表格,或用 TSV 复制到文档里继续改,不必一个个手抄。

本页不做这些事:不生成中文名、不做发音音频、不检查名字是否与已有作品角色重名、不判断商标或域名可用性。要有针对性的题材命名(精灵、龙、女巫、巫师)可以用页面底部的对应工具。

生成原理:音节配列与词根组合

音节是怎么拆的。每个名字由三段拼成:首音节(前缀词根)+ 连接中缀(仅 3、4 音节时出现)+ 尾音节(后缀词根)。首音节由「起始辅音 + 元音」构成,例如 th + a = tha、bl + a = bla;中缀是 na ri lo mu se va 这种「辅音 + 元音」的开音节;尾音节是 rion wyn dor 这类收尾词根。于是 3 音节名字的构造就是 tha + ri + rion = Tharirion。

可发音性靠一条硬规则保证:首音节一律以元音收尾。在语音学里,音节之间能否顺畅拼接取决于音位配列(phonotactics)。如果一个音节以辅音收尾、下一个音节又以辅音起头,中间就会挤出一段辅音丛,像假设的首音节 thas 接尾音节 dor 会读出 -sd- 这种多数人读不顺的堆叠。本页把所有首音节都造成开音节(辅音 + 元音、以元音收尾),中缀与尾音节都设计成辅音起头,于是三段之间永远是「元音接辅音」,不会出现任何三连辅音,也就不需要额外的修补规则。

起始辅音分单辅音与辅音丛两档。每种风格给出 12 个单起始辅音与 8 个允许的辅音丛(如 bl br dr gl),合计 20 个,再乘 9 个元音,每个风格的首音节表就是 20 × 9 = 180 个。辅音丛只取「爆破音或擦音 + 流音 l、r」这种容易连读的组合,因为像 tl、dl 这样的起头在多数语言里不合法,读出来会别扭。

组合数可以直接相乘。每个风格:首音节 180 个、中缀 6 个、尾音节 18 个。2 音节名字没有中缀,共 180 × 18 = 3,240 种;3 音节 180 × 6 × 18 = 19,440 种;4 音节 180 × 6 × 6 × 18 = 116,640 种。单风格合计 3,240 + 19,440 + 116,640 = 139,320 种,三套风格共 417,960 种。这也解释了为什么一次生成 50 个名字几乎不会撞车——在 139,320 种里随机取 50 个,出现重复的概率约 0.88%。

随机源与去重。下标用 crypto.getRandomValues(new Uint32Array(1)) 取得,并做拒绝采样消除 % 取模偏差(先算接受上限、超出的取值丢弃重抽);去重时把已生成的名字放进集合,命中重复就重抽。涉及遵循的规范:音节结构参考语音学的音节划分惯例(最大起首原则,辅音尽量归入下一音节开头)与英语正字法;随机数遵循 W3C Web Cryptography API。

完整示例(数值仅作演示)

示例条件与打开页面时的默认值一致:森语风格、8 个名字、音节数随机 2~4、不限起始字母、勾选去重与首字母大写。此时可用首音节 180 个、中缀 6 个、尾音节 18 个,总计 139,320 种拼法。下面这 8 个就是默认条件下的一组演示值:

Tharirion
Siwyn
Blador
Nyamir
Granatha
Drasewen
Vlalonor
Winnel

把它们按音节拆开,正好能看出组合规则:

如果换成瑞格风格并限定首字母填 K,起头为 k、kh、kr 的 3 个起始辅音各配 9 个元音,可用首音节变成 27 个,组合空间随之缩小,但 3 音节的拼法仍有 27 × 6 × 18 = 2,916 种,远大于一次生成的 8 个。若把音节数固定为 2、风格换成星辰,100 个名字里出现重复的概率也只有约 3.49%。

音节表、组合数与发音规则对照表

下表逐行列出各音节的类型、结构与例名。默认显示前 12 行,点「加载更多」看全部 22 行;「导出 CSV」可下载带 BOM 的全表,「复制音节表」按 TSV 复制。

音节位置结构说明与例名
tha首音节CV擦音 th 起头,Tharirion
si首音节CV嘶音起头,Siwyn
bla首音节CCV辅音丛 bl,Blador
nya首音节CCV鼻音丛 ny,Nyamir
gra首音节CCV辅音丛 gr,Granatha
dra首音节CCV辅音丛 dr,Drasewen
vla首音节CCV辅音丛 vl,Vlalonor
na连接中缀CV插在首尾音节之间,Granatha
ri连接中缀CV插在首尾音节之间,Tharirion
lo连接中缀CV插在首尾音节之间,Vlalonor
mu连接中缀CV插在首尾音节之间,Simudor
se连接中缀CV插在首尾音节之间,Drasewen

怎么读这张表
  • C 代表辅音、V 代表元音,所以 CV 是「辅音 + 元音」的开音节,CVC 是「辅音 + 元音 + 辅音」的闭音节。规则是首音节只用 CV 或 CCV(必定开音节),中缀与尾音节一律辅音起头。
  • 三套风格的差别主要在尾音节词根:森语偏 rion / wyn / dor 这类流音与鼻音,瑞格偏 rath / vok 这类擦音与爆破音,星辰偏 riel / sor / dion 这类气音。
  • 组合数按位置相乘即得,不需要枚举:180 × 18(2 音节)、180 × 6 × 18(3 音节)、180 × 6 × 6 × 18(4 音节)。

输入范围、边界与取整说明

常见问题

这些名字真的读得出来吗?为什么不像随机字母那样拗口?

读得出来,因为生成时就遵守了音位配列规则:首音节一定是「辅音 + 元音」的开音节,中缀与尾音节一律辅音起头。这样拼接时音节之间永远不出现三连辅音,也就不会出现 xkqz 那种拼不出来的串。

为什么名字最多只有 4 个音节?

超过 4 音节后名字会变成一串很难一口气念完的音,在小说对话和口播里都不实用。真实语言的常见人名多在 2~4 音节之间,本页把上限对齐到这个区间;需要更长的效果时可以自己再加一个中缀。

三套风格到底差在哪?

差在音节表的选材:森语用较多流音与鼻音(l、m、n、r、v、w),听感柔和;瑞格用较多硬辅音与擦音(k、g、z、th、kh),听感粗砺;星辰用气音与星象词根(s、ph、c、th),听感清亮。生成算法完全相同,换风格只是换了词根表。

指定起始字母后为什么报错说没有可用音节?

因为该风格的所有首音节都不以这个字母开头。每种风格只覆盖 11~12 个起始字母,像 Q、X 这类不在表里。报错信息会列出该风格实际支持的字母,换成其中之一即可继续。

生成的名字会重复吗?

几乎不会。单风格有 139,320 种组合,随机取 50 个出现至少一对重复的概率约 0.88%,取 100 个约 3.49%;而且「同一批内名字不重复」默认勾选,命中重复会自动重抽。跨批次之间不保证不重复。

可以用这些名字做游戏或小说的角色名吗?

可以当作灵感来源。但要提醒一点:本工具生成的是形似奇幻语的新词,它不会去比对已有作品,所以有可能与某部作品里的角色重名,也不做商标或域名可用性判断。正式商用前请自行检索确认。

为什么有的名字里会出现连续元音,比如 Tharirion 结尾的 ion?

那是同一个音节内部的元音组合。尾音节 rion 的结构是 C-V-V-C,中间的 io 在同一个音节里发成一个滑音,属于正常现象;只要它不与前一个音节的元音直接相连,就不会改变音节计数。

生成的名字会上传或保存吗?

不会。音节筛选、随机抽音节、拼接、去重和导出都在当前页面完成,不发出任何网络请求,也不写入浏览器存储;刷新页面后结果区会回到那段固定演示值。想验证可打开开发者工具的 Network 面板观察点击生成时没有新请求。

相关工具