打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
登录后可编辑和发表评论。

Module:Vocalist Colors:修订间差异

来自Vocawiki
删除的内容 添加的内容
Zhoumou留言 | 贡献
AVER
Zhoumou留言 | 贡献
// Edit via InPageEdit
第26行: 第26行:
{'#0c9a06','Gachapoid','ガチャッポイド'},
{'#0c9a06','Gachapoid','ガチャッポイド'},
{'#fc79a7','猫村伊吕波','猫村いろは'},
{'#fc79a7','猫村伊吕波','猫村いろは'},
{'#4acdbf','歌手音Piko','歌手音ピコ','歌手音'},
{'#4acdbf','歌手音PIKO','歌手音Piko','歌手音ピコ','歌手音'},
{'#4d0000','VY2','Yuuma'},
{'#4d0000','VY2','Yuuma'},
{'#5481de','Akikoloid酱','あきこロイドちゃん'},
{'#5481de','Akikoloid酱','あきこロイドちゃん'},

2025年12月28日 (日) 18:06的版本

模块文档  [查看] [编辑] [历史] [刷新]
本页面内容较多,您可以使用浏览器的页内查找功能 Ctrl + F (Windows/Linux) / ⌘ + F (MacOS) 查找所需要的信息。
如果未能获取理想的搜索结果,可以尝试提取搜索项中的关键文本。

此模块用于歌姬与对应代表色间的互相转换。

按引擎分类,欢迎补充。对应颜色如下表显示,如有缺漏,可自行在模块中补充:

VOCALOID

演唱者 颜色 十六进位编码
LEON #f7e8bd
LOLA #7d0552
MIRIAM #516b82
MEIKO #d80000
KAITO #0000ff
Sweet Ann #ffe391
初音未来 #39C5BB
镜音铃 #ff8800
镜音连 #fff000
Prima #b92e66
巡音流歌 #ffb6c1
神威乐步 #9900ff
GUMI #ccff00
SONiKA #243d33
冰山清辉 #1d1f2f
歌爱雪 #f811de
miki #ff7070
BIG AL #d40000
Lily #ffcc00
VY1 #3c0036
Gachapoid #0c9a06
猫村伊吕波 #fc79a7
歌手音PIKO #4acdbf
VY2 #4d0000
Akikoloid-chan #5481de
Mew #221815
SeeU #ffae35
兔眠莉音 #f4a89d
Oliver #f3e7bf
CUL #d41a1f
结月缘 #800080
Clara #587078
Bruno #bf4e43
IA #f5eded
苍姬拉碧斯 #5bd1d5
洛天依 #66ccff
Galaco #fae6fa
MAYU #e452a7
AVANNA #eee8aa
KYO #224267
WIL #2a221f
YUU #d7b3cf
言和 #00ffcc
YOHIOloid #f6e9bd
MAIKA #77c6ec
kokone #fbb7a4
杏音 #ffc369
鸟音 #ffc370
V flower #996699
东北俊子 #1c3a46
Rana #dd315d
Chika #fff0fb
心华 #ee82ee
乐正绫 #ee0000
Sachiko #bc255a
Ruby #d86756
DAINA #0764b0
DEX #d9deec
Fukase #ff0033
星尘 #9999ff
音街鳗 #0000aa
UNI #f56c98
乐正龙牙 #006666
LUMi #f8fdff
绁星灯 #ffba70
徵羽摩柯 #0080ff
墨清弦 #ffff00
樱乃空 #ffe9d8
鸣花姬 #f0b4bc
鸣花尊 #afafef
符色 #040404
Po-uta #739330
花响琴 #f0d2ca
式狼缘 #a0d8ef
小感冒 #573a2b
剧药 #68483b
追傩酱 #f4c3d7
Ci-chan #c776ff
花奏 #95d0c0
雪解 #b7cdda
春日部䌷 #fbca4d
琴叶茜 #ffc0c0
琴叶葵 #e1f0f7
NurseRobot TypeT #d8bc9c
战音Lorra #ffffff
Ken #acd291

UTAU

演唱者 颜色 十六进位编码
呗音Uta #36015a
重音Teto #d93a49
桃音Momo #ff9fcf
欲音Ruko #000080
波音律 #ff2d51
健音帝 #ff8080
雪歌Yufu #f2f2f2
实谷Nana #74bc9f
渗音Kakoi #d2e9a4
爱野Hate #99669a
白钟Hiyori #deb887
春歌Nana #fb73ca
樱歌Miko #ffc0cb
海歌Shin #ffa500
空音Rana #ef6c00
破坏音Maiko #ec66ff
松田Ppoiyo #07c7cf
薪宫风季 #4169e1
椎音Ama #dc143c
朱音稻荷 #cc0000
彼音Izumu #e20000
飴音Wamea #fbcca7
雨歌Eru #008080
廻音Shuu #eb8938
暗音Renri #b060bc
歌幡Meiji #9773bf
暗鸣Nyui #d8b69e
戏白Merry #ff7405
逆音Cecil #edae2f
夕歌Yuuma #526b65
Number Bronze #dceedb
东北伊达子 #e1e6f9
东北切蒲英 #7f3d61
小感冒 #573a2b
剧药 #68483b
旭音Ema #008e94
足立零 #ed8d2d
油库里 #000001
夏语遥 #33CCCC
SOLARIA #FDAF12
POYOROID #FF3C8E
枝野裕男 #7C4B00
阿久女Iku #488846
甚三 #EC808D
气球音Aiko #698DCD
渡瀬Maki #32144E
佐村Tomi #510051
Daring #FF8D3B
Mac音奈奈 #CFE2A1
谷歌翻译娘 #4E8BF4
莲华 #FF0108
荞安 #36339E
奥斯卡 #DB3E41
叁琏 #744F3C
新葛平 #000000
金坷垃 #FFCC01
33娘 #AFDFE4
元首 #996B1F
矶子Hata #D2895E
起礼 #FF0099
起复 #99FF00
海伊 #3399FF
苍穹 #8BC0B5
云灏 #8DDEF1
姬骑士Riyona #C37B3C
器用音Suzu #FF6D89
松尾Tsubasa #936D67
猫木Minata #FF7024
理维子 #373836
宙暮 #95302E
NurseRobot TypeT #d8bc9c
某医生 #ECEBE1
雲宇光 #81A9F1
挚彬 #FF6666
雨鸟Yui #FFDCB5
电压空 #D45353
MUSE #FFB33C
踊跃Ask #5D5955
水音Laru #CBF4FA
黒昴宿 #A72A2A
Perfect Paul #B3353F
影音Himeka #3C957C
色音Hiro #C5705A
透音Ariku #FF8580
俊达萌 #a8f877
Koronba4号 #A2A2A2
Fιφne #9CA471
葛駄夜音 #3F0807
Calogado #689e93
Nedjem #7fd2da
玉兔 #fdd2cc
#2a2a2a
茶茵 #A4CDFF
东方栀子 #FF0000
里石优花 #A24B68

CeVIO

演唱者 颜色 十六进位编码
佐藤莎莎拉 #ffeff2
铃木梓梓弥 #7a80a4
ONE #f5eeaf
IA #f5eded
Ci flower #996699
结月缘 #800080
可不 #4d79ff
星界 #7933ff
知声 #f1971c
里命 #e51500
POPY #fa006e
ROSE #5050d2
狐子 #cde6f2
羽累 #3cd705
弦卷真纪 #ffe791
东北伊达子 #e1e6f9
东北切蒲英 #7f3d61
俊达萌 #a8f877
箱庭Hano #1347AA
箱庭Koto #11984B
雨衣 #1E4082
Reml #d200ff
LeuR #C9FFE8
MYK-IV #BC004B

VOICEROID

演唱者 颜色 十六进位编码
结月缘 #800080
绁星灯 #ffba70
音街鳗 #0000aa
追傩酱 #f4c3d7
东北俊子 #1c3a46
东北伊达子 #e1e6f9
东北切蒲英 #7f3d61
月读爱 #cb8773
弦卷真纪 #ffe791
琴叶茜 #ffc0c0
琴叶葵 #e1f0f7
京町精华 #6fba44
追傩酱 #f4c3d7

MUTA

演唱者 颜色 十六进位编码
嫣汐 #FF6600
未央 #9BCEDF

Sharpkey

演唱者 颜色 十六进位编码
幻晓伊 #FF7799
琪亚娜·卡斯兰娜 #FF359A

Synthesizer V

演唱者 颜色 十六进位编码
韵泉 #FBB5A6
铃爱莉 #FFE4D0
艾可 #FDD000
赤羽 #FF4004
青溯 #0187CA
Saki #965367
爱莲娜·芙缇 #ECEBF0
永夜Minus #613c8a
小春六花 #aca8b2
夏色花梨 #a6727f
花隈千冬 #a1d6b7
Mai #ed6772
奕夕 #cc164b
Kevin #B7D26D
诗岸 #f6be71
未抒 #DD5270
岸晓 #F29102
从铮 #902126
小夜 #FC8AA8
牧心 #3B5183
Ryo #EB6238
Eri #EDAEDB
默辰 #264A9C
沨漪 #9DE0EC
Yuma #E7D03D
Weina #D23632
ASTERIAN #7369F9
煊宇 #7583B6
SAROS #c1c5cb
林籁 #bde43d
弦卷真纪 #ffe791
京町精华 #6fba44
重音Teto #d93a49
Hayden #eea16b
GUMI #ccff00
POPY #fa006e
ROSE #5050d2
追傩酱 #f4c3d7
琴叶茜 #ffc0c0
琴叶葵 #e1f0f7
花响琴 #f0d2ca
宫舞茉歌 #72A6C0
音街鳗 #0000aa
冰山清辉 #1d1f2f
miki #ff7070
UNI #f56c98
PASTEL #5bc398
HALO #fadc1f
弗里摩侠 #48929b
彩澄珠紻 #CA5077
彩澄梨理世 #005E98
AVER #8E2E4A

DeepVocal

演唱者 颜色 十六进位编码
江上曜 #FFB600

X Studio

演唱者 颜色 十六进位编码
何畅 #6E46A9
蔷芜 #95E5FF
陈水若 #C85129
华智冰 #753E25
艾尔法 #3C00EE
狐狸座 #9076BD
水木林森 #1D403C
陈子渝 #303B5C
洛天依 #66ccff

ACE Studio

演唱者 颜色 十六进位编码
火涟 #DC4568
楚瓷 #072A63
鲤沅 #60B0D9
绮萱 #84d0d0
嗒啦啦 #FEE384
雀河 #D50000
小莫 #363434
文栗 #F1EDD7
长歌 #CE2E2E
鸾明 #94FFF6
荼鸢 #B31313
伊拾七 #CDAE44
洛天依 #66ccff
言和 #00ffcc
乐正绫 #ee0000
乐正龙牙 #006666
徵羽摩柯 #0080ff
墨清弦 #ffff00

DiffSinger

演唱者 颜色 十六进位编码
Opencpop #292365
雨令·令雨 #2A2A44
霁何虹 #D0C0E5
泠鸢yousa #EC0000
舞语 #F28A92

NEUTRINO

演唱者 颜色 十六进位编码
谣子 #DF310A
东北伊达子 #e1e6f9
东北切蒲英 #7f3d61
俊达萌 #a8f877
琴叶茜 #ffc0c0
琴叶葵 #e1f0f7
Merrow #917BA9

袅袅虚拟歌手

演唱者 颜色 十六进位编码
琴歌 #B9261A

Alter/Ego

演唱者 颜色 十六进位编码
BONES #E3E3E3
Daisy #95BEF2
Marie Ork #C34C44

New Type

演唱者 颜色 十六进位编码
初音未来 #39C5BB

VOICEVOX

演唱者 颜色 十六进位编码
四国玫碳 #DF4C94
俊达萌 #a8f877
栗田栗子 #c8a672
whiteCUL #e5f5fe
春日部䌷 #FBCA4D
雨晴Hau #28c4ec
玄野武宏 #50966A
白上虎太郎 #C2ED55
青山龙星 #4862D3
冥鸣Himari #877ADD
九州宇宙 #7F4DBA
模型娘饼子 #575855
剑崎雌雄 #BBBFE5
后鬼 #2185DA
NurseRobot TypeT #d8bc9c
No.7 #E1E9F6
小式爷 #A6CFF9
†圣骑士 红樱† #F16152
麒岛宗麟 #E3D35A
雀松朱司 #E3706B
春歌Nana #FFC0CB
中国兔 #FC4E32
IL碳 #EE7B2B
满别花丸 #E6F5B0
琴咏nia #FB8028

VOICEPEAK

演唱者 颜色 十六进位编码
弦卷真纪 #ffe791
京町精华 #6fba44
东北伊达子 #e1e6f9
俊达萌 #a8f877
音街鳗 #0000aa
东北切蒲英 #7f3d61
宫舞茉歌 #72A6C0

COEIROINK

演唱者 颜色 十六进位编码
NurseRobot TypeT #d8bc9c
松哗Risk #404040

其他

本模板使用 #777777表示演唱者多于2人、真人参与合唱以及暂无确认使用代表色等情况。

一般情况下不保留亚种的独立代表色,只使用其本体的颜色。但《白之娘》约定俗成歌手标为弱音白,因而保留仅运用于此特例的弱音白之代表色#DCDCDC。

local module = {}

local colors = {
	-- 在下方添加内容,{颜色,歌姬名,其他名称···}
    {'#f7e8bd','LEON'},
    {'#7d0552','LOLA'},
    {'#516b82','MIRIAM'},
    {'#d80000','MEIKO'},
    {'#0000ff','KAITO'},
    {'#ffe391','Sweet Ann'},
    {'#39C5BB','初音未来','初音miku','初音ミク','miku','Hatsune Miku','初音','初音未來'},
    {'#DCDCDC','弱音白','弱音Haku','弱音ハク'},
    {'#ff8800','镜音铃','鏡音リン','Kagamine Rin','镜音rin','鏡音鈴'},
    {'#fff000','镜音连','鏡音レン','Kagamine Len','镜音len','鏡音連'},
    {'#b92e66','Prima'},
    {'#ffb6c1','巡音流歌','巡音ルカ','巡音luka','Megurine Luka'},
    {'#9900ff','神威乐步','Gackpoid','神威がくぽ'},
    {'#ccff00','GUMI','Megpoid'},
    {'#243d33','SONiKA'},
    {'#1d1f2f','冰山清辉','氷山キヨテル','Hiyama Kiyoteru'},
    {'#f811de','歌爱雪','歌爱YUKI','歌愛ユキ'},
    {'#ff7070','miki'},
    {'#d40000','BIG AL'},
    {'#ffcc00','Lily'},
    {'#3c0036','VY1','MIZKI'},
    {'#0c9a06','Gachapoid','ガチャッポイド'},
    {'#fc79a7','猫村伊吕波','猫村いろは'},
    {'#4acdbf','歌手音PIKO','歌手音Piko','歌手音ピコ','歌手音'},
    {'#4d0000','VY2','Yuuma'},
    {'#5481de','Akikoloid酱','あきこロイドちゃん'},
    {'#221815','Mew'},
    {'#ffae35','SeeU'},
    {'#f4a89d','兔眠莉音','兎眠りおん'},
    {'#f3e7bf','Oliver'},
    {'#d41a1f','CUL','Culnoza'},
    {'#800080','结月缘','結月ゆかり','Yuzuki Yukari'},
    {'#587078','Clara'},
    {'#bf4e43','Bruno'},
    {'#f5eded','IA'},
    {'#5bd1d5','苍姬拉碧斯','蒼姫ラピス','Aoki Lapis'},
    {'#66ccff','洛天依'},
    {'#fae6fa','Galaco','ギャラ子'},
    {'#e452a7','MAYU'},
    {'#eee8aa','AVANNA'},
    {'#224267','KYO'},
    {'#2a221f','WIL'},
    {'#d7b3cf','YUU'},
    {'#00ffcc','言和'},
    {'#f6e9bd','YOHIOloid'},
    {'#77c6ec','MAIKA'},
    {'#fbb7a4','kokone'},
    {'#ffc369','杏音','あのん'},
    {'#ffc370','鸟音','かのん'},
    {'#996699','V flower','Ci flower','flower'},
    {'#1c3a46','东北俊子','东北ずん子','ずん子'},
    {'#dd315d','Rana'},
    {'#fff0fb','Chika'},
    {'#ee82ee','心华','心華'},
    {'#ee0000','乐正绫'},
    {'#bc255a','Sachiko','幸子'},
    {'#d86756','Ruby'},
    {'#0764b0','DAINA'},
    {'#d9deec','DEX'},
    {'#ff0033','Fukase'},
    {'#9999ff','星尘','星尘stardust'},
    {'#0000aa','音街鳗','音街ウナ'},
    {'#f56c98','UNI'},
    {'#006666','乐正龙牙'},
    {'#f8fdff','LUMi'},
    {'#ffba70','绁星灯','紲星あかり'},
    {'#0080ff','徵羽摩柯'},
    {'#ffff00','墨清弦'},
    {'#ffe9d8','樱乃空','桜乃そら'},
    {'#f0b4bc','鸣花姬','鳴花ヒメ'},
    {'#afafef','鸣花尊','鳴花ミコト'},
    {'#040404','符色'},
    {'#739330','Po-uta'},
    {'#f0d2ca','花响琴','花響琴'},
    {'#a0d8ef','式狼缘','式狼縁','兽音洛','獣音ロウ'},
    {'#c776ff','Ci-chan','ボカロのCiちゃん','Ciちゃん'},
    {'#95d0c0','花奏','花奏かのん','花奏Kanon'},
    {'#b7cdda','雪解','杏戸ゆげ','杏户Uge'},
    {'#ffffff','战音Lorra'},
    {'#acd291','Ken'},
    {'#36015a','呗音Uta','唄音ウタ','Defo子','デフォ子','默认子'},
    {'#d93a49','重音Teto','重音テト','teto'},
    {'#ff9fcf','桃音Momo','桃音モモ'},
    {'#000080','欲音Ruko','欲音ルコ'},
    {'#ff2d51','波音律','波音リツ'},
    {'#ff8080','健音帝','健音テイ'},
    {'#f2f2f2','雪歌Yufu','雪歌ユフ'},
    {'#74bc9f','实谷Nana','実谷ナナ'},
    {'#d2e9a4','渗音Kakoi','滲音かこい'},
    {'#99669a','爱野Hate','愛野ハテ'},
    {'#deb887','白钟Hiyori','白鐘ヒヨリ','白音Hiyori'},
    {'#fb73ca','春歌Nana','春歌ナナ'},
    {'#ffc0cb','樱歌Miko','櫻歌ミコ'},
    {'#ffa500','海歌Shin','海歌シン'},
    {'#ef6c00','空音Rana','空音ラナ'},
    {'#ec66ff','破坏音Maiko'},
    {'#07c7cf','松田Ppoiyo'},
    {'#4169e1','薪宫风季','薪宮風季'},
    {'#dc143c','椎音Ama'},
    {'#cc0000','朱音稻荷'},
    {'#e20000','彼音Izumu'},
    {'#fbcca7','飴音Wamea'},
    {'#008080','雨歌Eru'},
    {'#eb8938','廻音Shuu'},
    {'#b060bc','暗音Renri','闇音レンリ'},
    {'#9773bf','歌幡Meiji'},
    {'#d8b69e','暗鸣Nyui','暗鳴ニュイ'},
    {'#ff7405','戏白Merry'},
    {'#edae2f','逆音Cecil'},
    {'#526b65','夕歌Yuuma','夕歌ユウマ'},
    {'#dceedb','Number Bronze'},
    {'#e1e6f9','东北伊达子','東北イタコ','イタコ'},
    {'#7f3d61','东北切蒲英','東北きりたん','きりたん'},
    {'#573a2b','小感冒','Kazehiki','カゼヒキ','カゼヒキβ'},
    {'#68483b','剧药','Gekiyaku','ゲキヤク','ゲキヤクβ'},
    {'#008e94','旭音Ema'},
    {'#ed8d2d','足立零','足立レイ','足立Rei'},
    {'#000001','油库里','ゆっくり','Yukkuri'},
    {'#fdd2cc','玉兔','玉兎','Gyokuto'},
    {"#2a2a2a","谔","諤",'Gaku'},
    {'#ffeff2','佐藤莎莎拉','さとうささら'},
    {'#7a80a4','铃木梓梓弥','すずきつづみ'},
    {'#f5eeaf','ONE'},
    {'#4d79ff','可不','kafu'},
    {'#7933ff','星界','SEKAI'},
    {'#f1971c','知声','Chis-A'},
    {'#e51500','里命','RIME','裏命'},
    {'#fa006e','POPY'},
    {'#5050d2','ROSE'},
    {'#cde6f2','狐子','COKO'},
    {'#3cd705','羽累','HARU'},
    {'#cb8773','月读爱'},
    {'#ffe791','弦卷真纪','弦巻マキ','Tsurumaki Maki'},
    {'#ffc0c0','琴叶茜','琴葉茜'},
    {'#e1f0f7','琴叶葵','琴葉葵'},
    {'#6fba44','京町精华','京町セイカ'},
    {'#f4c3d7','追傩酱','ついなちゃん'},
    {'#613c8a','永夜Minus','Minus'},
    {'#aca8b2','小春六花'},
    {'#a6727f','夏色花梨'},
    {'#a1d6b7','花隈千冬'},
    {'#ed6772','Mai'},
    {'#cc164b','奕夕'},
    {'#84d0d0','绮萱'},
    {'#c8a672','栗田栗子','栗田まろん'},
    {'#a8f877','俊达萌','ずんだもん'},
    {'#e5f5fe','whiteCUL'},
    {'#d8bc9c','NurseRobot_TypeT','ナースロボ_タイプT','看护机_型号T'},
    {'#f6be71','诗岸'},
    {'#689e93','Calogado','カロガド'},
    {'#7fd2da','Nedjem','ネヂェム'},
    {'#404040','松哗Risk','松嘩りすく'},
    {'#DF4C94','四国玫碳','四国めたん'},
    {'#DD5270','未抒'},
    {'#F29102','岸晓'},
    {'#902126','从铮'},
    {'#FC8AA8','小夜'},
    {'#2A2859','牧心'},
    {'#EB6238','Ryo'},
    {'#FF0000','东方栀子'},
    {'#72A6C0','宫舞茉歌','宮舞モカ'},
    {'#EDAEDB','Eri'},
    {'#33CCCC','夏语遥'},
    {'#FDAF12','SOLARIA'},
    {'#FF3C8E','POYOROID','ぽよろいど'},
    {'#917BA9','Merrow','めろう'},
    {'#FBB5A6','韵泉'},
    {'#FFE4D0','铃爱莉','ANRI','ANRI Arcane'},
    {'#9CA471','Fιφne','fifne'},
    {'#FBCA4D','春日部䌷','春日部つむぎ','春日部紬','つむぎ'},
    {'#B7D26D','Kevin'},
    {'#1347AA','箱庭Hano','箱庭ハノ'},
    {'#11984B','箱庭Koto','箱庭コト'},
    {'#28c4ec','雨晴Hau','雨晴はう'},
    {'#50966A','玄野武宏'},
    {'#C2ED55','白上虎太郎'},
    {'#4862D3','青山龙星'},
    {'#877ADD','冥鸣Himari','冥鳴ひまり'},
    {'#7F4DBA','九州宇宙'},
    {'#575855','模型娘饼子'},
    {'#BBBFE5','剑崎雌雄'},
    {'#2185DA','后鬼'},
    {'#E1E9F6','No.7'},
    {'#A6CFF9','小式爷','ちび式じい'},
    {'#F16152','†圣骑士 红樱†','†聖騎士 紅桜†'},
    {'#E3D35A','麒岛宗麟','麒ヶ岛宗麟'},
    {'#E3706B','雀松朱司'},
    {'#FFC0CB','春歌Nana','春歌ナナ'},
    {'#FC4E32','中国兔','中国うさぎ'},
    {'#EE7B2B','IL碳','あいえるたん','Aieru-tan'},
    {'#E6F5B0','满别花丸'},
    {'#FB8028','琴咏nia','琴詠ニア'},
    {'#3F0807','葛駄夜音'},
    {'#FF6600','嫣汐'},
    {'#9BCEDF','未央'},
    {'#FF7799','幻晓伊'},
    {'#FF359A','琪亚娜·卡斯兰娜'},
    {'#FDD000','艾可'},
    {'#FF4004','赤羽'},
    {'#0187CA','青溯'},
    {'#965367','Saki'},
    {'#ECEBF0','爱莲娜·芙缇'},
    {'#A2A2A2','Koronba4号','ころんば4号'},
    {'#264A9C','默辰'},
    {'#9DE0EC','沨漪'},
    {'#E7D03D','Yuma'},
    {'#D23632','Weina'},
    {'#7369F9','ASTERIAN'},
    {'#7583B6','煊宇'},
    {'#c1c5cb','SAROS'},
    {'#bde43d','林籁'},
    {'#eea16b','Hayden'},
    {'#FFB600','江上曜'},
    {'#6E46A9','何畅'},
    {'#95E5FF','蔷芜'},
    {'#C85129','陈水若'},
    {'#753E25','华智冰'},
    {'#3C00EE','艾尔法'},
    {'#9076BD','狐狸座'},
    {'#1D403C','水木林森'},
    {'#303B5C','陈子渝'},
    {'#DC4568','火涟'},
    {'#072A63','楚瓷'},
    {'#60B0D9','鲤沅'},
    {'#FEE384','嗒啦啦'},
    {'#D50000','雀河'},
    {'#363434','小莫'},
    {'#F1EDD7','文栗'},
    {'#CE2E2E','长歌'},
    {'#94FFF6','鸾明'},
    {'#B31313','荼鸢'},
    {'#CDAE44','伊拾七'},
    {'#292365','Opencpop'},
    {'#2A2A44','雨令·令雨'},
    {'#D0C0E5','霁何虹'},
    {'#EC0000','泠鸢yousa'},
    {'#F28A92','舞语'},
    {'#DF310A','谣子'},
    {'#B9261A','琴歌'},
    {'#E3E3E3','BONES'},
    {'#95BEF2','Daisy'},
    {'#C34C44','Marie Ork'},
    {'#488846','阿久女Iku'},
    {'#EC808D','甚三'},
    {'#698DCD','气球音Aiko'},
    {'#32144E','渡瀬Maki'},
    {'#510051','佐村Tomi'},
    {'#FF8D3B','Daring'},
    {'#CFE2A1','Mac音奈奈'},
    {'#7C4B00','枝野裕男'},
    {'#4E8BF4','谷歌翻译娘','谷歌','GOOGLE','Google Translate'},
    {'#FF0108','莲华'},
    {'#36339E','荞安'},
    {'#DB3E41','奥斯卡'},
    {'#744F3C','叁琏'},
    {'#000000','新葛平','葛平'},
    {'#FFCC01','金坷垃'},
    {'#AFDFE4','33娘'},
    {'#996B1F','元首'},
    {'#A4CDFF','茶茵'},
    {'#D2895E','矶子Hata'},
    {'#FF0099','起礼'},
    {'#99FF00','起复'},
    {'#3399FF','海伊'},
    {'#8BC0B5','苍穹'},
    {'#8DDEF1','云灏'},
    {'#C37B3C','姬骑士Riyona'},
    {'#FF6D89','器用音Suzu'},
    {'#936D67','松尾Tsubasa'},
    {'#FF7024','猫木Minata'},
    {'#373836','理维子'},
    {'#95302E','宙暮'},
    {'#ECEBE1','某医生','Dr.誰か','Dr.Dareka'},
    {'#81A9F1','雲宇光'},
    {'#FF6666','挚彬'},
    {'#FFDCB5','雨鸟Yui'},
    {'#D45353','电压空'},
    {'#FFB33C','MUSE'},
    {'#5D5955','踊跃Ask'},
    {'#CBF4FA','水音Laru','水音来留'},
    {'#A72A2A','黒昴宿'},
    {'#B3353F','Perfect Paul'},
    {'#3C957C','影音Himeka'},
    {'#C5705A','色音Hiro'},
    {'#FF8580','透音Ariku'},
    {'#56DACE','Ayame'},
    {'#EE9570','D-Lin'},
    {'#402A32','JUN','Juneau Kheang'},
    {'#007dd3','Ritchy'},
    {'#a868e9','Sheena'},
    {'#48929b','弗里摩侠','Frimomen','フリモメン'},
    {'#FFB68B','奥斯卡','Oscar'},
    {'#1E4082','雨衣'},
    {'#5bc398','PASTEL'},
    {'#fadc1f','HALO'},
    {'#d200ff','Reml','りむる','分散型自律ゴーレム りむる'},
    {'#C9FFE8','LeuR','ルウル'},
    {'#BC004B','MYK-IV','MAIKI V'},
    {'#9568FF','机流音','機流音'},
    {'#F681E4','#kzn','Kizuna','キズナ','Kizuna AI'},
    {'#6642F4','梵Soyogi','梵そよぎ','梵微风'},
    {'#CA5077','彩澄珠紻',"彩澄しゅお"},
    {'#005E98','彩澄梨理世',"彩澄りりせ"},
    {'#A24B68','里石优花','里石優花','里石Yuka','里石ユカ'},
    {'#8E2E4A','AVER'},
    {'#777777','合唱或真人','合唱','真人'}
	-- 在上方添加内容
}
local defaultColor = '#333333'
local defaultSinger = '未知歌手'

local function cleanText(text)
    if not text then return "" end
    text = mw.text.unstrip(text)
    text = mw.text.killMarkers(text)
    text = text:gsub("<[^>]+>", "")
    local inside = string.match(text, "%-{(.-)}%-")
    text = inside or text
    return mw.text.trim(text)
end

local function normalizeSinger(name)
    if not name then return "" end
    name = name:gsub('[__]', ' ')
    name = mw.text.trim(name)
    return string.upper(name)
end

-- 查找数组中是否包含指定值(不区分大小写)
local function arrayContains(array, value)
    for _, v in ipairs(array) do
        if string.upper(v) == value then
            return true
        end
    end
    return false
end

function module.tooltip(frame)
    return cleanText(frame.args[1])
end

function module.colorToName(color, withIndex)
    for index, entry in ipairs(colors) do
        if color == string.upper(entry[1]) then
            return withIndex and {index, entry[2]} or entry[2] -- 返回主名称
        end
    end
    return defaultSinger
end

function module.nameToColor(name, withIndex)
	local name = normalizeSinger(name)
    if string.find(name, "、") then
        return "#777777" -- 合唱默认色
    end

    for index, entry in ipairs(colors) do
        local vocalNames = {}
        for i = 2, #entry do
            table.insert(vocalNames, normalizeSinger(entry[i]))
        end
        if arrayContains(vocalNames, name) then
        	local color = string.upper(entry[1])
            return withIndex and {index, color} or color -- 返回颜色
        end
    end
    return defaultColor
end

function module.main(frame)
    local input = module.tooltip(frame)
    local UpperInput = string.upper(input)

    local isColor = string.sub(UpperInput, 1, 1) == '#'

    if isColor and string.len(UpperInput) == 7 then
        -- 颜色转歌手
        return module.colorToName(UpperInput)
    else
        -- 歌手名转颜色
        return module.nameToColor(UpperInput)
    end
end


return module