Sapi5 Русские Голоса

Posted on -
Sapi5 Русские Голоса Average ratng: 5,0/5 4602 reviews
  1. Книги
  2. Все Статьи
  3. Скачать Delphi

Синтезаторы Acapela Group. Голос: Алёна; Язык: Русский; Частота: 16 / 22 KHZ; Система: Windows XP / Windows 10; Разрядность: 32 / 64; Размер архива: 173 Mb. Скачать синтезатор. Голос: Мужской, Женский; Язык: 23 языка; Частота: 16 / 22 KHZ; Система: Windows XP / Windows 10; Разрядность: 32 / 64. Бесплатные голосовые движки Elan Nicolai, RHvoice, синтезатор речи Голос, Украинский движок Igor, Elena. Бесплатные голосовые движки работающие под управлением SAPI 5. Применяйте их в программах. RHVoice предлагает несколько русских и английских голосов и их сочетания.

Чтобы управлять компьютерными приложениями собственным голосом, а также преобразовывать набранный текс в речь используйте бесплатную библиотеку Speech API. С ее помощью пользователю становятся доступны широкие возможности для распознавания и синтеза речи. SAPI часто применяется в разных электронных читалках для прочтения книг или других текстовых документов вслух, кроме того, данная библиотека крайне полезна для юзеров с плохим зрением или ограниченными возможностями. Для распознавания голоса продукт получает звук и осуществляет его цифровое преобразование, затем звук переводится в так называемые фонемы, далее фонемы выстраиваются в слова, причем слова, не подходящие для контекста, могут быть заменены подходящими синонимами. С синтезом речи все обстоит иначе. Сначала слова разбиваются на фонемы, потом текст анализируется на наличие спецсимволов, цифр и пунктуации, завершающим этапом является создание цифрового звука, который при воспроизведении имитирует голос.

Помните, что изначально новые версии ОС Windows поддерживают эту библиотеку. Если операционная система ее содержит, тогда не требуется повторная установка и более того, это может спровоцировать конфликт версий. В остальных случаях следует скачать Speech API и использовать библиотеку для распознавания или синтеза речи. Программы, работающие с ней в связке, автоматически подхватят нужные компоненты и будут корректно функционировать. Распространяется Бесплатно Разработчик Microsoft Операционная система Windows 2K / XP / Vista / 7 / 8 / 8.1 / 10 Язык Русский Размер 68 Mb Скачать бесплатно Speech API (SAPI) 5.1 для Windows: Версия x86/x64.

Не так давно (26 марта 2010 года) я о том, как применить технологию Text-To-Speech (чтение текста голосом) в Delphi 2010 с использованием Speech API (SAPI) Windows. И всё бы было хорошо, если б не одно маленькое, но суровое «НО». Дело в том, что при запуске проекта не из IDE Delphi вызов метода Speak у интерфейсов IspVoice и ISpeechVoice вызывал ошибку «Floating Point Division By Zero» (деление на ноль). При этом в Windows XP программа работала без проблем.

Ошибку эту обнаружил читатель с ником ziz. В поисках решения проблемы я решил немного расширить статью и рассмотреть ещё несколько моментов по работе с технологией Text-To-Speech в Delphi. Сегодня рассмотрим работу SAPI 5.4. С использованием объекта TspVoice. Так что импортируйте библиотеку SAPI 5.4. Для Windows 7, генерируйте модуль SpeechLibTLB.pas, как это рассказано и начнем.

Вначале реализуем чтение голосом какого-либо отрывка текста с использованием класса TspVoice. Здесь мы используем асинхронный вывод.

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

У кого-нибудь есть идеи на этот счёт? Так что пока будем использовать везде асинхронный вывод. Двигаемся дальше и попробуем изменить свойства голосового движка. Характеристики голоса Любой голосовой движок, использующий SAPI имеет следующие характеристики: Volume — громкость голоса. Целочисленное значение. Изменяется линейно в диапазоне от 0 до 100. То есть значение 50 будет соответствовать половине предельной громкости используемого голоса.

Rate — скорость воспроизведения текста голосом. Может принимать значения от -10 до 10. Значение по умолчанию 0.

Соответственно отрицательные значение характеристики замедляют произношение, положительные — ускоряют. SAPI 5-х версий не поддерживают значения Rate больше 10 или меньше -10, т.е.

Если Вы устанавливаете значение Rate=11, то голос будет воспроизводиться на скорости 10. Попробуем реализовать изменение характеристик голоса в нашей программе. Разместим на форме два компонента TrackBar и 2 Label как показано на рисунке: Соответственно первый TrackBar будет изменять громкость от 0 до 10, а второй — скорость от -10 до 10. Теперь перенесем переменную gpIVTxt: TSpVoice в секцию public класса TForm1 и будем создавать класс TspVoice в момент создания формы, т.е.

Книги

Procedure TForm1. TrackBar1Change (Sender: TObject ); begin VolumeLabel. Caption: = IntToStr (TrackBar1.

Sapi5 Русские Голоса

Position ); gpIVTxt. Volume: =TrackBar1. Position; end; procedure TForm1. TrackBar2Change (Sender: TObject ); begin RateLabel. Caption: = IntToStr (TrackBar2. Position ); gpIVTxt.

Rate: =TrackBar2. Position; end; procedure TForm1.TrackBar1Change(Sender: TObject); begin VolumeLabel.Caption:=IntToStr(TrackBar1.Position); gpIVTxt.Volume:=TrackBar1.Position; end; procedure TForm1.TrackBar2Change(Sender: TObject); begin RateLabel.Caption:=IntToStr(TrackBar2.Position); gpIVTxt.Rate:=TrackBar2.Position; end; Теперь запустите приложение и попробуйте изменять значение Rate и Volume во время произношения фразы. Используется асинхронный вывод, то характеристики голоса изменяются «на лету». Английский голос — это конечно здорово, но как быть с русскими голосами в SAPI? Посмотрим как можно использовать русскоязычные движки в своей программе.

SAPI и русские голоса. В качестве русскоязычного движка я выбрал движок от Acapela Group c названием «Алёна». Неплохой движок с пробным периодом в 30 дней. Какой движок выберите Вы — значения не имеет, т.к. Работать мы будем с SAPI не влезая в особенности каждого движка, т.е., следуя схеме: Будем использовать два верхних уровня. Итак, для того, чтобы получить сведения о всех голосовых движках, установленных в системе, нам понадобится воспользоваться интерфейсом ISpeechObjectTokens, который имеет всего одно свойство Count — количество голосовых движков, установленных в системе.

И один метод. Procedure TForm1. GetMyVoices (List: TListBox ); var i: integer; begin List. Clear; Voices: =gpIVTxt. GetVoices ( ', ' ); for i: = 0 to Voices.

Count - 1 do List. GetDescription ( 0 ) ); end; public. Procedure TForm1.GetMyVoices(List: TListBox); var i:integer; begin List.Clear; Voices:=gpIVTxt.GetVoices(','); for i:=0 to Voices.Count - 1 do List.Items.Add(Voices.Item(i).GetDescription(0)); end; Здесь мы вначале запрашиваем методом GetVoices все голоса поддерживаемые объектом TspVoice. И затем выводим в ListBox описания голосов. Результат будет выглядеть следующим образом: Теперь мы можем назначить нашему объекту голос, например так. Voice: =Voices.

Item ( 1 ); gpIVTxt.Voice:=Voices.Item(1); Голос «Alyona (Ruusian)». При этом для нас нет разницы какой из голосов мы используем — русский или английский, встроенный в систему или скачаный с какого-нибудь варезника и установленный вручную — подход к управлению один и тот же (см. Для того, чтобы вывести сведения о голосов ListBox мы использовали в качестве данных — описание голоса. Кроме этого, каждый голос в системе может содержать следующие полезные атрибуты:. Name — имя;.

Голоса

Все Статьи

Gender — пол;. Age — возраст;. Language — язык;. Vendor — создатель; Для того, чтобы получить значения какого-либо атрибута необходимо воспользоваться методом ISpeechObjectToken. Procedure TForm1. ListBox1Click (Sender: TObject ); begin Label7.

Caption: =Voices. Item (ListBox1. GetAttribute ( 'Name' ); Label8. Caption: =Voices.

Item (ListBox1. GetAttribute ( 'Age' ); Label9. Caption: =Voices. Item (ListBox1. GetAttribute ( 'Gender' ); Label12.

Caption: =Voices. Item (ListBox1. GetAttribute ( 'Language' ); Label13.

Caption: =Voices. Item (ListBox1. GetAttribute ( 'Vendor' ); end; procedure TForm1.ListBox1Click(Sender: TObject); begin Label7.Caption:=Voices.Item(ListBox1.ItemIndex).GetAttribute('Name'); Label8.Caption:=Voices.Item(ListBox1.ItemIndex).GetAttribute('Age'); Label9.Caption:=Voices.Item(ListBox1.ItemIndex).GetAttribute('Gender'); Label12.Caption:=Voices.Item(ListBox1.ItemIndex).GetAttribute('Language'); Label13.Caption:=Voices.Item(ListBox1.ItemIndex).GetAttribute('Vendor'); end; А в запущенном приложении так: Использовать значения атрибутов можно, например, при получении списка голосов.

Скачать Delphi

При этом строка поиска должна иметь следующий формат: AttributeName=Value AttributeName!=Value Следующие два вызова метода GetVoices абсолютно идентичны и в результате вернут 2 установленных в моей системе голоса.