Модераторы: 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   Вверх
Страницы: (3) Все [1] 2 3 
Закрытая темаСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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