Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
CodeGust
0 / 0 / 1
Регистрация: 27.04.2011
Сообщений: 17
1

Использование Sphinx4 jar в .NET через ikvm.net или веб сервисы?

27.04.2011, 01:30. Просмотров 1659. Ответов 4
Метки нет (Все метки)

Здравствуйте,

Пытвюсь заставить распознаватель речи Sphinx 4 работать в .NET. Пробовал IKVM.NET и веб сервисы. Не одно решение неработает корректно.

Вот темы где я пытаюсь разобраться с кодом, багами и ексепшенами (на английском).
веб сервисы
ikvm.net

Буду очень благодарен за помощь или за предлощение другого решения относительно работы Sphinx .jar в .NET.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.04.2011, 01:30
Ответы с готовыми решениями:

Использование Java-библиотеки в коде C# или VB .NET
Привет всем! У меня есть Java-библиотека - файл с расширением .jar. Подскажите, пожалуйста,...

Что лучше выбрать VB.NET или C.NET (C#)?
Я программирую на VB. Но так как сейчас появилась .NET платформа решил перейти на неё. Подскажите...

Переписать метод с 4 .net в 3.5 .net или ниже
и так ребят мне нужно этот код переписать чтоб он работал в .net 3.5 как макс желательно 2.0 ...

Удаленный SQL-сервер Ado.Net + .Net remoting + Asp .Net
Всем привет! Нужно написать клиент-серверное приложение на основе Microsoft Sql Server 2005...

Создаие веб-узла ASP.NET и использование в нем UpdatePanel
Добрый день уважаемые форумчане. Появилась проблема по использованию компонента UpdatePanel. При...

4
Eugene22
_
2356 / 1229 / 78
Регистрация: 28.10.2009
Сообщений: 4,331
27.04.2011, 14:17 2
То есть, если я правильно понял, ты сначала создал в netbeans веб-службу на java, а потом проект на шарпе, который подключался к этой вебслужбе и передавал запросы, а эта вебслужба передавала в приложение на шарпе результат распознавания?
Не лучше ли сразу все на java сделать?
0
CodeGust
0 / 0 / 1
Регистрация: 27.04.2011
Сообщений: 17
27.04.2011, 15:22  [ТС] 3
Да, сначала так, и простой стринг типа "хело фром джава" оно передавало в C#. Потом сделал клиент на джава в нет бинс (на всяк случай). Сейчас работаю только в нет бинс, но ексепшены лезут, простой пример сфинкса работает в простом консольном приложении нормально, а вот результат (распознаных слов) через веб сервис нормально не передается.
Я думаю может это изза того что разпознавание идет на сервере (соотвественно и поиск ресурса- микрофона), +почему-то веб сервис какбудто хчет кудато файл ресурса копировать (в C:\Users\UserName\GlassFish_Server\glassfish\domains\domain0\lib\classes\), хоть он должен быть с исходниками (вместе с .class файлами или на каталог выше).

А есть вообще другой метод использования джарника в нет?
Можно ли как-то устанить ексепшены при работе с ikvm.net, или это проблемы ikvm.net после конвертирования?

PS: еси кто может помочь - могу дать исходники.

А вот ексепшин моего последнего билда с темы "веб сервисы":
Код
Compiling 1 source file to C:\Users\Sergii\Documents\NetBeansProjects\ClientWSApplication\build\classes
compile-single:
run-single:
Start speaking. Press Ctrl-C to quit.

Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Allocation of search manager resources failed
	at com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:178)
	at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:119)
	at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:108)
	at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
	at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
	at $Proxy29.configSphinx(Unknown Source)
	at clientwsapplication.ClientWSApplication.configSphinx(ClientWSApplication.java:58)
	at clientwsapplication.ClientWSApplication.main(ClientWSApplication.java:21)
Caused by: java.lang.RuntimeException: Allocation of search manager resources failed
	at edu.cmu.sphinx.decoder.search.SimpleBreadthFirstSearchManager.allocate(SimpleBreadthFirstSearchManager.java:650)
	at edu.cmu.sphinx.decoder.AbstractDecoder.allocate(AbstractDecoder.java:87)
	at edu.cmu.sphinx.recognizer.Recognizer.allocate(Recognizer.java:168)
	at wsSphinx.NewWebService.configSphinx(NewWebService.java:28)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.glassfish.webservices.InstanceResolverImpl$1.invoke(InstanceResolverImpl.java:143)
	at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:150)
	at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:261)
	at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:100)
	at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:641)
	at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:600)
	at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:585)
	at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:482)
	at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:116)
	at org.glassfish.webservices.MonitoringPipe.process(MonitoringPipe.java:142)
	at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:119)
	at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:641)
	at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:600)
	at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:585)
	at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:482)
	at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:116)
	at com.sun.enterprise.security.webservices.CommonServerSecurityPipe.processRequest(CommonServerSecurityPipe.java:212)
	at com.sun.enterprise.security.webservices.CommonServerSecurityPipe.process(CommonServerSecurityPipe.java:144)
	at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:119)
	at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:641)
	at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:600)
	at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:585)
	at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:482)
	at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:314)
	at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:608)
	at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:259)
	at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:162)
	at org.glassfish.webservices.JAXWSServlet.doPost(JAXWSServlet.java:145)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
	at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170)
	at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)
	at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
	at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)
	at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
	at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
	at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
	at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
	at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
	at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.io.FileNotFoundException: C:\Users\UserName\GlassFish_Server\glassfish\domains\domain0\lib\classes\hello.gram (The system cannot find the file specified)
	at java.io.FileInputStream.open(Native Method)
	at java.io.FileInputStream.<init>(FileInputStream.java:120)
	at java.io.FileInputStream.<init>(FileInputStream.java:79)
	at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:70)
	at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:161)
	at java.net.URL.openStream(URL.java:1010)
	at edu.cmu.sphinx.jsgf.parser.JSGFParser.newGrammarFromJSGF(JSGFParser.java:232)
	at edu.cmu.sphinx.jsgf.JSGFGrammar.loadNamedGrammar(JSGFGrammar.java:697)
	at edu.cmu.sphinx.jsgf.JSGFGrammar.commitChanges(JSGFGrammar.java:613)
	at edu.cmu.sphinx.jsgf.JSGFGrammar.createGrammar(JSGFGrammar.java:300)
	at edu.cmu.sphinx.linguist.language.grammar.Grammar.allocate(Grammar.java:116)
	at edu.cmu.sphinx.linguist.flat.FlatLinguist.allocate(FlatLinguist.java:300)
	at edu.cmu.sphinx.decoder.search.SimpleBreadthFirstSearchManager.allocate(SimpleBreadthFirstSearchManager.java:646)
	... 62 more
Java Result: 1
BUILD SUCCESSFUL (total time: 13 seconds)
0
Eugene22
_
2356 / 1229 / 78
Регистрация: 28.10.2009
Сообщений: 4,331
27.04.2011, 15:45 4
Особо помочь не могу - с вебслужбами на джаве не работал, не знаю насколько они адекватно связываются с ресурсами net-приложения. Да и так особо даже не представляю как jar-файл связать с net-приложением

К тому же не совсем понятно, как ты работаешь с микрофоном - допустим вебслужба на одном компьютере, net-приложение на другом - тогда скорее всего вебслужба будет активизировать микрофон на том компе, на котором она находится, а не на клиенте.

Как вариант я тебе советую попробовать те демо-приложения, где там файл распознается, а всю работу организовать примерно так - net приложение записывает звук в файл и передает его на вебслужбу, а та уже отвечает.

Но все равно, не совсем понятно, а зачем тут net - если ты неплохо с джавой знаком и опять же может всю структуру приложения построить на джаве, особенно если учесть, что сфинкс изначально закошен под этот язык.

PS. там еще есть такая штука как pocetsphinx - на с - может с помощью нее попытаться создать библиотеку, которую затем подключать к net-приложению
0
CodeGust
0 / 0 / 1
Регистрация: 27.04.2011
Сообщений: 17
27.04.2011, 16:00  [ТС] 5
Мое задание - заставить Sphinx4 работать в .net, так как весь главный проект написан на си++ (нет). Вот я и ищу способы это сделать. Теоретически, IKVM.NET - это идеальный вариант, так как он конвертирует .jar файлы в .dll, но когда использую сконвертированный сфинкс4, вижуал студио дает ексепшены, а код тот же самый как и в простом неловорд консольном джава проекте. Вот я и пробую веб сервисы теперь ...
0
27.04.2011, 16:00
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.04.2011, 16:00

Использование VB или VB .NET совместно с IIS
В указанных программах есть поддержка для упрощенного написания ASP скриптов из этих оболочек....

Рекламные сервисы на asp.net
День добрый. Не подскажите, существуют ли CMS рекламных сервисов на asp.net? Или просто платформа...

Живая веб-камера на веб-узел ASP.NET
Мне нужен способ поставить видео live веб-камера на мое приложение ASP.NET. Хочу сделать чтобы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.