使用哪种语言编写语音识别软件?

时间:2009-03-20 04:28:36

标签: java speech-to-text

我想写一个基本的语音识别软件,可以将语音转换为文本。我想知道哪种语言最适合编写这样的软件。 Java是否适合这项工作?

编辑:谢谢大家的回复。我想为大学项目建立一个工具。我不想从头开始写。只想演示语音识别的强大功能。该工具应该在文本编辑器(如记事本)上编写用户所说的内容。它不需要太准确。我只是想试验并学习语音识别背后的各种算法,因为我发现这个领域非常有趣。

谢谢你, 迪帕克

8 个答案:

答案 0 :(得分:4)

我的学生正在使用Sphinx。它是用Java编写的(我相信C ++的一个端口)。它可能不适合你想要的东西(我想你需要创建自己的字典),但值得一试。

答案 1 :(得分:3)

我同意Pax的观点,这可能是一个非常大的项目,而最实用的解决方案可能只是许可现有的引擎。

如果您想要做的范围只是区分之间已知的几个可能的话语,那么这是一个非常小的项目,但仍然相当可观。

但是......如果你确定你真的真的想开始自己开发,我看不出不使用Java的理由。 “C更快”的想法在很大程度上是一个神话(或基于过时的信息)。

答案 2 :(得分:2)

Java可能适合它的接口,但语音识别需要严重的原始咕噜声。我会为实际的识别引擎选择像C这样的编译接近金属的语言。

顺便说一句,这不是轻率的事情。在你开始之前,你需要学习很多理论。我自己,如果可能的话,我会许可其中一个现有的引擎,并专注于围绕它建立一个体面的产品。

如果您打算构建产品,那就是这样。如果您只想进行实验,请务必编写自己的实验。它会很有趣(直到某一点: - )。

答案 3 :(得分:1)

同意Pax所说的几乎所有内容,所以我会反对并反对争论。传统观点认为,语音识别“需要认真的原始咕噜声”,这可能是因为这是真的。

但也可能是每个人都认为,因为这就是它总是如何完成的。由于人类大脑没有做大量的暴力识别语音的暴力数据这一事实,我建议有很多聪明的特征提取算法来完成这项工作很多更有效率。

如果是这种情况,并且如果您寻求找到这样的算法,则更高级别的语言可能更适合该任务。你在效率上放松的任何东西都会弥补,而且更多的是算法表现力。

那就是说,他可能是对的。

答案 4 :(得分:0)

我认为java可以是一个不错的选择,这一切都取决于你将如何接收输入。 Java中有一些很好的声音库。

语言不会成为问题,因为这将是识别模式的问题。如果java是你最熟悉的语言,我会用它。

答案 5 :(得分:0)

Java是turing complete所以它可以处理每个编程工作。你是否希望用Java做某事完全取决于你。

答案 6 :(得分:0)

我们用用Java编写的Shynx框架取得了一定的成功,但真正的努力在于理解该领域所涉及的算法和数学,然后根据您的特定需求对引擎进行微调。

答案 7 :(得分:0)

我建议使用C#编写这样的程序是不错的。 你可以用 使用System.Speech.Recognition 使用System.Speech.Synthesizer。 它只需要几行代码。