Вверх ↑
Этот топик читают: Гость
Ответов: 253
Рейтинг: 0
#1: 2019-01-31 10:33:46 ЛС | профиль | цитата
Доброе время суток. Вообщем вопрос такой. Возможно ли средствами hiasm организовать распознавание речи. А если быть точнее, можно ли организовать бота который будет обзванивать клиентов и задавать вопросы.
карма: 0

0
vip
#1.1контекстная реклама от партнеров
Ответов: 2059
Рейтинг: 131
#2: 2019-01-31 11:27:18 ЛС | профиль | цитата
egorhay, Нет, нельзя.
Потому, что для этого нужно использовать API в котором некоторые функции возвращают указатель на список в нормальном понимании, а не так, как он сделан в Hiasm.
Я выходил из положения для подобных компонентов включая SYSUTILS, SYSCONST, CLASSES, CONSTS, TYPINFO от delphi-4. Те файлы, что предлагаются для совместимости на сайте KOL не подходят.
Это справедливо и для SAPI-5 и выше. Для SAPI-4 такого не надо было.

Редактировалось 1 раз(а), последний 2019-01-31 11:43:56
карма: 6

0
Ответов: 253
Рейтинг: 0
#3: 2019-01-31 11:44:35 ЛС | профиль | цитата
Я почитал, пишут что это легко сделать через C#.
карма: 0

0
Ответов: 2059
Рейтинг: 131
#4: 2019-01-31 11:55:21 ЛС | профиль | цитата
На Delphi тоже легко сделать, примеров и исходников полно.
У меня даже какие-то заготовки компонентов остались.
Но вот такие накладные расходы получаются и по ГОСТу не проходят.
карма: 6

0
Ответов: 8885
Рейтинг: 823
#5: 2019-01-31 12:08:57 ЛС | профиль | цитата
egorhay, на обычном компьютере распознавание речи в realtime выполнить невозможно, мощности не хватит на несколько порядков. А чтобы воспользоваться ресурсами в интернете, передавая звук и получая текст, как справедливо отметил flint2, накладные расходы велики, разве что вы сын олигарха и можете позволить
Прежде чем работать с распознаванием, попробуйте организовать диалог через текст, полагаю, что столкнётесь с задачей не по плечу
карма: 19

0
Главный модератор
Ответов: 2997
Рейтинг: 395
#6: 2019-01-31 14:38:19 ЛС | профиль | цитата
egorhay писал(а):
пишут что это легко сделать через C#.

Проект Core базового пакета HiAsm.NET:
Add(hcTplForm,2953706,63,105)
{
StartPosition=4
link(onCreate,5:doInline,[])
}
Add(hcTplButton,2,161,105)
{
Left=16
Top=48
Caption="Speech"
link(onClick,6:doInline,[])
}
Add(hcTplEdit,3,217,56)
{
Left=77
Top=23
Width=192
Text="ahoj"
}
Add(hcTplComboBox,4,161,56)
{
Left=77
Top=49
Width=192
Point(doSelectedIndex)
Point(Items)
Point(SelectedItem)
}
Add(hcInline,5,112,105)
{
Code=#58:// Сигнатура метода: public object doInline(object[] args)|0:|65:var items = (args[0] as TData).data as ComboBox.ObjectCollection;|0:|46:SpeechSynthesizer s = new SpeechSynthesizer();|0:|52:foreach (InstalledVoice v in s.GetInstalledVoices())|32: items.Add(v.VoiceInfo.Name);|0:|9:return 0;|
Arguments=1
ReferencedAssemblies=#10:System.dll|24:System.Windows.Forms.dll|100:c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Speech.dll|21:C:\HiAsm.NET\MSDK.dll|
Imports=#6:System|20:System.Windows.Forms|23:System.Speech.Synthesis|5:HiAsm|
DebugInfo=0
WarningLevel=0
link(onResult,4:doSelectedIndex,[(152,111)(152,69)])
link(onError,11:doWork2,[(152,118)(152,146)])
link(Arg1,4:Items,[(118,97)(167,97)])
}
Add(hcInline,6,210,105)
{
Code=#58:// Сигнатура метода: public object doInline(object[] args)|0:|46:SpeechSynthesizer s = new SpeechSynthesizer();|49:string voicename = (args[0] as TData).toStr();|49:string text = (args[1] as TData).toStr();|25:s.SelectVoice(voicename);|14:s.Speak(text);|0:|12:return null;|
Arguments=2
ReferencedAssemblies=#10:System.dll|100:c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Speech.dll|21:C:\HiAsm.NET\MSDK.dll|
Imports=#6:System|23:System.Speech.Synthesis|5:HiAsm|
DebugInfo=0
WarningLevel=0
link(onError,11:doWork1,[(256,118)])
link(Arg1,4:SelectedItem,[(216,98)(174,98)])
link(Arg2,3:Text,[])
}
Add(hcMessage,7,273,140)
{
Caption="Error"
Icon=1
}
Add(HubEx,11,252,140)
{
link(onEvent,7:doMessage,[])
}

Редактировалось 1 раз(а), последний 2019-01-31 17:11:38
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 253
Рейтинг: 0
#7: 2019-02-01 11:10:12 ЛС | профиль | цитата
Все большое спасибо. Пока пробую через C#.
Вот по этому образцу.

Пока получается неплохо. Вопросы озвучиваются в mp3 в зависимости от ответа.
Конечно пока не решил как я буду это прикручивать к реальному об звону клиента. (Немного Петросяна Через блюпуп )))
Записывать варианты ответа в файл и потом средствами Hiasm их распознавать. ¯\_(ツ)_/¯
Буду пробовать.
карма: 0

0
Ответов: 704
Рейтинг: 7
#8: 2019-02-01 12:11:09 ЛС | профиль | цитата
Laitis есть с функционалом весьма не дурным. Можно с него результат распознавания отдавать по tcp
карма: 0

0
Главный модератор
Ответов: 2997
Рейтинг: 395
#9: 2019-02-01 13:13:29 ЛС | профиль | цитата
Nic писал(а):
Проект Core базового пакета HiAsm.NET

В ближайшее время постараюсь оформить в виде элементов программы HiAsm.NET

Редактировалось 1 раз(а), последний 2019-02-01 13:13:42
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Главный модератор
Ответов: 2997
Рейтинг: 395
#10: 2019-02-04 12:03:38 ЛС | профиль | цитата
Как обещал синтезатор речи готов: http://forum.hiasm.com/topic/66686/15
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 253
Рейтинг: 0
#11: 2019-03-19 17:36:17 ЛС | профиль | цитата
Nic писал(а):
Как обещал синтезатор речи готов:

Я не совсем понял. что куда. Как это работает?
карма: 0

0
11
Сообщение
...
Прикрепленные файлы
(файлы не залиты)