我可以使用C#创建自定义语音识别算法吗? [英] Can I Create A Custom Speech Recognition Algorithum Using C#

查看:68
本文介绍了我可以使用C#创建自定义语音识别算法吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使用c#创建自定义语音识别算法。

How to create a custom speech recognition algorithum using c#.

推荐答案

最后,我明白了,谢谢你的所有澄清。



不,不,不。 在英语中,字母本身并没有固定的发音。在某些语言中,这几乎是 ,但不是英文。这是关键。 您的想法是错误的。即使您完全访问引擎的源代码并清楚地了解其工作原理,您也无法通过字母更改发音。因为在英语中,字母不是基本的语音元素。



因此,我们将学习一些语言和实践语言知识。我也说一些口音,但我完全理解这个问题。比如说,一个可怜的外国人可以尝试发音挖和说话,首先需要元音/ɪ/和第二 - /iː/。 (注意,IPA符号都不是字母'i'而且没有一个是'e':-))但是这样的人经常会犯一些错误,例如选择相反的错误发音:/ɪ/ inspeech 和/iː/ in挖。我肯定知道这样的例子,因为我有时会犯这样的错误。现在,想象一下引擎如何混淆。这个例子应该已经告诉你,尝试替换字母的发音将无处可寻:字母在英语中并不是真的很明显。



引擎主要使用单词而不是信件。每个单词都有其模型发音,应该被认为是一个整体。字母仅被视为用作单词。考虑一句:我想发三个英文字母的第一个字母:A,B和C。在这句话中,A,B和C将被视为不是字母,而是表示字母名称的单词,而不仅仅是拉丁字母,而是英文传统命名中的字母。



当然,字母与英语发音有很大关系,但不是单独的字母,只有一些模式字母组合。模式非常复杂;在一些学校,他们被教导,有些则没有。在讲英语的文化中,这些模式通常不会在小学教授,它们只教授整个单词的发音和拼写,而不是正式的拼写(我个人认为这是错误的方法)。最有可能的原因是,由于历史和文化原因,历史词汇来源,英语有大量的标准拼写排除。 (我仍然认为学习拼写不是错误的。)相比之下,在法语中,几乎同样复杂的拼写法,其规则在学校教授,可能是因为这些规则更加严格,几乎总是有效;我相信整个拼写法可以在几天内学会。



一个小结论:我觉得学习10种语音比发音好得多容易得多为一个人创造一个好的语音识别引擎。 :-)



-SA
Finally, I got your idea, thank you for all the clarifications.

No, no, no. In English, letters themselves don't really have fixed pronunciation. In some languages, this is almost so, but not in English. This is the key. Your whole idea is wrong. Even if you had full access to the source code of the engine and clearly understood how it works, you would not be able to change pronunciation by letters. Because in English, the letters are not elementary phonetic elements.

So, we are going into some linguistic and practical language knowledge. I also speak with some accent, but I perfectly understand the problem. Say, a poor foreign speaker can try to pronounce "dig" and "speech", first requiring the vowel /ɪ/ and second — /iː/. (Note, none of the IPA symbols is the letter 'i' and none of them is 'e' :-)) But such person can often do some mistakes, such as choosing the opposite, wrong pronunciation: /ɪ/ in "speech" and /iː/ in "dig". I know such examples for sure, because I sometimes do such mistakes. Now, imagine how the engine could be confused. And this example should already show you that trying to "replace" pronunciation of letters would lead nowhere: letters are not really pronounced in English.

The engine works primarily with words, not letters. Each word have its model pronunciation which should be recognized as a whole thing. Letters are considered only of they are used as words. Consider the sentence: "I want to pronounce three first letters of English alphabet: A, B and C". In this sentence, A, B and C will be treated not as letters, but as words denoting letter names, and not just Latin letters, but letters in English traditional naming.

Of course, letters have a lot to do with English pronunciation, but not separate letters, only some patterns of letter combinations. The patterns are pretty complicated; in some schools, they are taught, in some not. In English-speaking cultures, those patterns are usually not taught in elementary school, they only teach pronunciation and spelling of the whole words, not formal orthography (I personally think this is wrong approach). Most likely, this is because English has a great number of exclusions from "standard" orthography, due to historical and cultural reasons, historical word origin. (I still think not learning orthography is wrong.) In contrast, in French, with almost as complicated orthography, its rules are taught in schools, probably because these rules are much stricter, almost always works; I believe the whole orthography can be learned in a couple of days.

A little conclusion: I feel that it would be much easier to learn 10 languages with good pronunciation than to create a good speech recognition engine for one. :-)

—SA


这篇关于我可以使用C#创建自定义语音识别算法吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆