Программа на C # с использованием sphinx4 .jar, преобразованного в .dll, не работает - PullRequest
0 голосов
/ 27 сентября 2018

Когда я пытаюсь создать экземпляр LiveSpeechRecognizer, он выдает ошибку, которая дает следующую трассировку стека:

Exception thrown: 'edu.cmu.sphinx.util.props.PropertyException' in VoiceRecognition.dll
   at edu.cmu.sphinx.frontend.AutoCepstrum.newProperties(PropertySheet ps)
   at edu.cmu.sphinx.util.props.PropertySheet.getOwner()
   at edu.cmu.sphinx.util.props.ConfigurationManager.lookup(String instanceName)
   at edu.cmu.sphinx.util.props.PropertySheet.getComponentList(String name, Class tclass)
   at edu.cmu.sphinx.frontend.FrontEnd.newProperties(PropertySheet ps)
   at edu.cmu.sphinx.util.props.PropertySheet.getOwner()
   at edu.cmu.sphinx.util.props.PropertySheet.getComponent(String name)
   at edu.cmu.sphinx.decoder.scorer.SimpleAcousticScorer.newProperties(PropertySheet ps)
   at edu.cmu.sphinx.util.props.PropertySheet.getOwner()
   at edu.cmu.sphinx.util.props.PropertySheet.getComponent(String name)
   at edu.cmu.sphinx.decoder.search.WordPruningBreadthFirstSearchManager.newProperties(PropertySheet ps)
   at edu.cmu.sphinx.decoder.search.WordPruningBreadthFirstLookaheadSearchManager.newProperties(PropertySheet ps)
   at edu.cmu.sphinx.util.props.PropertySheet.getOwner()
   at edu.cmu.sphinx.util.props.PropertySheet.getComponent(String name)
   at edu.cmu.sphinx.decoder.AbstractDecoder.newProperties(PropertySheet ps)
   at edu.cmu.sphinx.decoder.Decoder.newProperties(PropertySheet ps)
   at edu.cmu.sphinx.util.props.PropertySheet.getOwner()
   at edu.cmu.sphinx.util.props.PropertySheet.getComponent(String name)
   at edu.cmu.sphinx.recognizer.Recognizer.newProperties(PropertySheet ps)
   at edu.cmu.sphinx.util.props.PropertySheet.getOwner()
   at edu.cmu.sphinx.util.props.ConfigurationManager.lookup(String instanceName)
   at edu.cmu.sphinx.api.Context..ctor(String path, Configuration config)
   at edu.cmu.sphinx.api.Context..ctor(Configuration config)
   at edu.cmu.sphinx.api.AbstractSpeechRecognizer..ctor(Configuration configuration)
   at edu.cmu.sphinx.api.LiveSpeechRecognizer..ctor(Configuration configuration)
   at TestingStandaloneCSVoiceRecognition.Program..ctor()

Я пытался просмотреть документацию и код, чтобы выяснить, что его вызывает,но пока мне не повезло. Должен заметить, что я использовал IKVM для преобразования файлов .jars в .dll, которые я импортировал в проект Visual Studio C #. LiveSpeechRecognizer даже не заканчивает создание экземпляров перед броскомошибка. Я убедился, что импортировал все зависимости, так что это не проблема. Java-программа работает нормально.

1 Ответ

0 голосов
/ 23 октября 2018

Это плохая идея для вызова кода Java из C #, вместо этого вы можете просто использовать pocketsphinx dll с C # API, см.

https://github.com/cmusphinx/pocketsphinx/tree/master/swig/csharp

...