问题标签 [openears]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - 正则表达式模式和/或 NSRegularExpression 在非常大的文件上搜索有点太慢,可以优化吗?
在 iOS 框架中,我在这个 3.2 MB 的文件中搜索发音:https ://cmusphinx.svn.sourceforge.net/svnroot/cmusphinx/trunk/pocketsphinx/model/lm/en_US/cmu07a.dic
我正在使用 NSRegularExpression 搜索作为 NSArray 给出的任意一组单词。搜索是通过大文件的内容作为 NSString 完成的。我需要匹配由换行符和制表符括起来的任何单词,然后抓取整行,例如,如果我的 NSArray 中有单词“monday”,我想在字典文件中匹配这一行:
此行以换行符开头,字符串“monday”后跟一个制表符,然后是发音。整行需要由正则表达式匹配才能最终输出。我还需要找到以下列出的单词的替代发音:
替代发音总是以 (2) 开头,最高可达 (5)。因此,我还搜索单词的迭代,后跟括号,其中包含由换行符和制表符括起来的单个数字。
我有一个 100% 工作的 NSRegularExpression 方法,如下所示:
我的问题是,考虑到大文本文件,它在 iPhone 上的速度还不够快。在 iPhone 4 上 8 个单词需要 1.3 秒,这对于应用程序来说太长了。鉴于以下已知因素:
• 3.2 MB 的文本文件按字母顺序列出要匹配的单词
• 使用此方法时,要查找的任意单词数组始终按字母顺序排列
• 替代发音在单词后面的括号中以 (2) 开头,而不是 (1)
• 如果没有 (2),则不会有 (3)、(4) 或更多
• 一种替代发音的出现很少见,平均可能出现 8 次中的 1 次。更多的替代发音更加罕见。
可以通过改进正则表达式或 Objective-C 的某些方面来优化此方法吗?我假设 NSRegularExpression 已经足够优化,不值得尝试用不同的 Objective-C 库或 C 语言来做,但如果我在这里错了,请告诉我。否则,非常感谢任何关于提高性能的建议。我希望将其推广到任何发音文件,因此我试图远离解决方案,例如提前计算字母范围以进行更多受限搜索。
****编辑****
以下是 2012 年 8 月 16 日给出的所有与搜索相关的答案在 iPhone 4 上的时间安排:
dasblinkenlight 的创建 NSDictionary 方法https://stackoverflow.com/a/11958852/119717 : 5.259676 秒
Ωmega 在https://stackoverflow.com/a/11957535/119717上最快的正则表达式:0.609593 秒
dasblinkenlight 在https://stackoverflow.com/a/11969602/119717的多个 NSRegularExpression 方法:1.255130 秒
我在https://stackoverflow.com/a/11970549/119717的第一个混合方法:0.372215 秒
我在https://stackoverflow.com/a/11970549/119717的第二种混合方法:0.337549 秒
迄今为止最好的时间是我答案的第二个版本。我无法将任何答案标记为最佳,因为所有与搜索相关的答案都告知了我在我的版本中采用的方法,因此它们都非常有用,而我的答案只是基于其他答案。我学到了很多东西,我的方法结束了原来的四分之一,所以这非常有帮助,感谢 dasblinkenlight 和 Ωmega 与我讨论。
ios - OpenEars Text-to-Speech 质量非常低
我正在设计一个类似英语词典的应用程序并使用OpenEars TTS进行发音,但语音质量不太好。有什么提高音质的建议吗?
iphone - 文字转语音应用程序大小
使用像OpenEars这样的库会极大地扩大我的应用程序大小吗?或者我可以将文本提取为语音内容,然后摆脱它......可能会删除所有这些语言?我没有任何想法。
我查了一下,OpenEars 示例应用程序是 33MB - 很大!
所以我的问题是 - 我可以在我的应用程序中实现文本到语音而不影响大小吗?我的意思是我可以忍受 2-3 MB 但 30...
谢谢!
ios - IOS Open Ears 无法启动
我正在尝试为我的应用程序创建简单的帮助程序类,它将加载打开的耳朵默认值。问题是一切似乎都很正常,但是当我创建新的帮助程序对象并运行方法startListening
时,它什么也没做。
我认为问题在于设置委托,但我无法弄清楚
OpenEarsHelper.h
OpenEarsHelper.m
我在viewDidLoad
像这样的方法中使用它
xcode - 从 Mac 上的 git 存储库中删除一个奇怪的文件
我最近尝试将 OpenEars 框架添加到我的 xcode 项目中,当我尝试将我的项目提交到存储库时,我收到以下错误:
错误:pathspec '"Framework/Icon\r"' 与 git 已知的任何文件都不匹配。
我试图使用 xcode 中的导航树找到这个文件,但它不存在。磁盘上有一个 0 字节的物理文件(这很可能是问题所在),我尝试删除它而没有影响。
我尝试使用终端导航到该文件并使用 git rm Icon\r 但由于名称中的 \ 它无法找到该文件:
有没有人遇到过类似的问题或知道如何删除此文件,因为它阻止我推送任何更改。
objective-c - 循环内的 FliteController
所以我有这个循环:
其中array_o_words 是一个字符串数组,我想使用OpenEars 的TtS 引擎flite 来表示。
我已按照http://www.politepix.com/openears/#FliteController_Class_Reference上的说明进行操作,但当然这只是说明只能有一个实例。我试过重置 fliteController = nil 但这只会阻止它工作。
有什么建议可以使循环工作吗?
iphone - 如何从 RapidEars 框架链接中排除未定义的符号?
通过将框架拖放到 Project Navigator 中的项目上,我向我的 Xcode 4.4 项目添加了一个框架。
我在 Xcode 上收到未定义符号的链接器错误。
架构 armv7 的未定义符号:“_returner”,引用自:RapidEarsDemo 中的 _should_be_returned(multisphinx_re.o) “_input_sample_rate”,引用自:RapidEarsDemo(PocketsphinxController+RapidEars.o) 中的 -[PocketsphinxController(RapidEars) startRealtimeListeningWithLanguageModelAtPath:andDictionaryAtPath:] -[ RapidEarsDemo(ContinuousModel+RapidEars.o) 中的 ContinuousModel(RapidEars) realtimeListeningLoopWithLanguageModelAtPath:andDictionaryAtPath:] -RapidEarsDemo(RECommandArray.o) 中的 [RECommandArray commandArrayForlanguageModel:andDictionaryPath:isJSGF:] ld:未找到架构 armv7 的符号
我在 RapidEarsDemo 框架文件上运行了“nm”,我只看到 i386 的 _input_sample_rate。如何指定不为 armv7 包含此符号?
“nm”根本不显示_returner。
在 Build Phases -> "Link Binaries with Project" 中,我确保我的新框架列在那里。我已经进行了清理和重建。
有什么建议么?您的帮助将不胜感激!
ios - OpenEars 动态词典
我正在设计一个新的 iPhone/iPad 应用程序,我将使用 OpenEars 包含一些语音识别功能,而且我是 OpenEars 的新手。
该应用程序应该从自定义动态词典中识别一些单词(命令),我的意思是根据用户操作,它应该能够识别一些新单词并忽略其他单词。
粗略地说,我需要在字典中添加和删除单词。
是电话吗
[languageModelGenerator generateLanguageModelFromArray:]
用新的词组正确的方法?
由于 generateLanguageModelFromArray 创建了一些文件,我认为它可能会影响应用程序的性能,有什么经验吗?
ios - 如何调整 OpenEars 错误识别
我为我的应用程序使用了 OpenEars。只需识别字母表中的“a”到“z”。但它在识别字母而不是单词方面识别不佳。
那么,我如何使用我的声音模型来提高 OpenEars 的识别度。
以及如何使用 OpenEars 来识别一些特殊的声音。
例如。我给 OpenEars 一个狗的声音,我想让它给我回“狗”
ios - openEars 无法识别字母
可能重复:
如何调整 OpenEars 错误识别
我在我的应用程序中使用了 OpenEars 来输入带有字母的单词。我只是从 "a" 到 "z" 的初始字典。但它在识别字母方面的识别度很差。
例如。我说“e”但它给我一个字母“d”,我说“d”它仍然给我一个字母“d”
我该如何处理这个问题。