Постов в "SpeechAPI"

Обработка уведомлений и синтез речи в аудиофайл

Для более полной информации и глубокого понимания данного вопроса советую преобрести мою книгу «MS Agent и Speech API в Delphi», которая вышла в 2005 году в издательстве БХВ-Петербург. Теме Speech API посвещена отдельная ее глава (более 120 стр).
Если этой книги нет в магазинах вашего города, то ее можно заказать на сайте http://books.ru для получения по почте наложенным платежом.

Краткие основы:

Speech API имеет несколько уровней интерфейсов.

1. Voice Commnad API, Voice Dictation API, Voice Text API

2. Shared Object

3. DirectSpeechRecognition API, DirectTextToSpeech API

4. Audio Object

Интерфейсы самого верхнего уровня (наиболее простые) — 1. Данные интерфейсы предоставляют несколько ограниченный уровень доступа к речевым модулям. Зато интерфейсы управления у них намного проще, чем у интерфейсов низкого уровня(3).

Несмотря на то, что DirectTextToSpeech является более низким интерфейсом прикладного программирования, прямой синтез речи (Text-To-Speech) ничуть не сложнее, чем VoiceText API. Даже наоборот, именно API обладает большей гибкостью, скоростью и, следовательно, мощными возможностями.

DirectTextToSpeech иначе называется интерфейсом прямого синтеза речи, так как при его использовании приходится все делать руками, в том числе устанавливать соединение с аудиоустройством, производить поиск и выбор необходимого речевого модуля в системе и т. д. Например, в случае с VoiceText нам не нужно специально инициализировать звуковое устройство, в которое должны записываться волновые данные. В Direct TextToSpeech все не так. Здесь потребуется познакомиться с рядом объектов из Audio Objects и объектами для работы с движками.

Читать далее

Speech API 4. Работа с голосом

Эта статья об управлении параметрами чтения чтекстов в Delphi функциями SpeechAPI.

Надеюсь, что вы прочитали первую часть SpeechAPI в Delphi и статью MSAgent и SpeechAPI, поэтому перейду непосредственно к способу управления параметрами чтения. Я опишу общий способ управления, а затем рассмотрим разницу управления параметрами речи при чтении методом Speak у MSAgent и чтением функциями API напрямую.

Теги

Как пишут в буржуйской офицальной документации к Microsoft Speech API: SAPI поддерживает изменения речевого вывода через специальные теги,вставляемые в читаемую текстовую строку. Эти теги помогают изменять параметры голосового движка для улучшения трансляции текста в речь. Поддерживает теги не только речевые движки, но и MSAgent. Теги — это основной способ управления голосовыми возможностями речевого синтезатора. Например: \spd=100\ — этот тег изменяет скорость речи на значение равное 100. Вот некоторые правила синтаксиса для речевых тегов:

  • Все теги начинаются и заканчиваются символом наклонной черты влево (\).
  • Отдельный бэкслэш не допускается в пределах тэга. Чтобы включить бэкслэш в текстовый параметр тэга, используйте двойную наклонную черту влево (\\).
  • Теги воспринимаются без учета регистра. Например, \Spd=100\ — тот же самый что и \SPD=100\.
  • Теги пробеловосприимчивы, то есть не допускают в себе лишних пробелов. Например, \Rst\ — не тот же самый что и \ Rst \

MSAgent поддерживает следующие теги: Chr, Ctx, Emp, Lst, Map, Mrk, Pau, Pit, Rst, Spd, Vol. При чтении через SAPI этот набор немного шире. Теги создавались для корректировки преобразования текста в речь, но некоторые из них изменяют стиль голоса, например на шепот. Поэтому одни из них имеют параметры, а у других они отсутствуют, как у тега \Emp\. А теперь подробнее про
каждый из них!

Читать далее

Speech API 4 в Delphi

В этой статье мы познакомимся с программированием речи в Delphi. Хотите чтобы Delphi заговорил — читайте эту страницу!

MSAgent & SpeechAPI

Нудеюсь, что вы уже установили пакет функций Speech API и хотя бы один речевой движок. Речевые движки — это те модули, которые синтезируют речь. Для доступа к ним нужно использовать специальные функции, которые описаны в наборе функций Speech API. Поэтому для того, чтобы написать минимальную программу умеющую говорить, нужны эти два компонента. Сначала мы попробуем написать как раз эту программу-минимум а потом заставим персонаж MS Agent заговорить. То есть постараемся совместить технологию MSAgent и SpeechAPI. Тогда агент станет еще более приятным.

Ну, а для того чтобы всем эти заняться нам потребуется полезный модулек speech.pas, в котором объявлены полезные константы, типы, функции и интрефейсы. Не забудьте подключить его в разделе uses главного модуля приложения.

Читать далее