对于一个中文学习应用程序,我们让用户记录一个音节,然后我们使用语音识别来评估发音是否正确。
每个汉语音节都可以用具有不同含义的不同声调(音高差异)发音。我们发现谷歌翻译和 Swift Speech 框架都不够准确,无法确定发音是否正确。因此,我们使用贝多芬从音频中检测音高,以在语音识别 API 之外进行评估。
挑战在于,在汉语中,声调仅在音节的元音中发音。因此,如果用户只发元音,例如“a”,贝多芬就可以很好地工作。但是在诸如“san”之类的音节中,结果被辅音“s”和“n”所掩盖。
所以我正在寻找一种方法将音节录音修剪为仅元音,以便我们可以仅在元音上使用贝多芬并正确检测中文音调。我也很高兴知道是否有人对如何应对这一挑战有更好的想法。
最好的,保罗