Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Научить приложение в Делфи говорить 
:(
    Опции темы
Alex103
  Дата 6.3.2005, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Как можно научить приложение в Делфи разговаривать на Русском языке с помощью Speech или чего-то другого. Подскажите Реально ли это!!!


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
Pakshin A. S.
Дата 6.3.2005, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Sorry, за тупой вопрос... но что такое Speech
Добавлено @ 10:40
Так... нашел... smile
У меня в XP все рабтает по самому простому методу..
Код

program Project1;

uses windows, ComObj, ActiveX;

var voice: OLEVariant;

begin
CoInitialize(nil);
voice := CreateOLEObject('SAPI.SpVoice');
voice.Speak('Hello World!', 0);
end.

Delphi 7

Кстати, кайфная вещь!!!! Лично долго ржал над голосом...
PM   Вверх
Alex
Дата 6.3.2005, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Pakshin A. S., если я не ошибаюсь, человек хотел что бы ему русский текст читали. smile


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Pakshin A. S.
Дата 6.3.2005, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



М-да... не усмотрел.. smile
Кстати, а что это за параметр "0"
PM   Вверх
The MASTER
  Дата 6.3.2005, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Old master)
**


Профиль
Группа: Участник
Сообщений: 862
Регистрация: 19.7.2004
Где: Санкт-Петербург

Репутация: 2
Всего: 5



Кажется я в арсенал кидал пример, используй TMicrosoftAgent:

Для начала добавить компонент TMicrosoftAgent, для этого нажимаем:
Component -> Import ActiveX Control -> ищешь "Microsoft Agent Control 2" или что-то вэтом роде, далее нажимаешь Install, затем заходишь на вкладку компонентов ActiveX, оттуда кидаешь на форму компонент TAgent и далее код:

Код

uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, StdCtrls, OleCtrls, AgentObjects_TLB; //Добавить AgentObjects_TLB;


Код

private
   { Private declarations }
   Offcat: IAgentCtlCharacter; //Добавить Offcat: IAgentCtlCharacter;


В событие формы onCreate добавить:

Код

procedure TForm1.FormCreate(Sender: TObject);
begin
Agent1.Characters.Load('Offcat',ExtractFilePath(Application.ExeName)+'\Offcat.acs');
Offcat:=Agent1.Characters.Character('Offcat');
Offcat.Show(False);
end;


Далее создать новую кнопку и ввести:

Код

procedure TForm1.Button1Click(Sender: TObject);
begin
Offcat.Speak(edit1.text,'');
end;


Взять персоонажа можно либо из приложения Microsoft Office, либо из папки: C:\WINDOWS\srchasst\chars, от туда в папку со своим проектом копируй файл rover.acs, переименуй его в Offcat, первая буква "О" обязательно большая! Всё удачи, если будут проблемы пиши сюда!



Это сообщение отредактировал(а) The MASTER - 6.3.2005, 14:00
PM MAIL WWW ICQ   Вверх
Pakshin A. S.
Дата 6.3.2005, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Вот пролема: НЕ ГОВОРИТ! Даже гудди брал... smile
PM   Вверх
The MASTER
Дата 6.3.2005, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Old master)
**


Профиль
Группа: Участник
Сообщений: 862
Регистрация: 19.7.2004
Где: Санкт-Петербург

Репутация: 2
Всего: 5



А Мерлина? По идеи Мерлин говорит но его нужно или взять из офиса или скачать 2 МБ!
PM MAIL WWW ICQ   Вверх
Pakshin A. S.
Дата 6.3.2005, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Я поставил обычного Гудди... smile Прямо из переводчика...
PM   Вверх
The MASTER
  Дата 6.3.2005, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Old master)
**


Профиль
Группа: Участник
Сообщений: 862
Регистрация: 19.7.2004
Где: Санкт-Петербург

Репутация: 2
Всего: 5



Так, у меня работает только на Мерлине и Джине, вот скачайте этот модуль тексто-речевой преобразователь.

Скачать [ ~ 2МБ ]
Добавлено @ 14:34
Кстати при установки Microsoft Office выше 97, модуль преобразования устанавливается вместе с комплектом! smile

Это сообщение отредактировал(а) The MASTER - 6.3.2005, 14:25
PM MAIL WWW ICQ   Вверх
Alex
Дата 6.3.2005, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Значит так:
1. Вначале нужно отправиться на страницу http://www.microsoft.com/msagent/downloads/user.asp и скачать оттуда необходимые файлы:

2. Сам Microsoft Agent - http://activex.microsoft.com/activex/contr...nt2/MSagent.exe (395 Кб), обязательно.
3. Перевод на русский язык различных диалогов, надписей и т.п. - http://activex.microsoft.com/activex/contr...t2/AgtX0419.exe (128 Кб), необязательно.
4. Один из персонажей (например, Джин из мультфильма "Аладдин") - http://download.microsoft.com/download/0/0...de85f/Genie.exe (1.6 Mb), обязательно.
5. Компонент для произношения текстов (для русского языка) - http://activex.microsoft.com/activex/contr...t2/lhttsrur.exe (2.9 Mb), необязательно.
6. Поддержка SAPI (нужна для произношения текстов, в Win2000 должна быть установлена изначально) - http://activex.microsoft.com/activex/contr...api/spchapi.exe (824 Кб), необязательно.
7. Все это установить.
8. Далее устанавливаем ActiveX компонент агента в Delphi (Component -> Import ActiveX Control) В списке находим строку "Microsoft Agent Control 2" выделяем ее и нажимаем на кнопку "Install". На все вопросы отвечаем утвердительно.
9. Открываем новый проект.
10. Бросаем на форму компонент "Agent" c вкладки "ActiveX" и кнопку.
11. В обработчике кнопки пишем:
Код

 Agent1.Characters.Load('Genie', 'Genie.acs');
 { Установка начальных координат }
 Agent1.Characters['Genie'].Left := 0;
 Agent1.Characters['Genie'].Top  := 0;
 { Появление персонажа с анимацией }
 Agent1.Characters['Genie'].Show(False);
 { Приветствие }
 Agent1.Characters['Genie'].Play('Greet');
 { Читаем содержимое Memo1 }
 Agent1.Characters['Genie'].Speak('Текст, который нужно прочитать', '');
 { Скрываем персонажа с анимацией }
 Agent1.Characters['Genie'].Hide(False);

Добавлено @ 16:01
Полезные ссылки:
http://www.hardnsoft.ru/magazine.php?issue...icle=560&page=1
http://www.kv.by/index2003141102.htm
http://delphiworld.narod.ru/base/msagent.html
http://www.mista.ru/articles1c/hare/article.17.html


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Alex103
Дата 7.3.2005, 02:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Цитата(Pakshin @ 6.3.2005, 10:34)
Sorry, за тупой вопрос... но что такое Speech
Добавлено @ 10:40
Так... нашел... smile
У меня в XP все рабтает по самому простому методу..
Код

program Project1;

uses windows, ComObj, ActiveX;

var voice: OLEVariant;

begin
CoInitialize(nil);
voice := CreateOLEObject('SAPI.SpVoice');
voice.Speak('Hello World!', 0);
end.

Delphi 7

Кстати, кайфная вещь!!!! Лично долго ржал над голосом...

Те класно но у меня Милениум и приходиться качать вот уже 10% скачал.
Добавлено @ 02:17
Цитата(Alex @ 6.3.2005, 12:12)
Pakshin A. S., если я не ошибаюсь, человек хотел что бы ему русский текст читали. smile

Точно должно читать на русском или на Уркаинском (кстати тоже вариант).


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
Alex103
Дата 7.3.2005, 02:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Цитата(Alex @ 6.3.2005, 15:52)
Значит так:
1. Вначале нужно отправиться на страницу http://www.microsoft.com/msagent/downloads/user.asp и скачать оттуда необходимые файлы:

2. Сам Microsoft Agent - http://activex.microsoft.com/activex/contr...nt2/MSagent.exe (395 Кб), обязательно.
3. Перевод на русский язык различных диалогов, надписей и т.п. - http://activex.microsoft.com/activex/contr...t2/AgtX0419.exe (128 Кб), необязательно.
4. Один из персонажей (например, Джин из мультфильма "Аладдин") - http://download.microsoft.com/download/0/0...de85f/Genie.exe (1.6 Mb), обязательно.
5. Компонент для произношения текстов (для русского языка) - http://activex.microsoft.com/activex/contr...t2/lhttsrur.exe (2.9 Mb), необязательно.
6. Поддержка SAPI (нужна для произношения текстов, в Win2000 должна быть установлена изначально) - http://activex.microsoft.com/activex/contr...api/spchapi.exe (824 Кб), необязательно.
7. Все это установить.
8. Далее устанавливаем ActiveX компонент агента в Delphi (Component -> Import ActiveX Control) В списке находим строку "Microsoft Agent Control 2" выделяем ее и нажимаем на кнопку "Install". На все вопросы отвечаем утвердительно.
9. Открываем новый проект.
10. Бросаем на форму компонент "Agent" c вкладки "ActiveX" и кнопку.
11. В обработчике кнопки пишем:
Код

 Agent1.Characters.Load('Genie', 'Genie.acs');
 { Установка начальных координат }
 Agent1.Characters['Genie'].Left := 0;
 Agent1.Characters['Genie'].Top  := 0;
 { Появление персонажа с анимацией }
 Agent1.Characters['Genie'].Show(False);
 { Приветствие }
 Agent1.Characters['Genie'].Play('Greet');
 { Читаем содержимое Memo1 }
 Agent1.Characters['Genie'].Speak('Текст, который нужно прочитать', '');
 { Скрываем персонажа с анимацией }
 Agent1.Characters['Genie'].Hide(False);

Добавлено @ 16:01
Полезные ссылки:
http://www.hardnsoft.ru/magazine.php?issue...icle=560&page=1
http://www.kv.by/index2003141102.htm
http://delphiworld.narod.ru/base/msagent.html
http://www.mista.ru/articles1c/hare/article.17.html

Вроде все сделал правильно но алладин или как его там не говорит а только пишет текст. Может мы друг друга не правильно поняли. Если у тя в колонки говорит то скажи мне я еще попробую. И если мы не поняли друг друга то подскажи как работать со Speech.
Заранее благодарю.
С ув.Александр!
Добавлено @ 03:02
Цитата(Alex103 @ 7.3.2005, 02:15)
Цитата(Pakshin @ 6.3.2005, )
Sorry, за тупой вопрос... но что такое Speech
Добавлено @ 10:40
Так... нашел... smile
У меня в XP все рабтает по самому простому методу..
Код

program Project1;

uses windows, ComObj, ActiveX;

var voice: OLEVariant;

begin
CoInitialize(nil);
voice := CreateOLEObject('SAPI.SpVoice');
voice.Speak('Hello World!', 0);
end.

Delphi 7

Кстати, кайфная вещь!!!! Лично долго ржал над голосом...

Те класно но у меня Милениум и приходиться качать вот уже 10% скачал.
Добавлено @ 02:17
Цитата(Alex @ 6.3.2005, 12:12)
Pakshin A. S., если я не ошибаюсь, человек хотел что бы ему русский текст читали. smile

Точно должно читать на русском или на Уркаинском (кстати тоже вариант).

О ура все работает!!!!!!Слушай а как можно менять голоса!
И еще где можно набрать этих агентов.

Это сообщение отредактировал(а) Alex103 - 7.3.2005, 03:13


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
Poseidon
Дата 7.3.2005, 03:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Цитата
И еще где можно набрать этих агентов.

Попробуй взять здесь. Я сам брал здесь агентов.

Еще компанией Microsoft создан отдельный сайт http://msdn.microsoft.com/msagent, полностью посвященный агентам. Найти же агентов от мелкомягких можно здесь

При желании можно создать и своего собственного агента. Для этого тебе понадобится редактор фигурок Microsoft Agent Character Editor .





--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Alex103
  Дата 7.3.2005, 03:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Меня постигла такая идея. Как можно сделать так что-бы команды произночимые в микрофон записывались в файл потом переводились в текст и соответственно передавались коду приложения. Подскажите как такое можно осуществить и вообще реально ли это! Заранее благодарю С ув.Александр!
Добавлено @ 03:39
Цитата(Poseidon @ 7.3.2005, 03:33)
Цитата
И еще где можно набрать этих агентов.

Попробуй взять здесь. Я сам брал здесь агентов.

Еще компанией Microsoft создан отдельный сайт http://msdn.microsoft.com/msagent, полностью посвященный агентам. Найти же агентов от мелкомягких можно здесь

При желании можно создать и своего собственного агента. Для этого тебе понадобится редактор фигурок Microsoft Agent Character Editor .

Огромное те спасибо!!! Попробуй посмотреть мой вопросс вверху может поможешь чем нибудь!


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
Poseidon
Дата 7.3.2005, 03:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Вообще-то это очень серьезная задача. Решить ее одному я думаю не под силу. Есть такая программа, каторая понимает человечискую речь и записывает ее в текст, но она сравнима по посштабности с офисными продуктами Майкрософта, поэтому сделать что-то подобное одному не представляется возможным. Вот просто прочесть из микрофона - это можно. Но что бы машина могла еще и понять, что ей там сказали, то это уж сложновато. Тем более что у каждого свой тембр речи, и т.п.


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Alex103
Дата 7.3.2005, 03:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Цитата(Poseidon @ 7.3.2005, 03:33)


При желании можно создать и своего собственного агента. Для этого тебе понадобится редактор фигурок

А эта прога для создания агентов. Такого адресса нет!! Может ты что-то не то дал!
Добавлено @ 03:56
Цитата(Poseidon @ 7.3.2005, 03:46)
Вообще-то это очень серьезная задача. Решить ее одному я думаю не под силу. Есть такая программа, каторая понимает человечискую речь и записывает ее в текст, но она сравнима по посштабности с офисными продуктами Майкрософта, поэтому сделать что-то подобное одному не представляется возможным. Вот просто прочесть из микрофона - это можно. Но что бы машина могла еще и понять, что ей там сказали, то это уж сложновато. Тем более что у каждого свой тембр речи, и т.п.

Слушай есть предложение я сейчас сижу в чате gala.net(ник мой !!!!!!!!Саня2) давай там поговорим. Или в Icq мой номер 307-303-250!


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
Poseidon
Дата 7.3.2005, 04:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Нет, проверил, все правильно. Значит Майкрософт изменили ссылку. Прога там была, сам ее качал. Но, по сути, если она действительно нужно, то можно ведь ввсети ее название в любом поисковике, и получишь кучю ссылок.



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Alex103
Дата 7.3.2005, 04:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Цитата(Poseidon @ 7.3.2005, 04:03)
Нет, проверил, все правильно. Значит Майкрософт изменили ссылку. Прога там была, сам ее качал. Но, по сути, если она действительно нужно, то можно ведь ввсети ее название в любом поисковике, и получишь кучю ссылок.

Спасибо!!!!!!!


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
Poseidon
Дата 7.3.2005, 05:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Да ладно. Бало бы за что спасибо. Но в любом случае, как говорится, всегда пожалуйста. smile


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Alex103
Дата 7.3.2005, 07:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Подскажите какие-то компоненты, движки, или что-то другое что можно использовать в Делфи для распознавания речи!

И обьяснит мне хоть кто-то что такое Microsoft Speech Sdk даже не что такое а работает ли оно для распознавания русской речи.

Как агенту задать скорость произношения слов!!!

Как можно сменить голос агента!!

Пока все.

Подскажите прогу для создания движков речи.

Это сообщение отредактировал(а) Alex103 - 7.3.2005, 08:54


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
Alex
Дата 7.3.2005, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Цитата(Alex103 @ 7.3.2005, 02:52)
Вроде все сделал правильно но алладин или как его там не говорит а только пишет текст. Может мы друг друга не правильно поняли. Если у тя в колонки говорит то скажи мне я еще попробую.

У меня все нормально говорит


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Alex
Дата 7.3.2005, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Цитата(Alex103 @ 7.3.2005, 07:11)
Как агенту задать скорость произношения слов!!!

Как можно сменить голос агента!!

Прочти:
http://www.mista.ru/articles1c/hare/article.17.html
http://www.hardnsoft.ru/magazine.php?issue...icle=560&page=1


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Poseidon
Дата 8.3.2005, 04:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Цитата
У меня все нормально говорит

Это зависет от самого персонажа. Не многие умеют говорить по русски (но пректически все по английски). Скорее всего Alex103 использует не тот персонаж.


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Alex103
Дата 8.3.2005, 08:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Цитата(Alex @ 7.3.2005, 10:52)
Цитата(Alex103 @ 7.3.2005, 07:11)
Как агенту задать скорость произношения слов!!!

Как можно сменить голос агента!!

Прочти:
http://www.mista.ru/articles1c/hare/article.17.html
http://www.hardnsoft.ru/magazine.php?issue...icle=560&page=1

Спасибо конечно за совет но это не работает!!! Там я ничего не нашел!!!
Добавлено @ 08:26
Цитата(Poseidon @ 8.3.2005, 04:16)
Цитата
У меня все нормально говорит

Это зависет от самого персонажа. Не многие умеют говорить по русски (но пректически все по английски). Скорее всего Alex103 использует не тот персонаж.

Нет это не зависит от помощника! Это зависит от движка который ты установил. Но это все у меня работает.


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
Alex
Дата 8.3.2005, 08:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Цитата(Alex103 @ 8.3.2005, 08:23)
Спасибо конечно за совет но это не работает!!! Там я ничего не нашел!!!

А это позвольте, что?
Цитата
Теперь, как я и обещал, можно перейти непосредственно к генерации речи. Собственно говоря, на Visual Basic (не забудьте подключить к проекту соответствующие компоненты COM+) для этого потребуется всего одна команда — вызов метода Speak: My_Agent.Speak "Фраза для озвучания!".

Если все подготовительные операции были выполнены правильно, фраза, которая передана методу в качестве аргумента, будет не только отображена на экране, но и синхронно произнесена персонажем. Если вы поэкспериментируете с озвучанием различных персонажей, то наверняка обратите внимание, что все они немного отличаются друг от друга манерой разговора. Это еще одно достоинство технологии Microsoft Agent.

В Microsoft Agent доступны все теги, принятые в SAPI, — они и позволяют сделать речь естественной. Тегов сравнительно немного, и запомнить их пара пустяков:
Emp — ударение на произносимом слове; Pau — пауза в речи (миллисекунды);
Pit — высоты звучания голоса в Гц;
Spd — средняя скорость речи (слов в минуту);
Vol — средняя громкость звука.
Для управления речью агентов в состав SAPI входит еще несколько свойств, например Pitch (определяет высоту голоса) и Speed (определяет скорость речи). Свойства Pitch и Speed доступны только для чтения. Используемые по умолчанию характеристики голоса диктора меняются тегами Pit и Spd. Их следует только добавить в команду, например:

My_Agent.Speak "Привет! \spd= 150\\pit=230\Я очень рад всех вас видеть".

Как правило, размещать теги можно в произвольное место фразы, их действие начинается со следующего слова. Однако действуют теги только в пределах одного вызова метода Speak.

Некоторые теги содержат строковые значения. Их использование в программах Visual Basic и Visual Basic for Applications сопряжено с некоторыми неудобствами. Строковые значения должны быть обрамлены кавычками, поэтому текст для метода Speak требует специального синтаксиса — для добавления кавычек приходится вызывать функцию Chr с параметром 34 (этот ASCII-код соответствует кавычке). Рассмотрим для примера тег Chr, с помощью которого можно определить характер речи диктора. Этот тег может принимать одно из следующих значений: Normal (используется по умолчанию), Monotone, Whisper. Предположим, мы хотим, чтобы фраза была произнесена агентом шепотом. Тогда ее следует написать следующим образом:

My_Agent.Speak "\Chr=" + Chr(34) + "Whisper" + Chr(34) + "\Привет! Я очень рад всех вас видеть."

Пожалуй, одним из самых интересных является тег Ctx. Он предназначен для управления параметрами нормализации текста. Как мы помним, TTS-модуль должен преобразовать текст в последовательность слов для синтезатора речи. На этом этапе ему важно понимать, в каком контексте используются слова. Иными словами, TTS-модуль должен знать тематику сообщения. К примеру, получив на вход строку вида «X-Originating-IP: [65. 169.241.134]», речевой движок должен воспринять ее как служебную часть заголовка электронного письма, которая никогда не читается пользователями и поэтому вообще не должна быть озвучена. Для этих целей были разработаны специальные режимы работы TTS-модулей: E-mail и Address. Причем один из них предназначен для работы с электронной почтой, а другой — для корректного озвучания адресов и телефонов. Есть еще и обычный режим — Unknown. Переключение режимов выполняется тегом \Ctx=string\.

Оба этих режима имеют много общего в работе. Например, всегда распознаются предложения, написанные латинским алфавитом, — они воспринимаются как английская речь. Это очень удобно — без переключения языков в тексте можно использовать иностранные термины. Различия же в работе проще всего продемонстрировать на одном примере. Так, сочетание знаков ;-) в режиме Unknown воспринимается как бессмысленное и поэтому пропускается. В режиме E-mail оно интерпретируется как средство выражения эмоций автора текста — смайлик. Такой смайлик обозначает дружескую усмешку, поэтому на этапе нормализации он будет преобразован в набор из трех слов: «хи-хи-хи». Синтезатор речи произнесет эти слова, в результате мы услышим хихиканье агента.

В завершение мне хочется рассказать еще об одном способе озвучания агентов. Он очень прост. Запишите сообщение, которое должен произнести персонаж, в звуковой файл. В методе Speak напишите текст сообщения, а затем укажите название и путь к файлу Hello.Wav:

My_Agent.Speak "Привет! Я очень рад всех вас видеть.", "Hello.Wav"



--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Alex103
Дата 8.3.2005, 08:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



1. Как сделать в разговоре агента паузу.
2. Как поменять скорость произношения речи.
Это вопросс может не по теме но это являеться частью проекта.

3. Как из текстового файла и из Мемо считать определенные строки.
4. Я вот хочу создать установочный пакет. Посоветуйте чем это лучше осуществить.
И пожалуйста все с сылочкими.
5. Подскажите компонент или исходник простейшего таймера.
6. Где взять программу для создани я агентов.
7. Как можно агенту добавить анимационные ефекты.
8. Чем можно создать приличную справку. И подскажите где взять эту прогу.

Буду очень рад прочитать ответы.

Заранее благодарен.

С ув. Александр
Добавлено @ 08:50
Цитата(Alex @ 8.3.2005, 08:28)
Цитата(Alex103 @ 8.3.2005, 08:23)
Спасибо конечно за совет но это не работает!!! Там я ничего не нашел!!!

А это позвольте, что?
Цитата
Теперь, как я и обещал, можно перейти непосредственно к генерации речи. Собственно говоря, на Visual Basic (не забудьте подключить к проекту соответствующие компоненты COM+) для этого потребуется всего одна команда — вызов метода Speak: My_Agent.Speak "Фраза для озвучания!".

Если все подготовительные операции были выполнены правильно, фраза, которая передана методу в качестве аргумента, будет не только отображена на экране, но и синхронно произнесена персонажем. Если вы поэкспериментируете с озвучанием различных персонажей, то наверняка обратите внимание, что все они немного отличаются друг от друга манерой разговора. Это еще одно достоинство технологии Microsoft Agent.

В Microsoft Agent доступны все теги, принятые в SAPI, — они и позволяют сделать речь естественной. Тегов сравнительно немного, и запомнить их пара пустяков:
Emp — ударение на произносимом слове; Pau — пауза в речи (миллисекунды);
Pit — высоты звучания голоса в Гц;
Spd — средняя скорость речи (слов в минуту);
Vol — средняя громкость звука.
Для управления речью агентов в состав SAPI входит еще несколько свойств, например Pitch (определяет высоту голоса) и Speed (определяет скорость речи). Свойства Pitch и Speed доступны только для чтения. Используемые по умолчанию характеристики голоса диктора меняются тегами Pit и Spd. Их следует только добавить в команду, например:

My_Agent.Speak "Привет! \spd= 150\\pit=230\Я очень рад всех вас видеть".

Как правило, размещать теги можно в произвольное место фразы, их действие начинается со следующего слова. Однако действуют теги только в пределах одного вызова метода Speak.

Некоторые теги содержат строковые значения. Их использование в программах Visual Basic и Visual Basic for Applications сопряжено с некоторыми неудобствами. Строковые значения должны быть обрамлены кавычками, поэтому текст для метода Speak требует специального синтаксиса — для добавления кавычек приходится вызывать функцию Chr с параметром 34 (этот ASCII-код соответствует кавычке). Рассмотрим для примера тег Chr, с помощью которого можно определить характер речи диктора. Этот тег может принимать одно из следующих значений: Normal (используется по умолчанию), Monotone, Whisper. Предположим, мы хотим, чтобы фраза была произнесена агентом шепотом. Тогда ее следует написать следующим образом:

My_Agent.Speak "\Chr=" + Chr(34) + "Whisper" + Chr(34) + "\Привет! Я очень рад всех вас видеть."

Пожалуй, одним из самых интересных является тег Ctx. Он предназначен для управления параметрами нормализации текста. Как мы помним, TTS-модуль должен преобразовать текст в последовательность слов для синтезатора речи. На этом этапе ему важно понимать, в каком контексте используются слова. Иными словами, TTS-модуль должен знать тематику сообщения. К примеру, получив на вход строку вида «X-Originating-IP: [65. 169.241.134]», речевой движок должен воспринять ее как служебную часть заголовка электронного письма, которая никогда не читается пользователями и поэтому вообще не должна быть озвучена. Для этих целей были разработаны специальные режимы работы TTS-модулей: E-mail и Address. Причем один из них предназначен для работы с электронной почтой, а другой — для корректного озвучания адресов и телефонов. Есть еще и обычный режим — Unknown. Переключение режимов выполняется тегом \Ctx=string\.

Оба этих режима имеют много общего в работе. Например, всегда распознаются предложения, написанные латинским алфавитом, — они воспринимаются как английская речь. Это очень удобно — без переключения языков в тексте можно использовать иностранные термины. Различия же в работе проще всего продемонстрировать на одном примере. Так, сочетание знаков smile в режиме Unknown воспринимается как бессмысленное и поэтому пропускается. В режиме E-mail оно интерпретируется как средство выражения эмоций автора текста — смайлик. Такой смайлик обозначает дружескую усмешку, поэтому на этапе нормализации он будет преобразован в набор из трех слов: «хи-хи-хи». Синтезатор речи произнесет эти слова, в результате мы услышим хихиканье агента.

В завершение мне хочется рассказать еще об одном способе озвучания агентов. Он очень прост. Запишите сообщение, которое должен произнести персонаж, в звуковой файл. В методе Speak напишите текст сообщения, а затем укажите название и путь к файлу Hello.Wav:

My_Agent.Speak "Привет! Я очень рад всех вас видеть.", "Hello.Wav"

А вы попробуйте оно не работает! smile
Добавлено @ 08:56
Цитата(Poseidon @ 8.3.2005, 04:16)
Цитата
У меня все нормально говорит

Это зависет от самого персонажа. Не многие умеют говорить по русски (но пректически все по английски). Скорее всего Alex103 использует не тот персонаж.

Пожалуйста вышли мне прогу для создания агентов. мой майл [email protected], [email protected] на любой из них!!! Пожалуйста.


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
Alex
Дата 8.3.2005, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Alex103 Спокойно!
Модератор: Пожалуйста, один топик - один вопрос.


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Alex
Дата 8.3.2005, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Alex103, сам ну ни как искать не хочешь, если бы было очень нужно и интересно давно бы все нашел.

Лови:
http://jaws.tiflocomp.ru/synths/sapi/sapi_delphi02.php Если мне хоть, кто-то скажет, что программа http://jaws.tiflocomp.ru/synths/sapi/examp..._speechtags.zip ему не подходит, то я больше этому человеку НИЧЕГО искать не буду. Маленький нюанс программа начинает читать текст от текущей позиции курсора в тексте.

Вот сайт полностью посвещенный агенту и его применению в Delphi http://subritto.h1.ru/


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Alex103
Дата 9.3.2005, 02:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Цитата(Alex @ 8.3.2005, 10:11)
Alex103, сам ну ни как искать не хочешь, если бы было очень нужно и интересно давно бы все нашел.

Лови:
http://jaws.tiflocomp.ru/synths/sapi/sapi_delphi02.php Если мне хоть, кто-то скажет, что программа http://jaws.tiflocomp.ru/synths/sapi/examp..._speechtags.zip ему не подходит, то я больше этому человеку НИЧЕГО искать не буду. Маленький нюанс программа начинает читать текст от текущей позиции курсора в тексте.

Вот сайт полностью посвещенный агенту и его применению в Delphi http://subritto.h1.ru/

Извени что так вышло но я действительно искал но не нашел!!!!!А тебе большое спасибо за очередную подсказку. Я тя отблагодарю как только наберу 100 постов. И не нервничай..... smile smile smile Огромное за все спасибо. С ув.Александр..


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
Poseidon
Дата 9.3.2005, 02:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Цитата
Как из текстового файла и из Мемо считать определенные строки.

Из Memo:
Код
var
S: string;
begin
S:= Memo1.Lines.Strings[5];
end;

Из файла
Код
var
s: string;
f: textFile;
begin
AssignFile(f,'file.txt')
Reset(f);
for i:= 1 to 5 do
Readln(f,s);
CloseFile(f);
end;

Оба примера читают 5 строку. Только в случае с файлом, я бы проверил:
1. А есть ли такой файл, перед открытием;
2. А есть ли в этом файле вообще нужная строка;


Цитата
Подскажите компонент или исходник простейшего таймера.

А чем стандартный Timer (вкладка система) не подходит?


Цитата
Я вот хочу создать установочный пакет. Посоветуйте чем это лучше осуществить.

В комплекте с Delphi поставляется InstallShield именно для этих целей.


Цитата
Где взять программу для создани я агентов.

Ссылку я давал выше. Если не работает, то есть же ее название. Поищи в Интернете по названию (Ну или попроси Alex, если сам не справишься)


Цитата
Как можно агенту добавить анимационные ефекты.

Agent1.Characters.Load('MyAgent', Path);
Agent1.Characters['MyAgent'].Play('Greet');

Path - это путь к характеру персонажа (файл *.acs)
Greet - это проигрываемай анимация. Для каждого характера свой набор, но есть и общие (Greet - один из таких). Список всех анимаций читай в документации к агенту или скачай Майкрософную прогу "Agent Viewer". Если все же не найдешь ничего, обратись ко мне, я напишу все анимации предложенного табой агента.
Кстати, список анимаций можно получить и средствами делфи, но нужно вазится.


Цитата
Чем можно создать приличную справку. И подскажите где взять эту прогу.

В стандартный пакет Delphi входит программа "Microsoft Help Workshop". Находится она вот тут: Каталог Delphi\Help\Tools\HCW.exe


Вроде на все ответил. Насчет проги облом. Я ее не нашел у себя. Видать удалил за ненадобностью, т.к. агентов в сети хватает, и создавать заново колесо не хочется.

Да, и на будущее: Прочти правила форума, а то так и будешь получать то модераторов
Цитата
один топик - один вопрос
, да и отвечать неудобно. Видишь какой большой ответ получился. smile

Это сообщение отредактировал(а) Poseidon - 9.3.2005, 02:55


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Bose
Дата 9.3.2005, 05:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 23
Всего: 51



посмотри вот здесь.... сайты по технологиям речи...
http://art.bdk.com.ru/govor/program.htm
и здесь
http://native-speech.invitation.ru/index-full.html

а, вообще, проблема распознавания речи до сих пор не решена и остается проблемой...... ищи... учись... может и решишь smile)
PM MAIL WWW Skype   Вверх
Alex103
Дата 9.3.2005, 05:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 416
Регистрация: 5.1.2005
Где: Украина, г. Харьк ов

Репутация: нет
Всего: нет



Цитата(Bose @ 9.3.2005, 05:22)
посмотри вот здесь.... сайты по технологиям речи...
http://art.bdk.com.ru/govor/program.htm
и здесь
http://native-speech.invitation.ru/index-full.html

а, вообще, проблема распознавания речи до сих пор не решена и остается проблемой...... ищи... учись... может и решишь smile)

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


--------------------
Мой адресс не дом и не улица, мой адресс WWW
PM MAIL WWW ICQ YIM   Вверх
Alex
Дата 9.3.2005, 07:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Цитата(Alex103 @ 9.3.2005, 05:28)
Да огромное те спасибо за помощь. Слушай ты слуяайно не знаешь где можно скачать перевод Делфийского хелпа ну естесно бесплатно или какую нибудь нормальную книгу по Делфи.

Модератор: Тема закрыта!


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Страницы: (3) [Все] 1 2 3 
Закрытая темаСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1463 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.