From c3f5f71d378dd5069dd2b3befd4392eaad94fb92 Mon Sep 17 00:00:00 2001 From: Rob van Son Date: Wed, 28 Jan 2015 15:48:49 +0100 Subject: [PATCH] Better detection of 2/3-3 tone combinations --- ToneProt/SGC_ToneProt.praat | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/ToneProt/SGC_ToneProt.praat b/ToneProt/SGC_ToneProt.praat index 3e8ead1..4c0fbcc 100644 --- a/ToneProt/SGC_ToneProt.praat +++ b/ToneProt/SGC_ToneProt.praat @@ -237,12 +237,20 @@ procedure sgc_ToneProt sgc_ToneProt.currentSound$ sgc_ToneProt.pinyin$ sgc_ToneP .skipSyllables += 1 endwhile call toneScript 'sgc_ToneProt.currentTestWord$' 'sgc_ToneProt.upperRegisterInput' 'sgc_ToneProt.newToneRange' 'speedFactor' CorrectPitch - # Special cases originalRecognizedWord$ = sgc_ToneProt.choiceReference$ if sgc_ToneProt.ultraStrict = 0 + # [23]3 is often misidentified as 20 or 30 + if rindex_regex(sgc_ToneProt.currentTestWord$, "^[a-zA-Z]+2[a-zA-Z]+3") > 0 + if rindex_regex(sgc_ToneProt.choiceReference$, "^[a-zA-Z]+[23][a-zA-Z]+[023]") > 0 + sgc_ToneProt.choiceReference$ = replace_regex$(sgc_ToneProt.choiceReference$, "^([a-zA-Z]+)[23]([a-zA-Z]+)[023]", "\12\23", 0) + endif + elsif rindex_regex(sgc_ToneProt.currentTestWord$, "^[a-zA-Z]+3[a-zA-Z]+3") > 0 + if rindex_regex(sgc_ToneProt.choiceReference$, "^[a-zA-Z]+[23][a-zA-Z]+[023]") > 0 + sgc_ToneProt.choiceReference$ = replace_regex$(sgc_ToneProt.choiceReference$, "^([a-zA-Z]+)[23]([a-zA-Z]+)[023]", "\13\23", 0) + endif # First syllable: 2<->3 (6) exchanges (incl 6) - if rindex_regex(sgc_ToneProt.currentTestWord$, "^[a-zA-Z]+2[a-zA-Z]+[0-4]$") > 0 + elsif rindex_regex(sgc_ToneProt.currentTestWord$, "^[a-zA-Z]+2[a-zA-Z]+[0-4]$") > 0 if rindex_regex(sgc_ToneProt.choiceReference$, "^[a-zA-Z]+[36][a-zA-Z]+[0-4]$") > 0 sgc_ToneProt.choiceReference$ = replace_regex$(sgc_ToneProt.choiceReference$, "[36]([a-zA-Z]+[0-4])$", "2\1", 0) endif -- 2.11.4.GIT