gifts2017

Распознавание речи в 1С8 с помощью google

Опубликовал Ivan Lapin (YLioY) в раздел Программирование - Практика программирования

Простая обработка для распознания речи.

Чтобы сделать все самому, нужно :

1) Прочитать "http://habrahabr.ru/post/247539/" - здесь написано, как можно получить ключи (нужно сделать в любом случае - раньше писали, что можно и без ключей, но у меня не вышло).

2) Код в 1С8

Соединение = Новый HTTPСоединение("www.google.com");
GoogleAPIKey = "AIzaSyCKIkDmQbwwJoqFAhnqzikT4LokFriVE30";
Заголовки = Новый Соответствие;
Заголовки.Вставить("Content-type","audio/x-flac; rate="+Формат (Рейт, "ЧГ="));
ЗапросHTTP = Новый HTTPЗапрос ("/speech-api/v2/recognize?xjerr=1&key="+GoogleAPIKey+"&client=chromium&lang=ru-RU",Заголовки);
ЗапросHTTP.УстановитьИмяФайлаТела(ИмяФайла);
Ответ = Соединение.ОтправитьДляОбработки(ЗапросHTTP);
Сообщить(Ответ.КодСостояния);
Сообщить(Ответ.ПолучитьТелоКакСтроку());

Вот что возвращает Google :

{"result":[]}
{"result":[{"alternative":[{"transcript":"открыть документ","confidence":0.92168641},{"transcript":"открыть документы"}],"final":true}],"result_index":0}

Проблема только записать речь с микрофона в файл формата flac . У меня не вышло это сделать так, чтобы выглядело красиво.
Так что, если у вас есть другие варианты получения файла flac , верхнего кода вам будет достаточно.

Свою запись я сделал с помощью программы "sox" . Сайт, откуда можно скачать програму - "http://sox.sourceforge.net/" .
Обработка вызывается через "КомандаСистемы" и показывает окно командной строки на время записи .
Запись начинается и заканчивается автоматически (если начать говорить в микрофон и после 1 секунды молчания). Параметри записи можно настроить.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
GoogleVoicePos
.epf 6,30Kb
07.06.15
30
.epf 1 6,30Kb 30 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Дмитрий Топчий (hakerxp) 17.06.15 09:00
Развить бы данные наработки до уровня набора текста голосом в конфигураторе 1С и можно было б упростить программирование)
2. ivanov660 ivanov660 (ivanov660) 17.06.15 11:24
В интернете есть голосовой редактор, который работает для chrome, можно попробовать. Однако, они в основном ориентированы на примерное распознование речи и для технических целей не совсем подходят.
К тому же, для профессионального использования нужен договор, тестовый api ключ не подойдет.
3. Andrey Kubrik (Malfarion) 18.06.15 23:38
Эх, запилил бы кто-нить ВК, да еще с базовым функционалом по активации по слову, аля "окей, google" и чтобы только после этой фразы данные уходили в облако для распознания.
4. Фантаев Сегрей (serg1983) 26.06.15 15:09
давно хотел такую штуку, да руки не доходили. Спасибо автору.
Я вот разговаривать 1с научил, а понимать слова копать начал давно, но всегда не до конца.
5. Дмитрий Лёвин (DGorgoN) 14.12.15 21:44
А текст команды SOX не смог бы выложить? Кручу верчу а записать звук с помощью неё не могу (
6. Ivan Lapin (YLioY) 15.12.15 10:37

ПерваяКомманда = """C:\Program Files (x86)\sox-14-4-2\sox.exe""";
ВтораяКомманда = " -t waveaudio 0 " + ПуктьКФайлу;
ТретяяКомманда = " silence 1 0.50 -96d 1 00:01 -50d ";

КомандаСистемы(ПерваяКомманда + ВтораяКомманда + ТретяяКомманда);
7. viqtor rost (viqtor) 15.12.15 10:38
8. Владимир Пугачёв (PugachevVU) 03.03.16 14:17
У меня возвращает в стоку сообщения:

200
{"result":[]}

Может подскажете где загвоздка !!!
9. Ivan Lapin (YLioY) 04.03.16 10:11
У меня такое было только когда гугл не мог распознать реч с файлов . Например мне дали файл флак формата , запись разгавора клиента и Кол-центра для распознавания . И он мне постоянно возвращал пустой результат. Возможно из за того что файл с записью которую я делал в ручную гдето в 3-10 раз больше и содержада 5 слов чем то что мне присылали и содержала 3 минутный разговор.Потом если у вас тестовый ключ гугла то можете не расчитывать на перевод большых обемов(больше 10 секунд).
10. Виталий Васильев (orfos) 20.05.16 23:54
(8) PugachevVU, все очень просто записывай flac в mono режиме и будет тебе счастье :)
11. Данил Новиков (danil157) 23.06.16 21:51
(10) orfos,

Можно пример?


Не нашел в документации SOX
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа