Объект Device/Методы/TextToSound: различия между версиями
Перейти к навигации
Перейти к поиску
Евгений (обсуждение | вклад) |
Jugin (обсуждение | вклад) |
||
(не показана 21 промежуточная версия 2 участников) | |||
Строка 1: | Строка 1: | ||
==Синтаксис== | ==Синтаксис== | ||
:<syntaxhighlight lang="c"> | :<syntaxhighlight lang="c"> | ||
TextToSound (BSTR Text) | TextToSound (BSTR Text, BSTR Parameters) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==Параметры== | ==Параметры== | ||
*'''Text''' - текст синтезируемого сообщения. | |||
*'''Parameters''' - параметры синтеза текста. | |||
=== Параметры синтеза текста с использованием сервиса Google === | |||
*'''Service''' - сервис синтеза Google (Service=Google;). | |||
*'''Lang''' - язык. | |||
*'''Speed''' - скорость произнесения текста. | |||
*'''Voice''' - голос. | |||
*'''Emotion''' - эмоциональная окраска голоса. | |||
=== Параметры синтеза текста с использованием сервиса Yandex API v1 === | |||
*'''Service''' - сервис синтеза Google (Service=Yandex;). | |||
*'''lang''' - язык ([https://cloud.yandex.ru/docs/speechkit/tts/voices список языков]). | |||
*'''speed''' - скорость произнесения текста. | |||
*'''voice''' - голос. | |||
*'''emotion''' - эмоциональная окраска голоса. | |||
Описание параметров на [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-разметке].<br> | |||
Различия в синтезе голоса между версиями [https://cloud.yandex.ru/docs/speechkit/tts/ API v1 и v3]. | |||
=== Параметры синтеза текста с использованием сервиса Yandex API v3 === | |||
*'''Service''' - сервис синтеза Yandex (Service=Yandex;API=v3;). | |||
*'''Model''' - модель распознавания (пока не используется). | |||
*'''Voice''' - голос ([https://cloud.yandex.ru/docs/speechkit/tts/voices список голосов]). | |||
*'''Speed''' - скорость произнесения текста. | |||
*'''Volume''' - громкость. | |||
*'''Role''' - амплуа/эмоциональная окраска голоса/характер произношения. Допустимые параметры зависят от голоса ([https://cloud.yandex.ru/docs/speechkit/tts/voices список голосов и амплуа]). | |||
*'''Pitch''' - смена высоты звука в Гц. Значения от -1000 до 1000 (по умолчанию 0). | |||
*'''LoudnessNormalizationType''' - тип нормализации громкости: | |||
**'''MAX_PEAK''' - пиковая нормализация, при которой уровень звукового сигнала поднимается до максимально возможного значения для цифрового звука без появления искажений. | |||
**'''LUFS''' - взвешенная нормализация на основе стандарта EBU R128, в соответствии с которым нормализация громкости производится относительно цифровой полной шкалы (по умолчанию). | |||
*'''IsUnsafeMode''' - позволяет использовать синтез текста более 250 символов за раз. Возможно некоторое снижение качества синтеза. | |||
Описание параметров на [https://cloud.yandex.ru/docs/speechkit/tts-v3/api-ref/grpc/tts_service сайте Яндекса]. Текст воспринимается как текст в [https://cloud.yandex.ru/docs/speechkit/tts/markup/tts-markup TTS-разметке].<br> | |||
Различия в синтезе голоса между версиями [https://cloud.yandex.ru/docs/speechkit/tts/ API v1 и v3]. | |||
=== Параметры синтеза текста с использованием сервиса Tinkoff === | |||
*'''Service''' - сервис синтеза Google (Service=Tinkoff;). | |||
*'''Voice''' - голос ([https://software.tinkoff.ru/docs/voicekit/ttsvoices список голосов]). | |||
*'''Speed''' - cкорость произношения. Задаётся в долях от естественной скорости произношения для конкретного голоса. Например, значение 0.5 - замедляет речь в два раза, 2 - ускоряет речь в 2 раза. Поддерживаются значения от 0.33 до 3 (по умолчанию - 1.0). | |||
*'''Pitch''' - высота речи. Задаётся в долях от естественной высоты конкретного голоса. Например, значение 0.5 - понижает высоту голоса в 2 раза, 2 - повышает высоту голоса в 2 раза. Поддерживаются значения от 0.33 до 3 (по умолчанию - 1.0). | |||
Описание параметров на [https://software.tinkoff.ru/docs/voicekit/synthesize#tinkoff.cloud.tts.v1.VoiceSelectionParams сайте Tinkoff]. | |||
Если синтезируемый текст находится внутри тегов <speak>, текст передается в формате [https://en.wikipedia.org/wiki/Speech_Synthesis_Markup_Language SSML], иначе текст воспринимается как текст без SSML-разметки, допускается пунктуация. | |||
==Результат== | ==Результат== | ||
Строка 43: | Строка 62: | ||
Device.Open (); | Device.Open (); | ||
var Sound = Device.TextToSound ("Привет, это программа CallOffice", "Service=Yandex; | var Sound = Device.TextToSound ("Привет, это программа CallOffice", "Service=Yandex; lang=ru-RU; speed=1; voice=zahar; emotion=neutral;"); // Синтезируем голос | ||
var Result = Device.Dial (NumberPhone, 40); | var Result = Device.Dial (NumberPhone, 40); | ||
Строка 80: | Строка 99: | ||
Device.Open | Device.Open | ||
Set Sound = Device.TextToSound ("Привет, это программа CallOffice", "Service=Yandex; | Set Sound = Device.TextToSound ("Привет, это программа CallOffice", "Service=Yandex; lang=ru-RU; speed=1; voice=zahar; emotion=neutral;"); // Синтезируем голос | ||
Result = Device.Dial (NumberPhone, 40) | Result = Device.Dial (NumberPhone, 40) |
Текущая версия на 09:36, 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