Объект Device/Методы/TextToSound: различия между версиями

Материал из Call Office Wiki
Перейти к навигации Перейти к поиску
Строка 22: Строка 22:
*'''emotion''' - эмоциональная окраска голоса.
*'''emotion''' - эмоциональная окраска голоса.
Описание параметров на [https://cloud.yandex.ru/docs/speechkit/tts/request сайте Яндекс].
Описание параметров на [https://cloud.yandex.ru/docs/speechkit/tts/request сайте Яндекс].
Если синтезируемый текст находится внутри тегов <speak>, текст передается в формате [https://cloud.yandex.ru/docs/speechkit/tts/markup/ssml SSML], иначе текст воспринимается как текст в [https://cloud.yandex.ru/docs/speechkit/tts/markup/tts-markup TTS-разметке] .
Если синтезируемый текст находится внутри тегов <speak>, текст передается в формате [https://cloud.yandex.ru/docs/speechkit/tts/markup/ssml SSML], иначе текст воспринимается как текст в [https://cloud.yandex.ru/docs/speechkit/tts/markup/tts-markup TTS-разметке].<br>
Различия в синтезе голоса между версиями [https://cloud.yandex.ru/docs/speechkit/tts/#role API v1 и v3].


=== Параметры синтеза текста с использованием сервиса Yandex API v3 ===
=== Параметры синтеза текста с использованием сервиса Yandex API v3 ===

Версия 09:35, 19 декабря 2023

Синтаксис

TextToSound (BSTR Text, BSTR Parameters)

Параметры

  • Text - текст синтезируемого сообщения.
  • Parameters - параметры синтеза текста.

Параметры синтеза текста с использованием сервиса Google

  • Service - сервис синтеза Google (Service=Google;).
  • Lang - язык.
  • Speed - скорость произнесения текста.
  • Voice - голос.
  • Emotion - эмоциональная окраска голоса.

Параметры синтеза текста с использованием сервиса Yandex API v1

  • Service - сервис синтеза Google (Service=Yandex;).
  • lang - язык (список языков).
  • speed - скорость произнесения текста.
  • voice - голос.
  • emotion - эмоциональная окраска голоса.

Описание параметров на сайте Яндекс. Если синтезируемый текст находится внутри тегов <speak>, текст передается в формате SSML, иначе текст воспринимается как текст в TTS-разметке.
Различия в синтезе голоса между версиями API v1 и v3.

Параметры синтеза текста с использованием сервиса Yandex API v3

  • Service - сервис синтеза Yandex (Service=Yandex;API=v3;).
  • Model - модель распознавания (пока не используется).
  • Voice - голос (список голосов).
  • Speed - скорость произнесения текста.
  • Volume - громкость.
  • Role - амплуа/эмоциональная окраска голоса/характер произношения. Допустимые параметры зависят от голоса (список голосов и амплуа).
  • Pitch - смена высоты звука в Гц. Значения от -1000 до 1000 (по умолчанию 0).
  • LoudnessNormalizationType - тип нормализации громкости:
    • MAX_PEAK - пиковая нормализация, при которой уровень звукового сигнала поднимается до максимально возможного значения для цифрового звука без появления искажений.
    • LUFS - взвешенная нормализация на основе стандарта EBU R128, в соответствии с которым нормализация громкости производится относительно цифровой полной шкалы (по умолчанию).
  • IsUnsafeMode - позволяет использовать синтез текста более 250 символов за раз. Возможно некоторое снижение качества синтеза.

Описание параметров на сайте Яндекса. Текст воспринимается как текст в TTS-разметке.
Различия в синтезе голоса между версиями API v1 и v3.

Параметры синтеза текста с использованием сервиса Tinkoff

  • Service - сервис синтеза Google (Service=Tinkoff;).
  • Voice - голос (список голосов).
  • Speed - cкорость произношения. Задаётся в долях от естественной скорости произношения для конкретного голоса. Например, значение 0.5 - замедляет речь в два раза, 2 - ускоряет речь в 2 раза. Поддерживаются значения от 0.33 до 3 (по умолчанию - 1.0).
  • Pitch - высота речи. Задаётся в долях от естественной высоты конкретного голоса. Например, значение 0.5 - понижает высоту голоса в 2 раза, 2 - повышает высоту голоса в 2 раза. Поддерживаются значения от 0.33 до 3 (по умолчанию - 1.0).

Описание параметров на сайте Tinkoff. Если синтезируемый текст находится внутри тегов <speak>, текст передается в формате SSML, иначе текст воспринимается как текст без SSML-разметки, допускается пунктуация.

Результат

Объект Sound, содержащий синтезированное сообщение.

Описание

Метод выполняет синтез текста в голосовое сообщения используя технологию Text To Speech (TTS). Голосовая машина используемая для синтеза определяется свойством TTSEngine.

Примеры

Пример с использованием Yandex на JavaScript
var Device = new ActiveXObject ("CallOffice.Device");
var NumberPhone = prompt ("Введите номер телефона",'');

Device.Open ();

var Sound = Device.TextToSound ("Привет, это программа CallOffice", "Service=Yandex; lang=ru-RU; speed=1; voice=zahar; emotion=neutral;"); // Синтезируем голос

var Result = Device.Dial (NumberPhone, 40);
if (Result == 0) {
   Device.Say (Sound);                                                      // Произносим синтезированное сообщение
}
Device.HangUp ();
Device.Close ();
Пример на JavaScript
var Device = new ActiveXObject ("CallOffice.Device");
var NumberPhone = prompt ("Введите номер телефона",'');

Device.Open ();

Device.TTSEngine = "Microsoft Anna - English (United States)";              // Устанавливаем голосовую машину
var Sound = Device.TextToSound ("Hello, this is the program CallOffice!");  // Синтезируем сообщение

var Result = Device.Dial (NumberPhone, 40);
if (Result == 0) {
   Device.Say (Sound);                                                      // Произносим синтезированное сообщение
}
Device.HangUp ();
Device.Close ();
Пример с использованием Yandex на VBScript
Dim Device
Dim Sound
Set Device = CreateObject ("CallOffice.Device")
NumberPhone = prompt ("Введите номер телефона","")

Device.Open

Set Sound = Device.TextToSound ("Привет, это программа CallOffice", "Service=Yandex; lang=ru-RU; speed=1; voice=zahar; emotion=neutral;"); // Синтезируем голос

Result = Device.Dial (NumberPhone, 40)

if Result = 1 then
   Device.Say Sound                                                        ' Произносим синтезированное сообщение
end if

Device.HangUp
Device.Close
Пример на VBScript
Dim Device
Dim Sound
Set Device = CreateObject ("CallOffice.Device")
NumberPhone = prompt ("Введите номер телефона","")

Device.Open

Device.TTSEngine = "Microsoft Anna - English (United States)"              ' Устанавливаем голосовую машину
Set Sound = Device.TextToSound ("Hello, this is the program CallOffice!")  ' Синтезируем сообщение

Result = Device.Dial (NumberPhone, 40)

if Result = 1 then
   Device.Say Sound                                                        ' Произносим синтезированное сообщение
end if

Device.HangUp
Device.Close

Назад к методам объекта Device.