当我的女朋友谈论twitch.tv时,我一直试图用我的头围绕使用sphinx4来获取静止图像。有点像这个普通的mittenz家伙https://www.youtube.com/watch?v=L2oUE-C2g6Y说话的猫是我试图模仿的东西。
当我需要将图像引入等式时,我迷路了。我一直在用这个作为例子。
`package edu.cmu.sphinx.demo.hellowrld;
import edu.cmu.sphinx.frontend.util.Microphone;
import edu.cmu.sphinx.recognizer.Recognizer;
import edu.cmu.sphinx.result.Result;
import edu.cmu.sphinx.util.props.ConfigurationManager;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import models.Tts;
public class Speech {
public static void main(String[] args) {
ConfigurationManager cm;
if (args.length > 0) {
cm = new ConfigurationManager(args[0]);
} else {
///tmp/helloworld.config.xml
cm = new ConfigurationManager(Speech.class.getResource("speech.config.xml"));
}
Recognizer recognizer = (Recognizer) cm.lookup("recognizer");
recognizer.allocate();
Microphone microphone = (Microphone) cm.lookup("microphone");
if (!microphone.startRecording()) {
System.out.println("Cannot start microphone.");
recognizer.deallocate();
System.exit(1);
}
System.out.println("Say: (Hello | call) ( Naam | Baam | Caam | Some )");
while (true) {
System.out.println("Start speaking. Press Ctrl-C to quit.\n");
Result result = recognizer.recognize();
if (result != null) {
String resultText = result.getBestFinalResultNoFiller();
System.out.println("You said: " + resultText + '\n');
Tts ts = new Tts();
try {
ts.load();
ts.say("Did you said: " + resultText);
} catch (IOException ex) {
}
} else {
System.out.println("I can't hear what you said.\n");
}
}
}
}`
任何帮助将不胜感激。
答案 0 :(得分:0)
Sphinx4不适合执行此任务。它识别语音,而不是实时的个别声音。你需要一个声音识别器,一个简单的振幅探测器。整体方法应如下所示:
在更高级的形式中,您可以识别元音并根据情况调整脸部图像。可以使用GMM分类器识别元音。您甚至可以记录多种情绪并实时显示。实时是一个问题,因为你的识别器需要一个非常短的分析时间,这使得这样的系统设计复杂,这将是一个几个月的项目。您可以找到更详细的说明here。