目标是使用SAPI来口述中文姓名,并获得拼音或相同发音的单词来记录姓名的发音。但在使用如下所示的DictationGrammar时,
var engine = new SpeechRecognitionEngine(CultureInfo.CurrentCulture);
engine.SetInputToDefaultAudioDevice();
var dictationGrammar = new DictationGrammar();
engine.LoadGrammar(dictationGrammar);
当口述一些中文名字时,结果总是试图获得一些有意义的短语。
有没有办法达到我的目
这是我的代码:
#!/usr
/bin/env python
import os
import sphinxbase as sb
import pocketsphinx as ps
MODELDIR = 'deps/pocketsphinx/model'
DATADIR = 'deps/pocketsphinx/test/data'
# Create a decoder with certain model
config = ps.Decoder.default_config()
config.set_string('-hmm', os.
虽然题目是个问题,但简短的回答显然是否定的。我试过了。真正的问题是为什么?字符串是一些非ascii字符,如中文,XXX是字符串的当前编码。
>>> u'中文' == '中文'.decode('gbk')
False
//The first one is u'\xd6\xd0\xce\xc4' while the second one u'\u4e2d\u6587'
这个例子在上面。我使用的是中文简化的窗口。默认编码是gbk,python也是如此。我得到了两个unicode对象不相等。
更新
a =
我需要说一个句子,句子中有一个德国人的名字。为此,我使用Microsoft speech with english,调用speakasync函数说出句子的第一部分,然后将语言更改为德语,说出名字,然后返回英语并完成句子。这一切都运行得很好,除了每次我调用speakasync函数时都会有1秒的暂停。所以我在名字之前和之后有1秒的停顿。这能以某种方式移除吗?我希望在两者之间没有停顿。
s.SetOutputToDefaultAudioDevice()
s.SelectVoice(myENGLISHvoice)
s.SpeakAsync("Next on the li
我正在努力想出清理文件中文本的最佳方法。因此,我想要做的是,给定一个输入文件,匹配相似的单词并替换它们。因此,如果文件中包含苹果和apple,apple就会被苹果取代。
有没有办法在不使用两个for循环的情况下这样做:
for $word in @file
for $word2 in @file
if $word matches $word2
replace $word2 with $word
end
end
end
我总是在犹豫是否使用嵌套的for循环,所以我想知道是否有更好的解决方案。另外,如果你想知道为什么它是伪代码,那是因为我还没有决定用什么来编写它