Это 1С говорит

22.04.17

Интеграция - WEB-интеграция

Учим 1С произносить любой текст без установки стороннего ПО буквально за 5 строк кода.

Приветствую тебя, уважаемый читатель!

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

Что нам потребутеся:

  1. Установленный IE 9 версии и выше
  2. Стационарная или мобильная платформа версий 8.X и выше 
  3. Доступ в Интернет

Для начала создадим внешнюю обработку с одной командой, действия которой будут выполняться в контексте сервера. Также потребутеся поле ввода, в котором будем писать текст для произношения. Сама по себе платформа не умеет синтезировать речь (англ. text-to-speech, tts), но зато в Интернете есть ресурсы, которые это могут делать быстро, качественно и условно бесплатно. Один из таких это http://voicerss.org, он предоставляет в день до 350 бесплатных запросов с объемом данных для одного запроса не более 100Kb, что вплоне достаточно для решения каких-то небольших задач. Есть возможность синтеза речи для основных языков мира, русского в том числе. Также предоставляет возможность использовать API по протоколу HTTPS. Для того, чтобы использовать API данного ресурса необходимо на нем зарегистрироваться. Регистрация простая, не требует ввода данных банковской карты (чуть позже объясню причем тут карта), только e-mail. После регистрации будет доступен персональный API key.

Теперь вернемся к обработке. Разместим на форме еще одно поле ввода, в котором будем писать только что полученный API key. Разместим следующий код в серверном обработчике команды формы

    ВременныйФайл = ПолучитьИмяВременногоФайла("mp3");
	Соединение = Новый HTTPСоединение("api.voicerss.org");
	Запрос     = Новый HTTPЗапрос("?key="+Ключ+"&hl=ru-ru&src="+ЧтоБудемГоворить);
	Ответ      = Соединение.Получить(Запрос, ВременныйФайл);
	Если Ответ.КодСостояния <> 200 Тогда
		Сообщить("Возникла ошибка. Код ответа сервера " + Ответ.КодСостояния);	
	КонецЕсли;

  Ключ - реквизит формы, значение равно API key, ЧтоБудемГоворить - реквизит формы, значение равно тексту, который хотим произнести. В данном случае используем метод GET (хотя сервис может переварить и POST также) для получения ответа от сервиса voicerss.org. Тело ответа помещаем во временный файл. Все, теперь у нас есть mp3 файл, в котором женским голосом озвучен наш текст. Вариантов как его воспроизвести в принципе достаточно. Предлагаю воспользоваться пожалуй самым простым. Добавим реквизит формы с типом строка и разместим его на форме, выбрав для него вид ПолеHTMLДокумента. Добавим следующий код в нашу процедуру

ПолеHTML = "<!DOCTYPE html>
	|			<html>
	|			 <head>
	|			  <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
	|			  <meta http-equiv='X-UA-Compatible' content='IE=9' />
	|			 </head>
	|			 <body>
	|			  <audio controls autoplay = 'autoplay'>
	|			    <source src=" + ВременныйФайл + " type='audio/mp3'>
	|			    Не поддерживается HTML5.
	|			  </audio>
	|			 </body>
	|			</html>";

 Строкой <meta http-equiv='X-UA-Compatible' content='IE=9' /> мы явно указываем, что хотим использовать IE 9, так как только с этой версии поддерживается HTML5, в котором появился тег <audio> (здесь можно почитать про него подробнее), с помощью которого будет воспроизводиться наш файл. 

Ниже скрин полученной обработки

Кто-то спросит, зачем это все? Ну, например, можно реализовать озвучку очереди, номер заказов клиентов или, например, Вы пишите на мобильной платформе кулинарный справочник (затея конечно такая себе )) ) и хотите, что бы он озвучивал рецепт и издавал какие либо звуки по таймингу рецепта. У меня например была задача озвучивать список товаров для комплектовщика в мобильном приложении.

p.s. Есть очень классный сервис для синтеза речи https://www.ivona.com/, в нем есть мужской голос Максим, который используется для озвучки донатов на http://www.twitch.tv, но вот как раз для него при регистрации нужно указывать данные своей банковской карты, хотя там тоже есть бесплатный порог использования.

tts text to speech синтезатор речи

См. также

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

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

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме. Без существенных изменений типовой конфигурации. Проверено с брендами: Интеграция 1С и GEELY Интеграция 1С и HAVAL Интеграция 1С и KIA Интеграция 1С и FORD Интеграция 1С и LADA ГАРАНТИЯ 100% ВНЕДРЕНИЯ!

36000 руб.

03.08.2020    15660    9    17    

9

Модуль для обмена "1С:Предприятие 8. УАТ. ПРОФ" с FortMonitor

WEB-интеграция 8.3.8 Конфигурации 1cv8 Автомобили, автосервисы Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Расширение предназначено для конфигурации "1С:Предприятие 8. Управление Автотранспортом. ПРОФ". Функционал модуля: 1. Заполнение регистров сведений по подсистеме "Мониторинг", а именно: события по мониторингу, координаты по мониторингу, пробег и расход по мониторингу, текущее местоположение ТС по мониторингу 2. Заполнение путевого листа: пробег по мониторингу, время выезда/заезда, табличная часть ГСМ, места стоянок по геозонам. 3. Отчеты по данным загруженным в регистры сведений. 4. Предусмотрена автоматическая загрузка данных в фоновом режиме (условия работы данной загрузке читайте в описании товара) Модуль работает без включенной константы по настройкам мониторинга. Модуль формы предоставляется с открытым кодом, общий модуль защищен. Любой заинтересованный пользователь, имеет возможность скачать демо-версию расширения.

22656 руб.

25.05.2021    12809    30    8    

10

Интеграция 1С — Битрикс24. Обмен задачами

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс24. Разработка имеет двухстороннюю синхронизацию 1С и Битрикс24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (8.3.18.1289). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    17425    6    15    

13

[Расширение] БОР-Навигатор.Культура

Зарплата Бюджетный учет WEB-интеграция Обмен с ГосИС Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Расширение конфигурации, включающее в себя объекты, необходимые для подготовки и сдачи отчета "Штатная численность" системы "БОР-Навигатор.Культура" в программе "1С:Зарплата и кадры государственного учреждения", редакция 3.1.

8400 руб.

01.02.2019    25687    9    0    

7

Интеграция с сервисом vetmanager

WEB-интеграция Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    16259    41    49    

22
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. CheBurator 3119 22.04.17 03:48 Сейчас в теме
озвучивать список товаров для комплектовщика в мобильном приложении? это видно совсем от безысходноси, когда штрихкодирования нет...
2. nbeliaev 826 22.04.17 07:58 Сейчас в теме
(1) там было и штрихкодирование, отдельно форма поиска и еще вот озвучка. такое вот пожелание клиента )
3. Pr-Mex 136 22.04.17 22:52 Сейчас в теме
Программа балаболка это всё делает на локальном компе, через командную строку и без ограничения по количеству текста.
TreeDogNight; +1 Ответить
5. TreeDogNight 22 24.04.17 14:11 Сейчас в теме
(3) Где можно подробнее почитать об интеграции 1С с этой программой?
8. Pr-Mex 136 24.04.17 21:34 Сейчас в теме
(5) В этом проекте реализовано такое:
https://github.com/silverbulleters/vanessa-behavior

Вот пример видео - где использовалась озвучка, сгенерированная этой программой.
https://www.youtube.com/watch?v=72kyk7OUeFU&list=PL2OubLDBf738DuPcRxPI_GZehYuxjd0s1
1cWin; Makushimo; +2 Ответить
4. user618912_redgad 13 24.04.17 13:54 Сейчас в теме
Также делал озвучку для комплектовщика. Только проигрыванием записанных файлов. Используются служебные штрих-коды. Наименования этих штрих - кодов и надо было озвучивать.
Так что инструмент востребован.
6. echonok 11 24.04.17 15:01 Сейчас в теме
Автор, вы закрасили ключ на одном скрине, но на втором он у вас открыт)
dj_serega; +1 Ответить
7. nbeliaev 826 24.04.17 15:03 Сейчас в теме
(6) Все равно он тестовый ))
dj_serega; +1 Ответить
9. Nehc 21 25.04.17 15:29 Сейчас в теме
Ааа... Зачем такие сложности? Можно же просто:http://infostart.ru/public/528514/

Тогда

СинтезаторРечи = Новый COMОбъект("SPEECH.SpVoice");
СинтезаторРечи.Speak("Что там за булки-то?");



В прочем, я думаю, что чем больше вариантов, тем лучше! ;)
10. nbeliaev 826 25.04.17 15:51 Сейчас в теме
(9) в публикации написано, что необходимо загрузить и установить какие-то доп. пакеты. Здесь ничего не нужно устанавливать, сложности никакой, плюс за 10$ в месяц получаете статистику (и такое бывает нужно). ну и плюс решение с ком объектом будет работать только под win. Так что кому что удобнее ))
13. Lelic24RUS 26.04.17 09:07 Сейчас в теме
(10)
ну и плюс решение с ком объектом будет работать только под win

а решение с IE9? )))
18. qazaas 09.07.18 12:47 Сейчас в теме
(9) (10) А у меня вот такой вариант записан:

SAPI_SpVoice = Новый COMОбъект("SAPI.SpVoice");
SAPI_SpVoice.Speak(Фраза);


Может быть есть еще варианты у кого-нибудь? =)

P.S. устанавливать дополнительно ничего не нужно, говорит средствами системы.
11. herfis 496 25.04.17 16:40 Сейчас в теме
Узкий рынок получается. Озвучку очереди на чужом онлайн-сервисе с невнятными гарантиями я бы точно делать не стал.
Остается некритичный функционал, но достаточно полезный, чтобы за него платить. Навскидку в мобильных приложениях что-то такое придумывается. Типа озвучить че-нить полезное, пока за рулем. Но в мобилочках вроде родные TTS-апишечки есть?
12. nbeliaev 826 25.04.17 20:23 Сейчас в теме
(11) в телефоне STT есть, а вот с TTS не разбирался, да и на вскидку что-то не припомню, нигде не попадался на глаза.
Не знаю, но мне все равно больше нравится брать решение из облака. Не важно что это TTS или что-то еще - быстро, просто, надежно. Понятно, что какие-то супер секретные данные никто передавать никуда не будет, а вот номер очереди, почему бы и нет.
15. herfis 496 26.04.17 09:21 Сейчас в теме
(12) Простота и универсальность - главное преимущество. Поэтому и нравится. Все остальные преимущества - у локальных сервисов.
14. anosin 29 26.04.17 09:10 Сейчас в теме
Бот Максим в вк работает без ограничений
16. Cvetic 307 27.04.17 08:28 Сейчас в теме
Спасибо! Для меня открытие, что 1С умеет говорить :)
Можно сделать какое-нибудь поздравление с озвучиванием.
17. triviumfan 91 23.04.18 21:55 Сейчас в теме
Не работает, возвращает 400 (bad request)
19. 1v7 235 10.06.21 23:24 Сейчас в теме
&НаКлиенте
Процедура АудиоКоманда(Команда)

// Работает по умолчанию во всех современных ОС, которые поддерживают .NET Framework 4
АудиоГолос = Новый COMObject("SAPI.SpVoice");
АудиоГолос.Speak("Я верю, друзья, караваны ракет.
|Помчат нас вперед, от звезды до звезды.
|На пыльных тропинках далеких планет.
|Останутся наши следы.");

КонецПроцедуры
One_Assembler; +1 Ответить
Оставьте свое сообщение