Skip to content

[TTS]fix bug of tone modify #2323

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 19 commits into from
Aug 30, 2022
Merged
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
adb2762
add chinese words correct phonic,test=tts
david-95 Aug 25, 2022
086c888
Merge branch 'PaddlePaddle:develop' into hongliang-dev
david-95 Aug 26, 2022
9709156
Merge branch 'develop' of https://github.com/david-95/PaddleSpeech in…
david-95 Aug 26, 2022
9887520
added thanks into readme. add data of unit, test=tts
david-95 Aug 26, 2022
b384c3a
Merge branch 'hongliang-dev' of https://github.com/david-95/PaddleSpe…
david-95 Aug 26, 2022
146a319
added thanks into readme. add data of unit, test=tts
david-95 Aug 26, 2022
af102d9
modify data of unit, test=tts
david-95 Aug 26, 2022
def7a33
modify thanks, test=tts
david-95 Aug 26, 2022
829c3f5
Merge branch 'PaddlePaddle:develop' into hongliang-dev
david-95 Aug 26, 2022
669b178
Merge branch 'PaddlePaddle:develop' into hongliang-dev
david-95 Aug 29, 2022
74c5796
fix tone mistakes, test=tts
david-95 Aug 29, 2022
722f154
remove debug code, test=tts
david-95 Aug 29, 2022
55f8989
add tone fix, test=tts
david-95 Aug 29, 2022
2601b67
add more condition to fix tones, test=tts
david-95 Aug 29, 2022
951617d
Merge branch 'develop' of https://github.com/david-95/PaddleSpeech in…
david-95 Aug 30, 2022
7b45c3b
Merge branch 'PaddlePaddle:develop' into hongliang-dev
david-95 Aug 30, 2022
69dd3bf
add special tone modifed case, test=tts
david-95 Aug 30, 2022
4b36257
Merge branch 'hongliang-dev' of https://github.com/david-95/PaddleSpe…
david-95 Aug 30, 2022
34c79d9
run pre-commit
yt605155624 Aug 30, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions paddlespeech/t2s/frontend/tone_sandhi.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ def __init__(self):
'木头', '木匠', '朋友', '月饼', '月亮', '暖和', '明白', '时候', '新鲜', '故事', '收拾',
'收成', '提防', '挖苦', '挑剔', '指甲', '指头', '拾掇', '拳头', '拨弄', '招牌', '招呼',
'抬举', '护士', '折腾', '扫帚', '打量', '打算', '打扮', '打听', '打发', '扎实', '扁担',
'戒指', '懒得', '意识', '意思', '情形', '悟性', '怪物', '思量', '怎么', '念头', '念叨',
'戒指', '懒得', '意识', '意思', '悟性', '怪物', '思量', '怎么', '念头', '念叨', '别人',
'快活', '忙活', '志气', '心思', '得罪', '张罗', '弟兄', '开通', '应酬', '庄稼', '干事',
'帮手', '帐篷', '希罕', '师父', '师傅', '巴结', '巴掌', '差事', '工夫', '岁数', '屁股',
'尾巴', '少爷', '小气', '小伙', '将就', '对头', '对付', '寡妇', '家伙', '客气', '实在',
Expand All @@ -60,7 +60,7 @@ def __init__(self):
'邋遢', '费用', '冤家', '甜头', '介绍', '荒唐', '大人', '泥鳅', '幸福', '熟悉', '计划',
'扑腾', '蜡烛', '姥爷', '照顾', '喉咙', '吉他', '弄堂', '蚂蚱', '凤凰', '拖沓', '寒碜',
'糟蹋', '倒腾', '报复', '逻辑', '盘缠', '喽啰', '牢骚', '咖喱', '扫把', '惦记', '戏弄',
'将军', '别人'
'将军'
}
self.must_not_neural_tone_words = {
'男子', '女子', '分子', '原子', '量子', '莲子', '石子', '瓜子', '电子', '人人', '虎虎',
Expand All @@ -84,7 +84,9 @@ def _neural_sandhi(self, word: str, pos: str,
if j - 1 >= 0 and item == word[j - 1] and pos[0] in {"n", "v", "a"}:
finals[j] = finals[j][:-1] + "5"
ge_idx = word.find("个")
if len(word) >= 1 and word[-1] in "吧呢啊呐噻嘛吖嗨呐哦哒额滴哩哟喽啰耶喔诶":
if (len(word) > 1 and word[-1] in "吧呢啊呐噻嘛吖嗨呐哦哒滴哩哟喽啰耶喔诶") or (
len(word) > 1 and word[-2] in '好是帅酷棒衰烂臭狗糗' and
word[-1] == '额') or (len(word) == 1 and word[-1] in "额嗯"):
finals[-1] = finals[-1][:-1] + "5"
elif len(word) >= 1 and word[-1] in "的地得":
finals[-1] = finals[-1][:-1] + "5"
Expand Down Expand Up @@ -169,6 +171,7 @@ def _split_word(self, word: str) -> List[str]:
return new_word_list

def _three_sandhi(self, word: str, finals: List[str]) -> List[str]:

if len(word) == 2 and self._all_tone_three(finals):
finals[0] = finals[0][:-1] + "2"
elif len(word) == 3:
Expand Down Expand Up @@ -346,6 +349,7 @@ def pre_merge_for_modify(

def modified_tone(self, word: str, pos: str,
finals: List[str]) -> List[str]:

finals = self._bu_sandhi(word, finals)
finals = self._yi_sandhi(word, finals)
finals = self._neural_sandhi(word, pos, finals)
Expand Down