diff --git a/OpenUtau.Plugin.Builtin/EnglishVCCVPhonemizer.cs b/OpenUtau.Plugin.Builtin/EnglishVCCVPhonemizer.cs index d8f7952bc..0f6f8cbb4 100644 --- a/OpenUtau.Plugin.Builtin/EnglishVCCVPhonemizer.cs +++ b/OpenUtau.Plugin.Builtin/EnglishVCCVPhonemizer.cs @@ -671,7 +671,12 @@ protected override List ProcessSyllable(Syllable syllable) { if (vcVowels.ContainsKey(prevV) && phonemes.Count < i + 1) { parsingCC = $"{vcVowels[prevV]}{cc[i]}"; } - if (HasOto($"{cc[i + 1]} {cc[i + 2]}", syllable.vowelTone)) { + if (i + 2 < cc.Length) { + if (HasOto($"{cc[i + 1]} {cc[i + 2]}", syllable.vowelTone)) { + parsingCC = $"{cc[i]}{cc[i + 1]}-"; + } + } + if (basePhoneme == $"{cc[i + 1]}{v}") { parsingCC = $"{cc[i]}{cc[i + 1]}-"; } if (!HasOto(parsingCC, syllable.vowelTone)) {