Объект Device/Методы/TextToSound: различия между версиями
Перейти к навигации
Перейти к поиску
McBurns (обсуждение | вклад) |
Jugin (обсуждение | вклад) |
||
(не показана 31 промежуточная версия 4 участников) | |||
Строка 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-разметки, допускается пунктуация. | |||
==Результат== | ==Результат== | ||
:[[ | :[[Объект_Sound|Объект Sound]], содержащий синтезированное сообщение. | ||
==Описание== | ==Описание== | ||
Строка 20: | Строка 55: | ||
==Примеры== | ==Примеры== | ||
:Пример с использованием Yandex на JavaScript | |||
<syntaxhighlight lang="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 (); | |||
</syntaxhighlight> | |||
:Пример на JavaScript | :Пример на JavaScript | ||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
Строка 36: | Строка 88: | ||
Device.HangUp (); | Device.HangUp (); | ||
Device.Close (); | Device.Close (); | ||
</syntaxhighlight> | |||
:Пример с использованием Yandex на VBScript | |||
<syntaxhighlight lang="vb"> | |||
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 | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Текущая версия на 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