PDA

Ver la Versión Completa : Ayúdenme con el Microsoft Agent 2.0 ActiveX


kakesoft
11-07-2005, 20:59:07
Miren, socios de este importantísimo foro, se como utilizar la axtivex del agente de windows a la perfección casi, pero tengo un problema, tengo un form con dos botones y la activex que me carga el agente al mostrarse el form, quisiera que cuando diera clic en un botón el agente me hablara en español y cuando diera clic en el otro me hablara en inglés. Pienso que esto no sea tan difícil.

Espero con suerte respuestas, saludos a todos y gracias de antemano

dec
12-07-2005, 09:09:04
Hola,

La verdad sea dicha, como dicen, no sé si lo que a continuación diré yo te servirá de algo o qué.

Nunca he tratado con el "ActiveX" a que te refieres, y no sé si el componente Office Assistant (http://www.delphiarea.com/products/assistant/), de DelphiArea (http://www.delphiarea.com/) podrá serte de alguna utilidad al menos para solucionar tu problema en concreto.

Lo que me ha llevado a comunicarte la existencia del mencionado componente es lo que puede leerse en la descripción de sus características:


Supports Middle Eastern languages and can be customized easily for use in multi-lingual applications.

Tal vez a partir de ahí tal vez puedas investigar un tanto: Office Assistant (http://www.delphiarea.com/products/assistant/) es gratuito y de código abierto, lo cual te da pie a investigar cómo hace lo que hace.

kakesoft
13-07-2005, 19:56:23
Socio te diré que ese componente de el Sitio DelphiArea ya lo tengo pero el que utilizo es mucho mejor y es el siguiente: Microsoft Agent 2.0 ActiveX. Esta es una ActiveX que importo para Delphi, la misma se me instala en la paleta de componentes ActiveX y la utilizo casi a la perfección, pero no se como controlar mejor dicho, las librerías de gestión de voces, o sea, que me hable una frase en inglés mediante el clic en un botón en un form de mi aplicación y que me hable otra en español, al dar clic en otro botón


gracias nuevamente.

Delphius
14-07-2005, 03:58:46
o sea, que me hable una frase en inglés mediante el clic en un botón en un form de mi aplicación y que me hable otra en español, al dar clic en otro botón
No se si se podrá hacer ese cambio de idioma. Tengo un ejemplo de como usar el Microsoft Agent... pero no vi algo como para hacer lo que pides.

Te doy una posible solución:

1. Antes que nada ocultas el globo de conversación.
2. Luego, para que las frases "suenen" en inglés, puedes ingeniártelas escribiendo en forma textual como debe sonar dicha palabra, es decir escribe fonéticamente. Por ejemplo, si quisieras que diga "hello", podrías poner algo como "gelou". ¿Me explico?
Se que no es lo ideal pero... es algo...

Lepe
14-07-2005, 12:09:36
kakesoft, dame un correo y te envio un proyecto que sabe dios de donde lo saqué.

Con él puedes elegir el motor de habla del msagent. En principio, tienes que bajarte los motores desde www.msagentring.org e instalarlos en el ordenador, a partir de aqui, y usando este programa, puedes elegir en qué idioma quieres que diga el texto. Además de la voz que quieres que use (Adult male Spanish, adult female Spanish, adult female English, adult male English) con distintos tonos de voz.

Tiene la posiblidad de guardar el texto hablado en .wav o bien redirigirlo a los altavoces.

Obviamente, si quieres que hable en ingles, el texto debe estar escrito en ese idioma, de lo contrario, hablará con el típico "guiri intentando hablar español"

Edito: El control comentado por Dec, es Mejorado, en el que usas ahora, dudo que puedas incluir botones en los globos de ayuda para interactuar directamente con el Msagent.

Por otra parte, esa suit de componentes es Freeware, el Microsoft Agent no lo puedes distribuir con tu aplicación de ninguna de las maneras, se debe descargar directamente de la web ya comentada, y como usuario final.

Un saludo

Lepe
14-07-2005, 12:27:11
From: "Bernard Wong" <bwong@microsoft.com>
To: <khojasteh@mail.com>
Sent: April 3, 2001 2:13:24 AM GMT
Subject: Usage of images of Microsoft Agent characters on your Web site
On the http://www.crosswinds.net/~khojasteh/assistant.html (former assistant's homepage) page of your Web site, there are four animated .gif images of the four Microsoft Agent characters Genie, Merlin, Peedy and Robby. Please be aware that these character images are copyrighted creations of Microsoft Corporation and usage of these characters is restricted solely to what is provided for within the End User Licensing Agreement for Microsoft Agent. See, http://msdn.microsoft.com/msagent/eula.asp

Displaying the images of our four Microsoft Agent characters of Genie, Merlin, Peedy and Robby on your Web site is not permitted. Distributing substantially similar likenesses of our four Microsoft Agent characters of Genie, Merlin, Peedy and Robby as part of your software program is also not permitted.

As soon as feasible, please remove from your Web site and cease further distribution of both our copyrighted creation of the images as well as your substantially similar reproductions which are derived from our four Microsoft Agent character images of Genie, Merlin, Peedy and Robby.

Please confirm your receipt of this communication and your intended timing for removing our Microsoft Agent images. Thank you.

Bernard Wong,
Program Manager
Microsoft Agent



Por mi parte, me descargo el de delphi area :D. Gracias Dec

kakesoft
15-07-2005, 20:59:37
lepe, ahí va mi correo: kakesoft@yahoo.es, me interesa mucho ese ejemplo, pero la idea de DELPHIUS, no está nada mal, creo que con eso resuelvo el problema perfectamente, no obstante, LEPE mándame el ejemplito que tienes. GRACIASSSSSSSSSS a todos por orientarme y ayudarme

Urathion
29-12-2007, 10:46:56
HOla, me he instalado el esclavo 1.2 y el personaje no me habla (no se escucha, ni en ingles ni en español ni na de na) me he descargado "Microsoft Agent 2.0 ActiveX" pero no instala ningun tipo de programa. ke tengo ke poner a part de eso????? ,(tb he instalado el dragon naturally speaking (para el reconocimiento de voz, pero tampoco me la reconoce). gracias por contestar.

Lepe
29-12-2007, 14:29:15
Lo que instala es un ActiveX, que puede ser importado desde delphi para programar lo que debe hacer/decir/mostrar.

Si buscas por Microsoft Agent en el foro, encontrarás nuevos hilos.

Saludos

Urathion
30-12-2007, 16:06:40
Ya he estado buscando por el foro pero eske no saco nada en claro??? me podriais decir ke tengo ke instalar y como configurarlo??????

Lepe
30-12-2007, 21:20:44
En este hilo (http://www.clubdelphi.com/foros/showthread.php?t=10086&highlight=agent) viene todo paso a paso.

En ese hilo adjuntaba un proyecto en delphi, pero he perdido los fuentes en algún formateo de windows, si encuentro algo te lo haré saber.

Saludos.

courtois
31-12-2007, 04:57:27
Requieres:
-Microsoft Agent 2.0
-TTS3000 de Lernout & Hauspie Español (voz español)
-Learn & Hauspie TrueVoice Amer. Eng. TTS Eng. (voz en ingles)
Adicionalmente reqieres:
-Agent International DLL installation script for language 040C
-Agent International DLL installation script for language 0C0A


//Para que hable en español
Agente1.Set_LanguageID($C0A);
//En Inglés
Agente1.Set_LanguageID($409);

Urathion
01-01-2008, 19:19:12
donde encuentro los dos ultimos archivos?

Ernesto Storch
10-06-2011, 22:29:13
Hola,

Necesito de vuestra ayuda!.

Cómo puedo asignar al MS-AGENT Charlie que habla actualmente en español, la voz de Mary en Inglés?

Alguien tiene algún otro ejemplo de código para poder asignar correctamente el TTS y el idioma?...

Con el MS-Agent Properties viewer 3.1 obtengo las siguientes propiedades:

Character Details
------------------
Name: Charlie.
guid: {20E18DC3-EBE4-11D3-BE2A-C1646EB21146}
TTsModeID: {2CE326E0-A935-11D1-B17B-0020AFED142E}
LanguageID: 3082
Version: 2.00


Voice Detail
--------------
ModeName: Mary
ModeID:= {c77c5170-2867-11d0-847B-444553540000}
Speaker: Product Name: Default female voice
LanguageID: 1033


cuando se ejecuta el siguiente código da una excepción "access violation at ...."


{ set default language in English for listening}
myAgent.LanguageID:=1033; // ********** access violation ******
myAgent.SRModeID:=('{77C5170-2867-11D0-847B-444553540000}'); //se que no es el correcto...pero el error lo da en la asignación del idioma...

UTILIZO EL SIGUIENTE CODIGO extraido de un ejemplo
(DELPHI6, MS AGENT 2.0, SAPI 5.0)

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
OleCtrls, AgentObjects_TLB, StdCtrls, ExtCtrls, Buttons;

type
TForm1 = class(TForm)
SpeakEnglish: TSpeedButton;
Agent: TAgent;
procedure FormCreate(Sender: TObject);
procedure SpeakEnglishClick(Sender: TObject);
private
{ Private declarations }
myAgent: IAgentCtlCharacterEx;
myAgentRequests:IAgentCtlRequest;

bAgentListen,bAgentDialoog:Boolean;
sDefaultLanguage,sText:string;

procedure AgentLoad;
procedure AgentShow;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
sDefaultLanguage:='ENGLISH'; // or 'ENGLISH'
{ create agent}
AgentLoad;
AgentShow;

end;

procedure TForm1.AgentLoad;
var
myAgentID:string;
myAgentPath:string;
begin
{ load agent}
myAgentID:='Charlie';
myAgentPath:='c:\localizacion\Agents\'+myAgentID+'.acs';

Agent.Characters.Load(myAgentID,myAgentPath);
myAgent:=Agent.Characters.Item[myAgentID];

{ set default language in English for listening}
myAgent.LanguageID:=1033; //***************access violation***
myAgent.SRModeID:=('{77C5170-2867-11D0-847B-444553540000}'); //mary

{====== init charlie ============}
{ remove any existing commands}
myAgent.Commands.RemoveAll;
{ set menu caption}
myAgent.Commands.Caption:='Listen Charlie';
{ add commands }
myAgent.Commands.Add('charlie','Charlie is listening','Charlie*',True,True);
{ Show captions in pop-up menu }
myAgent.Commands.Visible:=True;
end;

procedure TForm1.AgentShow;
var p1:TPoint;
begin
with myAgent do begin
MoveTo(400,500,0);
show(0);
Speak('HELLO, I AM SPEAKING IN ENGLISH?','');
end;
end;

Gracias!.
Saludos!

Ernesto