Это 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 синтезатор речи

См. также

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

Функциональное решение для торговли на всех популярных маркетплейсах. Работает со схемами FBO и FBS. Простое в использовании и установке, не вносит изменения в код программы. Существенно упрощает работу с товарным ассортиментом, обработку заказов с площадок, работу с поставками, а также ведение аналитики по продажам и остаткам.

72000 руб.

19.07.2024    1399    52    0    

3

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

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

12000 руб.

02.02.2021    17771    49    50    

29

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

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

22656 руб.

25.05.2021    14155    40    8    

16

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

Универсальное расширение конфигурации для автоматической загрузки и заполнения реквизитов контрагентов (партнеров) из ОГРН для 1С:ERP Управление предприятием 2 (1С:ERP Управление предприятием 2, редакция 2.4), 1С:ERP Управление предприятием 2 (1С:ERP Управление предприятием 2, редакция 2.2), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.5), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.4), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.3), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.2), 1С:Комплексная автоматизация 8 (1С:Комплексная автоматизация, редакция 2.4), 1С:Комплексная автоматизация 8 (1С:Комплексная автоматизация, редакция 2.2), 1С:Комплексная автоматизация 8 (1С:Комплексная автоматизация, редакция 2.0) и 1С:Бухгалтерия 8 (Бухгалтерия предприятия, редакция 3.0).

3900 руб.

08.11.2017    63020    403    295    

72

ККМ WEB-интеграция Программист Пользователь Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Универсальный драйвер для фискализации чеков для сервиса Бизнес.РУ. Чеки (https://online-check.business.ru/). Работает с любой кассой, подключенной к сервису, в том числе и без физической кассы (Аренда облачной ККТ в датацентре). Принцип работы аналогичен наличию физической кассы, подключенной к рабочему месту 1С. Фискализация выполняется с любого рабочего места через интернет. Нет ограничений на количество рабочих мест, касс, компьютеров. Поддерживает печать с нескольких рабочих мест на одну кассу. Работает в любой операционной системе (Windows, Linux) и в любом клиенте (Тонкий, Толстый, Web, Мобильный клиент).

6000 руб.

03.06.2021    13859    12    0    

8
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. CheBurator 2696 22.04.17 03:48 Сейчас в теме
озвучивать список товаров для комплектовщика в мобильном приложении? это видно совсем от безысходноси, когда штрихкодирования нет...
2. nbeliaev 835 22.04.17 07:58 Сейчас в теме
(1) там было и штрихкодирование, отдельно форма поиска и еще вот озвучка. такое вот пожелание клиента )
3. Pr-Mex 136 22.04.17 22:52 Сейчас в теме
Программа балаболка это всё делает на локальном компе, через командную строку и без ограничения по количеству текста.
LLIKIPER; TreeDogNight; +2 Ответить
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 14 24.04.17 13:54 Сейчас в теме
Также делал озвучку для комплектовщика. Только проигрыванием записанных файлов. Используются служебные штрих-коды. Наименования этих штрих - кодов и надо было озвучивать.
Так что инструмент востребован.
6. echonok 11 24.04.17 15:01 Сейчас в теме
Автор, вы закрасили ключ на одном скрине, но на втором он у вас открыт)
dj_serega; +1 Ответить
7. nbeliaev 835 24.04.17 15:03 Сейчас в теме
(6) Все равно он тестовый ))
dj_serega; +1 Ответить
9. Nehc 22 25.04.17 15:29 Сейчас в теме
Ааа... Зачем такие сложности? Можно же просто:http://infostart.ru/public/528514/

Тогда

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



В прочем, я думаю, что чем больше вариантов, тем лучше! ;)
10. nbeliaev 835 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 513 25.04.17 16:40 Сейчас в теме
Узкий рынок получается. Озвучку очереди на чужом онлайн-сервисе с невнятными гарантиями я бы точно делать не стал.
Остается некритичный функционал, но достаточно полезный, чтобы за него платить. Навскидку в мобильных приложениях что-то такое придумывается. Типа озвучить че-нить полезное, пока за рулем. Но в мобилочках вроде родные TTS-апишечки есть?
12. nbeliaev 835 25.04.17 20:23 Сейчас в теме
(11) в телефоне STT есть, а вот с TTS не разбирался, да и на вскидку что-то не припомню, нигде не попадался на глаза.
Не знаю, но мне все равно больше нравится брать решение из облака. Не важно что это TTS или что-то еще - быстро, просто, надежно. Понятно, что какие-то супер секретные данные никто передавать никуда не будет, а вот номер очереди, почему бы и нет.
15. herfis 513 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 96 23.04.18 21:55 Сейчас в теме
Не работает, возвращает 400 (bad request)
19. by_1Cnik 236 10.06.21 23:24 Сейчас в теме
&НаКлиенте
Процедура АудиоКоманда(Команда)

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

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