Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 27.04.2011
Сообщений: 17

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

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

Студворк — интернет-сервис помощи студентам
Здравствуйте,

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

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

Буду очень благодарен за помощь или за предлощение другого решения относительно работы Sphinx .jar в .NET.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.04.2011, 01:30
Ответы с готовыми решениями:

Как в .Net core выключать или включать сервисы в appSettings?
Есть у меня , условно говоря, какой-то сервис ,добавленный в стартапе. services.AddHostedService<StatementProcessingJob>(); ...

Открыть jar файл (minecraft.jar) посредством VB.NET
Всем привет! Вообщем, как открыть файл minecraft.jar с помощью vb.net ? Я совсем не представляю как это делается, как запускается java с...

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

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

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

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

А вот ексепшин моего последнего билда с темы "веб сервисы":
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
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
_
2364 / 1243 / 78
Регистрация: 28.10.2009
Сообщений: 4,331
27.04.2011, 15:45
Особо помочь не могу - с вебслужбами на джаве не работал, не знаю насколько они адекватно связываются с ресурсами net-приложения. Да и так особо даже не представляю как jar-файл связать с net-приложением

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

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

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

PS. там еще есть такая штука как pocetsphinx - на с - может с помощью нее попытаться создать библиотеку, которую затем подключать к net-приложению
0
0 / 0 / 1
Регистрация: 27.04.2011
Сообщений: 17
27.04.2011, 16:00  [ТС]
Мое задание - заставить Sphinx4 работать в .net, так как весь главный проект написан на си++ (нет). Вот я и ищу способы это сделать. Теоретически, IKVM.NET - это идеальный вариант, так как он конвертирует .jar файлы в .dll, но когда использую сконвертированный сфинкс4, вижуал студио дает ексепшены, а код тот же самый как и в простом неловорд консольном джава проекте. Вот я и пробую веб сервисы теперь ...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.04.2011, 16:00
Помогаю со студенческими работами здесь

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

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

Что выбрать в Xamarin.Android ADO.NET или SQLite.NET?
Учу Xamarin.Android, выяснил что для хранения локальных данных можно использовать базу данных SQLite. На англоязычных форумах написано...

VISUAL C++.NET или VB.NET. На каких программистов спрос больше?
Я хотел бы узнать, на каках программистов сейчас бпльше спрос:VISUAL C++.NET или VB.NET.

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru