04db423416
- 70 skills with code and documentation - Add .gitignore (ignore __pycache__, output/, temp/, venv/) - Clean up test intermediates and caches
249 lines
5.8 KiB
Python
249 lines
5.8 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
字幕纠错词库
|
|
集中管理所有语音识别纠错规则,方便维护和扩展。
|
|
"""
|
|
|
|
# 直接替换表:错误词 -> 正确词
|
|
# 这些是已知的固定错误,直接替换即可
|
|
DIRECT_FIXES = {
|
|
# 休止相关
|
|
"羞耻": "休止",
|
|
"休指": "休止",
|
|
"修止": "休止",
|
|
"八分羞耻": "八分休止",
|
|
"四分羞耻": "四分休止",
|
|
"十六分羞耻": "十六分休止",
|
|
"二分羞耻": "二分休止",
|
|
"全羞耻": "全休止",
|
|
"分羞耻": "分休止",
|
|
# 附点相关
|
|
"负点": "附点",
|
|
"副点": "附点",
|
|
"付点": "附点",
|
|
"浮点": "附点",
|
|
# 时值相关
|
|
"实质": "时值",
|
|
"实值": "时值",
|
|
"失值": "时值",
|
|
# 延音相关
|
|
"演音": "延音",
|
|
"言音": "延音",
|
|
"盐音": "延音",
|
|
"延因": "延音",
|
|
# 乐理相关
|
|
"阅历": "乐理",
|
|
"月理": "乐理",
|
|
"乐里": "乐理",
|
|
"乐礼": "乐理",
|
|
# 音符相关
|
|
"音苻": "音符",
|
|
"音扶": "音符",
|
|
"因符": "音符",
|
|
# 调号相关
|
|
"调苻": "调号",
|
|
"调扶": "调号",
|
|
"吊号": "调号",
|
|
# 拍号相关
|
|
"拍苻": "拍符",
|
|
"拍扶": "拍符",
|
|
"排符": "拍符",
|
|
# 谱号相关
|
|
"谱苻": "谱号",
|
|
"谱扶": "谱号",
|
|
"普号": "谱号",
|
|
# 手位相关
|
|
"首位": "手位",
|
|
"守位": "手位",
|
|
"受位": "手位",
|
|
"手味": "手位",
|
|
# 指法相关
|
|
"只发": "指法",
|
|
"织法": "指法",
|
|
"纸法": "指法",
|
|
"直发": "指法",
|
|
# 抬指相关
|
|
"台指": "抬指",
|
|
"抬纸": "抬指",
|
|
"台纸": "抬指",
|
|
"太指": "抬指",
|
|
# 支撑相关
|
|
"只撑": "支撑",
|
|
"肢撑": "支撑",
|
|
"知撑": "支撑",
|
|
"直撑": "支撑",
|
|
# 反复相关
|
|
"反服": "反复",
|
|
"反副": "反复",
|
|
"翻复": "反复",
|
|
"反赴": "反复",
|
|
# 高八度相关
|
|
"搞八度": "高八度",
|
|
"搞八渡": "高八度",
|
|
"膏八度": "高八度",
|
|
# 低八度相关
|
|
"底八度": "低八度",
|
|
"抵八度": "低八度",
|
|
# 连音相关
|
|
"联音": "连音",
|
|
"连因": "连音",
|
|
"莲音": "连音",
|
|
# 跳音相关
|
|
"挑音": "跳音",
|
|
"跳因": "跳音",
|
|
"眺音": "跳音",
|
|
# 还原相关
|
|
"还原记好": "还原记号",
|
|
"缓原记号": "还原记号",
|
|
"环原记号": "还原记号",
|
|
# 节拍相关
|
|
"节牌": "节拍",
|
|
"结拍": "节拍",
|
|
"结牌": "节拍",
|
|
# 节奏相关
|
|
"节凑": "节奏",
|
|
"接奏": "节奏",
|
|
# 分手相关
|
|
"分首": "分手",
|
|
"分守": "分手",
|
|
"分收": "分手",
|
|
# 慢练相关
|
|
"漫练": "慢练",
|
|
"曼练": "慢练",
|
|
"慢炼": "慢练",
|
|
# 强弱相关
|
|
"强若": "强弱",
|
|
"强落": "强弱",
|
|
"墙弱": "强弱",
|
|
# 其他
|
|
"负其实": "附其实",
|
|
"负加": "附加",
|
|
"一数排": "一组排",
|
|
}
|
|
|
|
# 歌曲名称补全表:片段 -> 完整名称
|
|
SONG_NAME_FIXES = {
|
|
"盖头来": "《掀起你的盖头来》",
|
|
"掀起我的盖头来": "《掀起你的盖头来》",
|
|
"掀起盖头来": "《掀起你的盖头来》",
|
|
"小星星": "《小星星》",
|
|
"两只老虎": "《两只老虎》",
|
|
"欢乐颂": "《欢乐颂》",
|
|
"献给爱丽丝": "《献给爱丽丝》",
|
|
"月光": "《月光奏鸣曲》",
|
|
"梦中的婚礼": "《梦中的婚礼》",
|
|
"水边的阿狄丽娜": "《水边的阿狄丽娜》",
|
|
"土耳其进行曲": "《土耳其进行曲》",
|
|
"小步舞曲": "《小步舞曲》",
|
|
"爱的罗曼史": "《爱的罗曼史》",
|
|
}
|
|
|
|
# 语义异常词列表:这些词在钢琴教学语境中几乎不可能出现
|
|
ANOMALY_WORDS = [
|
|
"羞耻",
|
|
"尴尬",
|
|
"恶心",
|
|
"呕吐",
|
|
"死亡",
|
|
"杀人",
|
|
"犯罪",
|
|
"监狱",
|
|
"股票",
|
|
"基金",
|
|
"彩票",
|
|
"赌博",
|
|
"毒品",
|
|
"战争",
|
|
"武器",
|
|
"休指",
|
|
"修止",
|
|
]
|
|
|
|
# 音乐术语词库:用于异常词的候选替换
|
|
MUSIC_TERMS = {
|
|
"八分音符",
|
|
"十六分音符",
|
|
"四分音符",
|
|
"二分音符",
|
|
"全音符",
|
|
"休止",
|
|
"八分休止",
|
|
"十六分休止",
|
|
"四分休止",
|
|
"二分休止",
|
|
"全休止",
|
|
"附点",
|
|
"反复记号",
|
|
"反复",
|
|
"高八度",
|
|
"低八度",
|
|
"八度记号",
|
|
"还原记号",
|
|
"还原",
|
|
"连音线",
|
|
"延音线",
|
|
"延音",
|
|
"连音",
|
|
"跳音",
|
|
"调号",
|
|
"拍号",
|
|
"谱号",
|
|
"升降号",
|
|
"指法",
|
|
"支撑",
|
|
"手位",
|
|
"手腕",
|
|
"放松",
|
|
"慢练",
|
|
"分手",
|
|
"合手",
|
|
"视奏",
|
|
"节拍",
|
|
"节奏",
|
|
"强弱",
|
|
"力度",
|
|
"踏板",
|
|
"音程",
|
|
"抬指",
|
|
"落键",
|
|
"断奏",
|
|
"连奏",
|
|
"把位",
|
|
"双音",
|
|
"音阶",
|
|
"琶音",
|
|
"和弦",
|
|
"时值",
|
|
"语言节奏",
|
|
"《掀起你的盖头来》",
|
|
}
|
|
|
|
# 正则模式替换规则
|
|
ANOMALY_PATTERNS = [
|
|
{
|
|
"pattern": r"([一二三四五六七八九十百千万\d]+)分羞耻",
|
|
"replace": r"\1分休止",
|
|
"reason": "音乐教学中'羞耻'语义异常,结合'X分'上下文推断为'休止'",
|
|
},
|
|
{
|
|
"pattern": r"分羞耻",
|
|
"replace": "分休止",
|
|
"reason": "音乐教学中'分羞耻'语义异常,推断为'分休止'",
|
|
},
|
|
{
|
|
"pattern": r"([一二三四五六七八九十百千万\d]+)分休指",
|
|
"replace": r"\1分休止",
|
|
"reason": "音乐教学中'休指'语义异常,推断为'休止'",
|
|
},
|
|
{
|
|
"pattern": r"盖头来",
|
|
"replace": "《掀起你的盖头来》",
|
|
"reason": "'盖头来'是歌曲名片段,补全为完整歌曲名",
|
|
},
|
|
{
|
|
"pattern": r"掀起我的盖头来",
|
|
"replace": "《掀起你的盖头来》",
|
|
"reason": "歌曲名纠正",
|
|
},
|
|
]
|