Распознавание телефонных звонков с помощью речевых технологий Yandex SpeechKit (новая версия Yandex SpeechKit Cloud и Yandex Object Storage)

08.10.19

Интеграция - Телефония, SIP

Обработка позволяет преобразовывать телефонный звонки формата wav в текст с помощью речевых технологий Яндекса. Дополнительно в обработке реализована нарезка телефонного звонка на кусочки по 1 Мб с помощью SOX. Загрузка дополнительных данных по звонку из программы SpRecord. Использовал на нетиповой конфигурации Управление торговлей 10.3.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
В обработке устарела авторизация. Обмен с сервисом реализован через 1C HTTPЗапроc. Распознавание телефонных звонков с помощью речевых технологии yandex SpeechKit:
.epf 11,78Kb ver:1.1
22
22 Скачать (1 SM) Купить за 1 850 руб.
Распознавание телефонных звонков с помощью речевых технологий Yandex SpeechKit (новая версия Yandex SpeechKit Cloud короткие аудио):
.epf 14,04Kb
5
5 Скачать (6 SM) Купить за 3 350 руб.
Распознавание телефонных звонков с помощью речевых технологий Yandex SpeechKit (новая версия Yandex SpeechKit Cloud длинные аудио):
.epf 12,72Kb
8
8 Скачать (6 SM) Купить за 3 350 руб.

Постановка задачи

Необходимо телефонные переговоры менеджеров преобразовать в текст и подгрузить в 1С в карточку клиента. Настроить поиск по ключевым словам. Создать отчет для сбора статистики работы менеджера (количества звонков, длительность).

Реализация

  • SpRecord

Телефонные звонки записываются с аналоговых линий с помощью системы регистрации и записи телефонных разговоров SpRecord (https://sprecord.ru/). В среднем в день получается около 500 Мбайт информации. Телефонные аппараты - самые простые Panasonic TS2350
 

SpRecord можно устанавливать в файловом или в серверном режиме. В серверном удобнее вытаскивать дополнительную информацию из SQL сервера по данным звонка. Таблица dbo_Records содержит все необходимые данные:

  • Номер линии
  • Дата звонка
  • Имя файла звонка
  • Телефон кому звоним
  • Внутренний номер
  • Входящий/Исходящий

Прямым запросом к SQL получаем эти данные и заполняем справочник Звонки в 1С.

  • SOX

Для распознавания файлы отправляются по 1 Мб - получается 500 запросов в день. Чтобы нарезать файл на кусочки используется утилита для работы с аудиофайлами SoX (http://sox.sourceforge.net/). Кроссплатформенная утилита для работы через командную строку. Утилита имеет огромные возможности для работы со звуком. Я использовал только:

- Получить длительность файла

sox --i -d  1.wav  > res.txt

- Получить частоту дискретизации файла

sox --i -r 1.wav  > res.txt

- Нарезка файла по 45 секунд 

sox " + ПутьКФайлу + " """ + ПутьКSox + "converted\" + ТекСек + ".wav"" trim " +  ТекСек*45 + " 45

  • Распознавание звуковых файлов в текст Yandex SpeechKit Cloud.

Необходимо зарегистрироваться и получить ключ (https://developer.tech.yandex.ru). Первый месяц бесплатно. Можно получить несколько ключей и когда заканчиваются количество обращений на одном, то переходить на другой ключ. Я у себя использую 3 ключа, пока хватает объема. Скорее всего Яндекс обучает свою систему распознавания и ему необходимо больше звуковых файлов для анализа. Поэтому дают бесплатные ключи.

Качество распознавания очень зависит от телефонной гарнитуры и произношения менеджера. Дикторскую речь, которая записана на приветствии в АТС преобразовывает 100% правильно. Речь менеджера, который жует или пьет чай может преобразовывать с ошибками.

Для примера вот в таком виде вы получите текст разговора:

«але але добрый день добрый да половину оплатили оплатили так что сегодня увидите директор закончил говорить нет но вы сейчас на месте просто директор хотел поговорить а у него занято ну да скорее всего да ладно»

Общий смысл разговора понятен, но много ошибок. Менеджерам предложил сформировать список слов «заказ, счет, перезвонить» который нужно проговаривать медленнее и хорошо выговаривая при разговоре с клиентом. Тогда в дальнейшем можно делать поиск по этим ключевым словам.

  • Доработки в 1С

В 1С создаем справочник Звонки. В нем храним ссылку на *.wav файл разговора, дату, номера кому звонили и с какого внутреннего телефона, а также текст расшифровки звонка. К карточке звонка я подключил проигрывание телефонных разговоров. (//infostart.ru/public/518955/)

В обработке Yandex speech реализована обработка ожидания. Каждые 2,5 часа запускает пакет заданий. Он содержит проверку новых звуковых *.wav файлов в каталоге SpRecord , загрузка их в 1С, далее получение доп. информации о длительности и номерах из SpRecord и далее нарезка файлов по 1 МБ и распознавание их в Yandex SpeechKit Cloud.

  • Скорость работы. Анализ накопленной информации. Проблемы при разработке

- Самое большое время тратится на отправку файла размером 1 Мб в Yandex SpeechKit Cloud и ожидание ответа(несколько секунд на каждый файл). Нарезка программой SOX занимает много меньше секунды. Загрузка дополнительных данных с SpRecord еще меньше. В дальнейшем распаралелить работу с SOX на одном сервере будет проблематично. Будут подвисать файлы. Лучше использовать несколько серверов или виртуальных машин.

- Обнаружил, что в SpRecord  файлы писались с частотой дискретизации 44100 Гц, при этом файл занимает довольно много места. Сейчас пишутся с частотой 11025Гц. На распознавание это никак не влияет. В первом случае в 1 Мб помещается 11 секунд разговора, а во втором 45 секунд. Лучше экономить место на диске. В начале каждого файла до 30 секунд занимает дозвон. Можно отрезать его у всех файлов. Пока не придумал, как программно понять, что начался разговор и нужно начинать преобразовывать.

- Поиграл с настройками языковой модели. Лучший вариант получился у «queries».

  •  Queries (Короткие запросы(queries) — фразы (3—5 слов) на различные темы, в том числе запросы в поисковых системах (на сайтах).)

  •  Maps (Адреса (maps) — адреса, названия организаций и географических объектов.)

  •  Dates (Даты(dates) — названия месяцев, порядковые и количественные числительные.)

  •  Names (Имена(names) — имена и фамилии, просьбы соединить по телефону.)

  •  Numbers(Числа(numbers) — количественные числительные от 1 до 999 и разделители — точка, запятая, тире. Модель подходит для диктовки номеров телефонов, счетов, документов.)

  •  Music (Музыка(music) — названия музыкальных произведений и исполнителей. Модель не предназначена для распознавания музыкальных фрагментов. Подходит только для распознавания названий, имен авторов и исполнителей песен.)

  •  Buying (Заказы(buying) — фразы, связанные с оформлением заказов в интернет-магазинах (подтверждение заказа и форма доставки).)

- Иногда на сервере подвисала работа с файлами с утилитой SQX. Утилита консольная и все общение с 1С происходит через файлы. То есть запустил SOX и результат читаешь из файла. Бывает, что файл блокируется. В случае плохого результата этот файл будет пропущен и распознается при следующей итерации.

На данный момент накоплено 125 Гб телефонных переговоров. За 3 месяца работы распознано и загружено в 1С 28400 звонков – это около 298 часов переговоров.

После Нового года Яндекс заблокировал один ключ, который я зарегистрировал в ноябре и написал "Необходимо заключить лицензионный договор. Пожалуйста, обратитесь на почту voice@support.yandex.ru." Скорее всего скоро придется платить за пользование сервисом.

Если нужна доп. информация - пишите в комментариях. Отвечу на вопросы.

 

Обновление 21.03.2019

 

В феврале 2019 прислали письмо, что SpeechKit переехал в Яндекс.Облако, поэтому мы рекомендуем зарегистрироваться там для использования технологии.
Вам нужно перейти по ссылке https://cloud.yandex.ru, нажать "Подключиться" и авторизоваться через корректный аккаунт @yandex.ru.

Внимательно читаем документацию: https://cloud.yandex.ru/docs/speechkit

Изменилась авторизация, а также формат передаваемого аудио.

Начнем с авторизации:

 - регистрируемся в облаке https://cloud.yandex.ru

- Создаем каталог и берем идентификатор каталога

https://console.cloud.yandex.ru/folders/b5gfc3ntettogerelqed7p

b5gfc3ntettogerelqed7p — это идентификатор каталога.

Обратите внимание, что его можно взять прямо из адресной строки. Я вначале ошибочно заходил в каталог и там брал неверный идентификатор сети.

- Получите OAuth-токен в сервисе Яндекс.OAuth. Для этого перейдите по https://cloud.yandex.ru/docs/iam/concepts/authorization/oauth-token

- Обменяйте OAuth-токен на IAM-токен:

Я перестал использовать HTTPЗапрос, который доступны в 1С 8.3. (у меня версия платформы 8.3.8.2197). Функция 1С ОтправитьДляОбработки менее стабильно и быстро работает чем cURL. Возможно это моё субъективное мнение. Скачать cURL можно здесь

 

Я использовал запуск cURL, которую запускал из bat файла. Далее анализирую ответ полученный в файле результата.

|curl -X POST -d ""{\""yandexPassportOauthToken\"": \""" + OAuth + "\""}""  -H \'Content-Type: application/json\' https://iam.api.cloud.yandex.net/iam/v1/tokens > " + ФайлРезультата;

Каждый 12 часов нужно получать новый IAM-токен, это можно определить по возвращаемой ошибке в распознавании "Not enough rights" или "FORBIDDEN"

 

Формат передаваемого аудио

Теперь необходимо передавать аудио в формате аудиокодека OPUS в контейнере OGG (OggOpus) или  формате LPCM без WAV-заголовка

Я использую формат OGG.

Для подготовки wav файл нарезаю по 55 секунд и далее преобразую в *.ogg

Количество секунд вывел методом проб и ошибок. Для частоты файла 11025 Гц этот размер точно проходит распознавание без ошибок. Если файл будет превышать, то вместо текста в ответ придет INTERNAL_SERVER_ERROR. Причем эта ошибка возвращается не сразу, а спустя пару минут, при этом обмен подвисает в ожидании.

|sox " + ПутьКФайлу + " """ + ПутьКSox + "converted\" + ТекСек + ".wav"" trim " +  ТекСек*55 + " 55
|opusenc " + ПутьКSox + "converted\" + ТекСек + ".wav " + ПутьКSox + "converted\" + ТекСек + ".ogg  

opusenc это команда для преобразования wav в ogg. В sox нет возможности преобразовывать wav в ogg.

 

Распознавание в yandex облаке

|curl -X POST -H ""Authorization: Bearer " + token + """ --data-binary ""@" + ПутьКФайлу +  """ ""https://stt.api.cloud.yandex.net/speech/v1/stt:recognize/?topic=general&folderId=" + folderId + " > " + ФайлРезультата;

Получаем в Файл результата JSON, который преобразуем в текст и записываем в базу данных.

 

Служба поддержки SpeechKit Cloud написала, что можно одновременно отправлять 20 потоков распознавания. Я у себя реализовал это через несколько запусков curl, каждый поток обрабатывает свой звуковой файл. Мне хватило 4х потоков.

SpeechKit Cloud теперь платная, некоммерческих тарифов в Облаке нет.

Стоимость использования SpeechKit API для распознавания речи рассчитывается, исходя из длительности аудиофайлов, которые были успешно обработаны сервисом за Отчетный период. Длительность каждого аудиофайла измеряется в отрезках по 15 секунд с округлением в большую сторону.

Тарифы: https://cloud.yandex.ru/docs/speechkit/pricing

 

Инструкция по установке в типовую УТ 10.3.55.3

1. Добавить справочник Звонки со следующими реквизитами

Менеджер(Строка 30)

ДатаЗвонка(Дата и время)

РасшифровкаЗвонка(Строка неограниченная)

ИмяФайла(Строка 100)

ПолныйПутьКФайлу(Строка 500)

СтрокаОшибок(Строка неограниченная)

Длительность(Число 10,2)

Размер(Число 10,2)

ТелефонКудаЗвоним(Строка 20)

Входящий(Булево)

ВнутреннийНомер(Строка 3)

Контрагент(Справочник Контрагенты)

КонтактноеЛицо(Справочник КонтактныеЛицаКонтрагентов)

РасшифровкаЗвонкаОригинал(Строка неограниченная)

ДлительностьЗвонка(Строка 10)

КатегорияЗвонка (Строка 10)

Обработан (Булево)

Поток(Число 10,0)

 

Далее скачиваем обработку "Распознавание телефонных звонков с помощью Yandex SpeechKit Cloud:" и запускаем в конфигураторе.

В модуле обработки указываем настройки

1. путь к файлам со звонками

2. Идентификатор каталога yandex

3. OAuth yandex

4. Путь К программе Sox для обрезки звуковых файлов

 

Далее сохраняем обработку и запускаем в режиме предприятия.

В режиме предприятия нажимаем "обработать каталог с файлами", по этой команде будут созданы элементы справочника Звонки, посчитана длительность звонка, частота дискретизации.

по кнопке "Расшифровать звонки" файлы будут переведены в текст и записаны в элемент справочника Звонки.

 

Обновление от 07.12.2019

 

Добавил обработку Распознавание длинных аудио. Это дешевле, так как распознавание работает с небольшой задержкой.

При распознавании коротких аудио часто возникала ошибка "internal server error". Служба поддержки яндекса написала, что они исправят эту ошибку в будущем. ("до применения исправлений, вы можете передавать файл в одном из других поддерживаемых форматов: lpcm 16bit 8k/16k/48k Hz.
Также, вы можете воспользоваться распознаванием длинных аудио")

Чтобы распознать длинное аудио нужно:

1. Создать сервисный эккаунт, назначить роли и права.

2. Создать статический ключ доступа 

Эти пункты подробно расписаны в яндекс хелпе

3. При операциях с распознаванием и работой с файлами yandex storage необходимо получить IAM-токен. Я получал через 

yc iam create-token (ссылка на документацию)

Токен действителен 12 часов. 

4. Отправить файл на yandex storage

aws --endpoint-url=https://storage.yandexcloud.net s3 cp " + ИмяФайлаopus + " s3://voice/" + ИмяФайлаopus;

5. Получить ссылку на файл yandex storage и дать команду на распознавание файла

6. По ссылке, полученной в пункте 5, скачать распознанный текст.

 Скорость распознавания: 1 минута одноканального аудио примерно за 10 секунд. Если файл еще не готов, то в запросе вернется Ложь;

Есть ограничения:

Количество запросов в час 500, проверка статуса операции в час 2500.

7. После распознавания удалить файл из yandex storage

aws --endpoint-url=https://storage.yandexcloud.net s3 rm s3://voice/" + ИмяФайла;

 

Цена распознавания длинного аудио 100 секунд - 1 руб.

Цена распознавания короткого аудио 100 секунд - 1.7 руб.

обработка SpRecord SOX Yandex SpeechKit Cloud wav OggOpus *.ogg opusenc curl Object Storage

См. также

SALE! 30%

Загрузка и выгрузка в Excel Документооборот и делопроизводство (СЭД) Учет документов Распознавание документов и образов Бухгалтер Пользователь Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная программа для распознавания сканов или фото товарных документов в 1С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC, XLS, HTML) выбираете документ 1С и нажимаете кнопку "Распознать и загрузить".

8400 5880 руб.

04.06.2019    107159    313    173    

326

Учет документов Распознавание документов и образов Бухгалтер Пользователь Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Расширение для типовых конфигурация и для самостоятельной интеграции системы распознавания документо удостоверяющих личность и прочих документов непосредственно из информационных баз "1С:Предприятия 8.3" с помощью Content AI - Passport Reader SDK. Расширение позволит не изменяя типовой код конфигурации, расширить текущий функционал несколькими кликами мыши.

12000 руб.

26.01.2016    69992    79    2    

103

Телефония, SIP Платформа 1С v8.3 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Модуль интеграции с виртуальной телефонией Новофон для решения 1С:Управление нашей фирмой, редакция 3.0. Обновление релиза в связи с переходом на API 2.0 поставщиком сервиса. Бета-версия 2.0 до окончания перехода поставщиком на новую версию.

12000 руб.

26.02.2024    957    1    0    

2

Телефония, SIP Анализ продаж Платформа 1С v8.3 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Связка 1С и виртуальных АТС (от Мегафон, Zadarma, Новофон ) позволит четко ответить на вопросы: кто звонил, когда звонил, кому звонил, сколько говорил, сколько ждал на линии, что особо актуально при удаленной работе операторов и менеджеров, о чем говорили, результат разговора, обработаны ли пропущенные звонки, прослушать сам разговор, запланировать встречу, звонок, напоминание по результатам разговора. Возможность позвонить клиенту прямо из 1С одной кнопкой, оставить комментарий о звонке, посмотреть по каждому партнеру и клиенту, контакту клиента историю его звонков и взаимоотношений.

9600 руб.

08.05.2020    27446    31    74    

42

Разработка внешних компонент Телефония, SIP Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Внешняя компонента выполнена по технологии Native API для 1С 8.х, обеспечивает доступ к программным АТС Asterisk (FreePBX, Elastix) через AMI интерфейс. Через него можно управлять многими функциями Asterisk (определение номеров, перевод звонков, набор телефона и т. д.)

2400 руб.

04.05.2018    46828    122    66    

66

SALE! 40%

Учет документов Распознавание документов и образов Бухгалтер Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Одна из наиболее удобных обработок автоматического прикрепления большого количества документов-оригиналов к документам 1С. Для файлов поточного сканирования автоматически определяются начало и конец каждого документа. Поддерживаются штрихкоды, QR-коды, отсканированные PDF документы без штрихкодов, сформированные в ЭДО текстовые PDF документы. Поддерживаются входящие и исходящие документы-оригиналы.

6480 руб.

23.12.2021    13179    16    24    

10

Телефония, SIP Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 Россия Управленческий учет Платные (руб)

Интеграция 1С с телефонией и чатами WhatsApp и Telegram автоматизирует работу оператора со звонками и чатами и добавит вашей 1С элементы CRM системы. Храните всю историю взаимоотношений в 1С, не теряйте звонки, скачивайте, прослушивайте в любое время из карточки клиента или журнала звонков, держите руку на пульсе, используя блок отчетов по звонкам. Интегрируйте вашу 1С и чатами WhatsApp и Telegram, общайтесь с клиентами с единого номера и в одном окне. Теперь чаты с клиентами хранятся в карточке партнера в 1С, а не в личных мобильных ваших менеджеров.

4100 руб.

28.04.2022    15937    13    10    

39
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. eskor 98 24.01.18 04:10 Сейчас в теме
Интересная идея. Плюсую.
2. krylovim 24.01.18 11:12 Сейчас в теме
Интересно! Сам тоже собирался реализовать подобную функциональность, но пока не дошли руки)
Не рассматривали варианты других движков по распознаванию речи?
Google Cloud Speech API и MS SAPI в частности?
3. zzhiraf_ 73 24.01.18 11:28 Сейчас в теме
Я тестировал вручную несколько файлов http://www.speechpro.ru/ (Voco.Professional). Там качество хуже получилось чем у яндекса. Google тестировал с android приложением. Там качество хорошее, но они матные слова отсекают. А у мне как раз хотелось в приложении наговорить текст и чтобы он в бегущей строке отобразился.
4. пользователь 28.03.18 01:47
Сообщение было скрыто модератором.
...
5. gubanoff 63 06.09.18 16:43 Сейчас в теме
(0) спасибо, работает. Взяли себе.
6. Venzor 26 01.08.19 17:45 Сейчас в теме
Добрый день. Пытаюсь сделать обратную процедуру голос из текста. Через HTTP возвращает КодСостояния = 400 и в теле {"error_code":"BAD_REQUEST","error_message":"unsupported content-type: application/octet-stream"}

Код вот такой:
	
        Соединение = новый HTTPСоединение("tts.api.cloud.yandex.net", , , , , ,Новый ЗащищенноеСоединениеOpenSSL);
	Заголовки = Новый Соответствие;
	
	Заголовки.Вставить("Authorization", "Bearer " + токен);
																	 	
	Запрос = Новый HTTPЗапрос("speech/v1/tts:synthesize", Заголовки);
	Запрос.УстановитьТелоИзСтроки("text=Hello World&lang=en-US&folderId=b1gafluvns32peta2od7");
	
	Ответ = Соединение.Записать(Запрос);
Показать


через командную строку работает:

curl -X POST \ -H "Authorization: Bearer CggaATEVAgAAABKABDRO1vVPXTWPxjtg9v_VzzBrjGuAw1nKMtpUhPoFfEuw­v4DRCGvFQSrjAfQArAIPu-HjHCOvQ7acy-hDm43zcqw36ZZWIJSVjXg8O1rxHJ8716Flj_-FO1DhE5nJbLWBzCPFDlLtoyfFg6ydIjsscCz2HUANkRNQ3Pi25PP69NE3H5R­8Y548CFX-lVHHF2hC6DU4BZp94-T5dI61bOTyM18EzuXFdV7DwFZXJnSprBHLTA0XZyJmyV_EB9jJtipvaDbAkY­bmrBmh4OE04BrLy350NIkwREmCwD1FKtWaaIeFpYVY_UP088n6sZVZGJ2NN1­KuCPdHrwWb0lMaaJqH0iGmKkBqJFgMu2br4wKg23pkUWb8jDqDj5IwGRy237­gHrKSkwYrCVmUD102sm7LNh3MdAv2VHlh4OCknmD2biUs3GixJtkoVdct_dK­cZJB9UrE57HPQDJlS9J5163xQDVR-ecplWkQg-xvcVSD3hTXCi7ogbFT9TCiJPtDNab3L4CMczUr_BcgOhYxduCl9N9JixLcoT­coZSUXSIEmCdjujOsMTNy97QWaw5Azb7ZaF3STUcJDDE8PTJ_-H8LJL4Uk1nhg19FCAR4TQ3Bs_8v3X60VW5fRz2hyGopAJpgBaZR7BFhkPnEI­za6CZJuTIZOVZO2hcJoBwAfPlC98nfVXmUGmMKIDA2N2ZiMzEwMmUzNjRiN2­ZhNjE0Mzg4ODVhNzFhNDhjEIiRi-oFGMjijeoFIiEKFGFqZWI3YmFubXFtamNsZ3ZrNXRjEglvbGVna2luMThaAD­ACOAFKCBoBMRUCAAAAUAEg8gQ" \ --data-urlencode "text=1234566 &человек&" \ -d "lang=ru-RU&folderId=b1gafluvns32peta2od7" \ "https://tts.api.cloud.yandex.net/speech/v1/tts:synthesize" > C:\_Del\curl-7.65.3-win64-mingw\bin\speechR.ogg

Но только английский текст или цифры, русские слова игнорируются, как понимаю они до них доходят в неправильной кодировке и игнорятся.
Пробывал и из 1с и из cmd и из батников в разных кодировках.

Скачал обе обработки из материала, но первая не актуальна (HTTP), а вторая не связана с русским языком никак.

Может подскажет кто-нибудь куда копать?
8. Lion_LexXx 1 29.08.19 10:52 Сейчас в теме
(6)

    АдресСервера = "tts.api.cloud.yandex.net";    
    iamToken = "ХХХХХХХХХХХХХХХХХХХХХХХХХХХХ";
    folderId = "ХХХХХХХХХХХХХХХ";
    
    ssl = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows( СпособВыбораСертификатаWindows.Выбирать), Новый СертификатыУдостоверяющихЦентровWindows()); 
    
    СоединениеЯндекс = Новый HTTPСоединение(АдресСервера, 443, , , , 20, ssl, Неопределено);
    Заголовки = Новый Соответствие();
    Заголовки.Вставить("Authorization", "Bearer " + iamToken);
    Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded;");
    
    СтрокаТела = 
    "text=Привет мир!" + 
    "&lang=ru-RU" + 
    "&folderId=" + folderId 
    ;
    
    Запрос = Новый HTTPЗапрос("/speech/v1/tts:synthesize", Заголовки);
    
    Запрос.УстановитьТелоИзСтроки(СтрокаТела,КодировкаТекста.UTF8);
    ТелоКакСтрока = Запрос.ПолучитьТелоКакСтроку();
    
    Ответ = СоединениеЯндекс.ОтправитьДляОбработки(Запрос);
    Сообщить("Ответ.КодСостояния " + Ответ.КодСостояния);
    СтрокаОтвет = Ответ.ПолучитьТелоКакСтроку();
    ДвоичныеДанныеОтвет = Ответ.ПолучитьТелоКакДвоичныеДанные();
    ИмяФайла = "C:\yandex\speechYandex.ogg";
    ДвоичныеДанныеОтвет.Записать(ИмяФайла);
Показать




https://forum.infostart.ru/forum9/topic224518/#message2282682
Aleskey_K; +1 Ответить
7. zzhiraf_ 73 05.08.19 08:54 Сейчас в теме
Попробуй написать speechkit@support.yandex.ru, они отвечают довольно быстро. 400 - Синтаксическая ошибка в запросе. Тут нужно тестить разные варианты запроса, возможно подберешь нужный.
9. Venzor 26 29.08.19 14:23 Сейчас в теме
Спасибо, я решил проблему, будет время это все оформить - выложу статьей сюда
10. skyboy13 14 04.10.19 16:38 Сейчас в теме
Ни одна из обработок не запускается без ошибок.
в первой ошибка ms sql
во второй на отсутствующую константу.
и за это 12 стартмани?
Прикрепленные файлы:
11. skyboy13 14 04.10.19 16:39 Сейчас в теме
вторая обработка
Прикрепленные файлы:
12. zzhiraf_ 73 04.10.19 20:29 Сейчас в теме
(11)
Привет. я на след. неделе смогу посмотреть и исправить эту ошибку.
У меня не коммерческая обработка, а только пример кода, который можно использовать у себя. Если нужно, чтобы все работало "из коробки", то на инфостарте есть https://infostart.ru/public/559601/ и другие аналоги.
Скачивать 2 обработки не было нужды, в описании к обработке указано, что первая устарела и яндекс не пропустит её.
Обработка распознавания работает на базе УТ 10.3, немного доработанной. На других конфигурациях не проверял. Если интересна скорость распознавания, точность, объем звуковых файлов, то пиши, отвечу на вопросы.
13. skyboy13 14 05.10.19 22:40 Сейчас в теме
На типовой она не запускается. Просто не очень понятно, зачем выкладывать за деньги, даже за смартмани, то что не работает. И не важно, коробка это или нет.
Если нет цели получиться за это смартмани, тогда можно поставить режим бесплатно.
16. Lion_LexXx 1 07.10.19 08:33 Сейчас в теме
(13)
Если нет цели получиться за это смартмани, тогда можно поставить режим бесплатно.

По правилам Infostart сейчас нельзя выкладывать бесплатно, раньше было можно.
Да, согласен с вами, бывало, что скачаешь обработку за стартмани, а там три "строчки кода", которые бесполезные и не то на что ты рассчитывал... обидно.)) Жизнь-боль, но такие правила сайта.
17. zzhiraf_ 73 08.10.19 12:11 Сейчас в теме
(13)
Обновил обработку Распознавание телефонных звонков с помощью речевых технологий Yandex SpeechKit (новая версия Yandex SpeechKit Cloud):
Напиши, если не получиться бесплатно скачать обновление, я вышлю на почту.

Добавил описание запуска данной обработки на типовой УТ 10.3.55.3

В обработке нужно задавать параметры авторизации https://cloud.yandex.ru/docs/iam/concepts/authorization/oauth-token
а также устанавливать программу для работы со звуком sox.
В обработке не 3 строчки, а более 600 :)
19. skyboy13 14 09.10.19 16:55 Сейчас в теме
(17)
не дает скачать. опять хочет 6 смартов. лучше тогда уж на почту skyboy__ya.ru
18. zzhiraf_ 73 08.10.19 12:15 Сейчас в теме
(13)
Обновил обработку Распознавание телефонных звонков с помощью речевых технологий Yandex SpeechKit (новая версия Yandex SpeechKit Cloud):
Напиши, если не получиться бесплатно скачать обновление обработки.

Добавил описание запуска данной обработки на типовой УТ 10.3.55.3

В обработке нужно задавать параметры авторизации https://cloud.yandex.ru/docs/iam/concepts/authorization/oauth-token
а также устанавливать программу для работы со звуком sox.
В обработке не 3 строчки, а более 600 :)
14. skyboy13 14 05.10.19 22:44 Сейчас в теме
По той ссылке, так же не работает. :-( только стоит уже живых денег.
Прикрепленные файлы:
15. skyboy13 14 05.10.19 22:46 Сейчас в теме
А зачем две скачал: ..... Когда одна не работает, есть шанс, что вторая работает. Но так, что бы две сразу, такое я еще не встречал.
20. tventin 09.12.19 11:02 Сейчас в теме
Интересная обработка, но нет разбивки на диалог, Yandex SpeechKit может разделить участников диалога на менеджера и клиента?
21. zzhiraf_ 73 09.12.19 14:46 Сейчас в теме
(20)
Нет, yandex еще не дорос до этого. Сейчас даже пробелы между словами ставит неправильно. Вот пример текста кот. возвращается. Орфограцию сохранил.
"я тогда вызову сдэк чтобы вот эту пробное право забрали от тебятак хорошо давай тогда вернемся к нашим баранамтакчто мне тут надо сделать этодаэто у нас что за клиент какие документы распечатыватьэто город это мне его не надо смущаться и накладная сегодняшним числом я делаю такоехорошо так я это распечатываю значит дарекидато что ты туда пойдешь когда я тебе должна сказать"

Можно использовать ключевые слова, которые проговаривает менеджер и потом по ним делать поиск. Например "Заказ" или "Оплата". Телефоны у нас аналоговые, качество очень сильно зависит от того как разборчиво говорят менеджеры.
22. AMS_Guskov_VL 12.12.19 11:29 Сейчас в теме
на заре тоже пробовали такое для документооборота прикрутить, что бы директор "наговаривал" задачи. Но все сломалось о текст формата: "Сколько *** раз я просил дать данные ПКТ с битой РП6 на узк сразворотом" =)
Оставьте свое сообщение