MsAgent управляемый nnCron....

Обсуждение программ nnCron и nnCron LITE

MsAgent управляемый nnCron....

Postby Aveiro » Thu, 03 Nov 2011, 22:11

Хотелось -бы добавить немного интерактивности компьютеру.
На данный момент у меня комп с помощью nnCron говорит события происходяшие внутри,используется Govorilka CP . http://www.vector-ski.ru/vecs/govorilka ... lka_cp.htm
Может не серьезно,но хочется ,чтобы голосовое сообщение воспроизводилось аннимированным персонажем.
Оказывается у Microsoft есть MsAgent,для подобных вещей.
Может у кого есть опыт как реализовать вывод аннимированного персонажа,который по событию появляется....
Поделитесь.
nncron.exe v 1.93b15 Build 1177 08.02.2016
tm.exe v 1.93b15 Build 604 08.02.2016
Aveiro
 
Posts: 222
Joined: Tue, 06 Jul 2010, 21:19

Re: MsAgent управляемый nnCron....

Postby Morituruz » Mon, 07 Nov 2011, 11:09

Агент может управляться из vbscript, а nncron умеет запускать и его. Вот нашёл пример в гугле, у меня работает:
Code: Select all
#( script_test
NoLog
SingleInstance
Action:
<VBScript>
'Configure it to meet your local settings
agFl = "c:\WINDOWS\msagent\chars\merlin.acs"

'Create an MSAgent Object
Set objAgent = CreateObject("Agent.Control.2")

objAgent.Connected = TRUE
'Load the Merlin as the current char
objAgent.Characters.Load "Merlin", agFl

'generate a character object for the agent object
Set objCharacter = objAgent.Characters.Character("Merlin")

'Show the Agent
objCharacter.Show
'Make it animate and talk
objCharacter.Play "Announce"
objCharacter.Speak "nncron - это настоящее волшебство!"
'Now hide the agent
objCharacter.Hide

'The below three lines are very important for the correct functioning of the agent char. else
' the script will conclude it's execution even before the character is loaded
'on the screen
Do While objCharacter.Visible = TRUE
'This makes the script wait until the objCharacter.Hide statement is executed
    Wscript.Sleep 250
Loop

'End of Script
</SCRIPT>
)#
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: MsAgent управляемый nnCron....

Postby AlikasS » Mon, 07 Nov 2011, 11:53

Moriturus не разбирался, как конкретные установленные голоса выбирать?
User avatar
AlikasS
 
Posts: 1434
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: MsAgent управляемый nnCron....

Postby Morituruz » Mon, 07 Nov 2011, 12:54

Я же просто нагуглил этот пример, я в нём ничего не понимаю :)
Насчёт голоса я нагуглил вот это:
Code: Select all
Синтаксис
agent.Characters ("CharacterID").TTSModeID [ = ModeID]ModeID   Строка, определяющая голосовой движок

Список некоторых доступных идентификаторов Voice   Mode IDs
Adult Female #1, US English, L&H TruVoice    {CA141FD0-AC7F-11D1-97A3-006008273008}
Adult Female #2, US English, L&H TruVoice    {CA141FD0-AC7F-11D1-97A3-006008273009}
Adult Male #1, US English, L&H TruVoice   {CA141FD0-AC7F-11D1-97A3-006008273000}
Adult Male #2, US English, L&H TruVoice   {CA141FD0-AC7F-11D1-97A3-006008273001}
Adult Male #3, US English, L&H TruVoice   {CA141FD0-AC7F-11D1-97A3-006008273002}
Adult Male #4, US English, L&H TruVoice   {CA141FD0-AC7F-11D1-97A3-006008273003}
Adult Male #5, US English, L&H TruVoice   {CA141FD0-AC7F-11D1-97A3-006008273004}
Adult Male #6, US English, L&H TruVoice   {CA141FD0-AC7F-11D1-97A3-006008273005}
Adult Male #7, US English, L&H TruVoice   {CA141FD0-AC7F-11D1-97A3-006008273006}
Adult Male #8, US English, L&H TruVoice   {CA141FD0-AC7F-11D1-97A3-006008273007}
Carol, British English, L&H TTS3000    {227A0E40-A92A-11d1-B17B-0020AFED142E}
Peter, British English, L&H TTS3000    {227A0E41-A92A-11d1-B17B-0020AFED142E}
Linda, Dutch, L&H TTS3000    {A0DDCA40-A92C-11d1-B17B-0020AFED142E}
Alexander, Dutch, L&H TTS3000    {A0DDCA41-A92C-11d1-B17B-0020AFED142E}
Veronique, French, L&H TTS3000    {0879A4E0-A92C-11d1-B17B-0020AFED142E}
Pierre, French, L&H TTS3000    {0879A4E1-A92C-11d1-B17B-0020AFED142E}
Anna, German, L&H TTS3000    {3A1FB760-A92B-11d1-B17B-0020AFED142E}
Stefan, German, L&H TTS3000    {3A1FB761-A92B-11d1-B17B-0020AFED142E}
Barbara, Italian, L&H TTS3000    {7EF71700-A92D-11d1-B17B-0020AFED142E}
Stefano, Italian, L&H TTS3000    {7EF71701-A92D-11d1-B17B-0020AFED142E}
Naoko, Japanese, L&H TTS3000    {A778E060-A936-11d1-B17B-0020AFED142E}
Kenji, Japanese, L&H TTS3000    {A778E061-A936-11d1-B17B-0020AFED142E}
Shin-Ah, Korean, L&H TTS3000    {12E0B720-A936-11d1-B17B-0020AFED142E}
Jun-Ho, Korean, L&H TTS3000    {12E0B721-A936-11d1-B17B-0020AFED142E}
Juliana, Portuguese (Brazil), L&H TTS3000    {8AA08CA0-A1AE-11d3-9BC5-00A0C967A2D1}
Alexandre, Portuguese (Brazil), L&H TTS3000    {8AA08CA1-A1AE-11d3-9BC5-00A0C967A2D1}
Светлана, Русский, L&H TTS3000    {06377F80-D48E-11d1-B17B-0020AFED142E}
Борис, Русский, L&H TTS3000    {06377F81-D48E-11d1-B17B-0020AFED142E}
Carmen, Spanish, L&H TTS3000    {2CE326E0-A935-11d1-B17B-0020AFED142E}
Julio, Spanish, L&H TTS3000    {2CE326E1-A935-11d1-B17B-0020AFED142E}
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: MsAgent управляемый nnCron....

Postby Aveiro » Mon, 07 Nov 2011, 22:43

Спасибо за ответы.
То,что Ms Agent управляется через VB скрипт знакомо, вот тут еще немного про управление MsAgent через скрипты:(Управление агентом MsAgent)
http://nhutils.ru/forum/viewtopic.php?f=6&t=21
В идеале хотелось бы использовать запуск его через командную строку с параметрами голоса и анимации.
Ну и запуск производить nnCron-oм.
Вот тут кстати есть разные персонажи MsAgent:
http://characters.narod.ru/a.htm
nncron.exe v 1.93b15 Build 1177 08.02.2016
tm.exe v 1.93b15 Build 604 08.02.2016
Aveiro
 
Posts: 222
Joined: Tue, 06 Jul 2010, 21:19

Re: MsAgent управляемый nnCron....

Postby Aveiro » Thu, 10 Nov 2011, 12:26

Вот еще нашел одну программу : Pestretsov Agent Viewer

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

http://pestretsov.narod.ru/programs_agent_viewer.html

Не могу найти msagent javascript editor.....все сайты денег хотят,хотя сами не авторы естественно.
nncron.exe v 1.93b15 Build 1177 08.02.2016
tm.exe v 1.93b15 Build 604 08.02.2016
Aveiro
 
Posts: 222
Joined: Tue, 06 Jul 2010, 21:19

Re: MsAgent управляемый nnCron....

Postby Aveiro » Mon, 21 Nov 2011, 06:31

Мож кому пригодится..... у меня теперь анимированный персонаж говорит о всем,что происходит внутри компа. Как-то поприятнее ,чем разбирать лог...:wink:
Сделал так:
В теле какой-то задачи при наличии события (например: пропал Internet) вписываем строку такого вида:
Code: Select all
 FILE-WRITE: "D:\Отслеживаемый файл.txt" "Внимание%crlf%Пропал Internet."

В ней две строки, первая строка задает анимацию персонажу,и вторая собственно текст ,который персонаж сообщает.
Сного помог VoidVolker когда показывал как можно из файла считать последнюю строку.
Далее задача ,для самого MsAgent:
Code: Select all
#######################################################################################################################################################################################################
# КОМАНДНЫЕ СЛОВА для эмоций:
# merlin.acs:     Появление Порядок Проблема Удача Вопрос Внимание Согласие Отрицание Удивление Недовольство Удовольствие Сомнения Раздумия Поиск Поцелуй

#( MsAgent                                                                               \ TASK: работа с анимированным персонажем
WatchFile: "D:\Отслеживаемый файл.txt"                                                   \ задача запускается при изменении текста в файле "Отслеживаемый файл.txt"
CREATE MsAGENT 500 ALLOT                                                                 \ массив для хранения текста
Action:
    S" "
    READ-BY-LINE: "D:\Отслеживаемый файл.txt"                       
        2DROP FOUND-LINE S" " S+                                                         \ считывание последней строки файла "Отслеживаемый файл.txt"
    ;READ-BY-LINE
   MsAGENT PLACE                                                                        \ занесение текста в массив MsAGENT
    S" D:\Отслеживаемый файл.txt" FILE S" /Проблема/" RE-MATCH                           \ поиск в файле "Отслеживаемый файл.txt" слова "Проблема"
    IF                                                                                   \ если слово "Проблема" найдено -> 
        <VBScript>
            strAgentName = "merlin"                                                      ' имя персонажа
            strAgentPath = "C:\WINDOWS\msagent\chars\merlin.acs"                         ' путь к файлу персонажа
            Set objAgent = CreateObject("Agent.Control.2")
            objAgent.Connected = TRUE                                                    ' подключение персонажа
            objAgent.Characters.Load strAgentName, strAgentPath                          ' загрузка персонажа
            Set objCharacter = objAgent.Characters.Character(strAgentName)
         objCharacter.Show True                                                       ' отображение персонажа, True - быстрее (без анимации) False - медленнее (с анимацией)
         objCharacter.Height = objCharacter.OriginalHeight                            ' установка высоты персонажа ( пример : OriginalHeight * 1.3 )
            objCharacter.Width = objCharacter.OriginalWidth                              ' установка ширины персонажа ( пример : OriginalWidth * 1.3 )
         objCharacter.LanguageID = &H419                                              ' установка русского языка
            objCharacter.Play "Show"                                                     ' анимация персонажа
            objCharacter.Speak "%MsAGENT COUNT%"                                         ' произношение текста
         objCharacter.Hide                                                            ' скрытие персонажа
            Do While objCharacter.Visible = TRUE
                Wscript.Sleep 250
            Loop
      </SCRIPT>
      EXIT
    THEN
    S" D:\Отслеживаемый файл.txt" FILE S" /Удача/" RE-MATCH           \ поиск в файле "Отслеживаемый файл.txt" слова "Удача"
    IF                                                                                   \ если слово "Удача" найдено -> 
        <VBScript>
      </SCRIPT>
      EXIT
    THEN
    S" D:\Отслеживаемый файл.txt"  FILE S" /Вопрос/" RE-MATCH          \ поиск в файле "Отслеживаемый файл.txt" слова "Вопрос"
    IF                                                                                   \ если слово "Вопрос" найдено -> 
        <VBScript>
      </SCRIPT>
      EXIT
    THEN
   S" D:\Отслеживаемый файл.txt"  FILE S" /Внимание/" RE-MATCH        \ поиск в файле "Отслеживаемый файл.txt" слова "Внимание"
    IF                                                                                   \ если слово "Внимание" найдено -> 
        <VBScript>
      </SCRIPT>
      EXIT
    THEN
)#
#######################################################################################################################################################################################################

Собственно все...первая строка задает анимацию агенту,вторую строку он произносит.
p.s заточено под XP
у меня стоят два речевых движка Алена и Николай от ELAN ,как их подключать так и не нашел,не нашел CLSID ихние....везде в нэте только майкрософтовские идентификаторы движков.
Last edited by Aveiro on Mon, 21 Nov 2011, 17:14, edited 1 time in total.
nncron.exe v 1.93b15 Build 1177 08.02.2016
tm.exe v 1.93b15 Build 604 08.02.2016
Aveiro
 
Posts: 222
Joined: Tue, 06 Jul 2010, 21:19

Re: MsAgent управляемый nnCron....

Postby VoidVolker » Mon, 21 Nov 2011, 17:07

Code: Select all
S" D:\Отслеживаемый файл.txt" FILE S" /Проблема/" RE-MATCH                           \ поиск в файле "Отслеживаемый файл.txt" слова "Проблема"
IF
...
THEN
    S" D:\SYSTEM\Control\MsAgent\MsAGENT_FEMALE.txt" FILE S" /Удача/" RE-MATCH           \ поиск в файле "Отслеживаемый файл.txt" слова "Удача"
    IF                                                                                   \ если слово "Удача" найдено ->
...

Несколько неудачный способ поиска текста в файле. Вот так эффективнее:
Code: Select all
S" D:\Отслеживаемый файл.txt" FILE    \ a u
2DUP S" Проблема" SEARCH  NIP NIP    \ a u ?                         \ поиск в файле "Отслеживаемый файл.txt" слова "Проблема"
  IF
  ...
  THEN
2DUP S" Удача" SEARCH  NIP NIP    \ a u ?           \ поиск в файле "Отслеживаемый файл.txt" слова "Удача"
  IF
  ...
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: MsAgent управляемый nnCron....

Postby Aveiro » Mon, 21 Nov 2011, 17:11

VoidVolker ну Вы в Форте продвинуты.... а мы только берем с вас пример....... :)
nncron.exe v 1.93b15 Build 1177 08.02.2016
tm.exe v 1.93b15 Build 604 08.02.2016
Aveiro
 
Posts: 222
Joined: Tue, 06 Jul 2010, 21:19

Re: MsAgent управляемый nnCron....

Postby Morituruz » Mon, 21 Nov 2011, 21:54

Может я что-то не понимаю, но зачем делать крюк через чтение файла построчно, когда нужно просто пару строк передать?
Code: Select all
#( msagent
NoActive
NoLog
\ делаем слово:
: merlin
<VBScript>

'Create an MSAgent Object
Set objAgent = CreateObject("Agent.Control.2")

objAgent.Connected = TRUE
'Load the Merlin as the current char
objAgent.Characters.Load "Merlin", "c:\WINDOWS\msagent\chars\merlin.acs"

'generate a character object for the agent object
Set objCharacter = objAgent.Characters.Character("Merlin")

'Show the Agent
objCharacter.Show

'Make it animate and talk
objCharacter.Speak "%1 esPICKS%"
objCharacter.Play "%3 esPICKS%"
'Now hide the agent
objCharacter.Hide

'The below three lines are very important for the correct functioning of the agent char. else
' the script will conclude it's execution even before the character is loaded
'on the screen
Do While objCharacter.Visible = TRUE
'This makes the script wait until the objCharacter.Hide statement is executed
    Wscript.Sleep 250
Loop

'End of Script
</SCRIPT>
;
Action:
\ и собственно, когда хотим колдовать, передаём этому слову пару строк (если надо - больше):
S" DoMagic1" S" Сейчас палочкой махну и отформатирую диск C" merlin

\ Acknowledge             Nods head
\ Alert                  Straightens and raises eyebrows
\ Announce               Raises trumpet and plays
\ Blink                  Blinks eyes
\ Confused               Scratches head
\ Congratulate               Displays trophy
\ Congratulate_2             Applauds
\ Decline                Raises hands and shakes head
\ DoMagic1               Raises magic wand
\ DoMagic2               Lowers wand, clouds appear
\ DontRecognize              Holds hand to ear
\ Explain                Extends arms to side
\ GestureDown            Gestures down
\ GestureLeft            Gestures to his left
\ GestureRight               Gestures to his right
\ GestureUp              Gestures up
\ GetAttention               Leans forward and knocks
\ GetAttentionContinued          Leaning forward, knocks again
\ GetAttentionReturn         Returns to neutral position
\ Hearing_1              Ears extend (looping animation)
\ Hearing_2              Tilts head left (looping animation)
\ Hearing_3              Turns head left (looping animation)
\ Hearing_4              Turns head right (looping animation)
\ Hide                   Disappears under cap
\ Idle1_1                Takes breath
\ Idle1_2                Glances left and blinks
\ Idle1_3                Glances right
\ Idle1_4                Glances up to the right and blinks
\ Idle2_1                Looks at wand and blinks
\ Idle2_2                Holds hands and blinks
\ Idle3_1                Yawns
\ Idle3_2                Falls asleep (looping animation)
\ LookDown               Looks down
\ LookDownBlink              Blinks looking down
\ LookDownReturn             Returns to neutral position
\ LookLeft               Looks left
\ LookLeftBlink              Blinks looking left
\ LookLeftReturn             Returns to neutral position
\ LookRight              Looks right
\ LookRightBlink             Blinks looking right
\ LookRightReturn            Returns to neutral position
\ LookUp                 Looks up
\ LookUpBlink            Blinks looking up
\ LookUpReturn               Returns to neutral position
\ MoveDown               Flies down
\ MoveLeft               Flies to his left
\ MoveRight              Flies to his right
\ MoveUp                 Flies up
\ Pleased                Smiles and holds his hands together
\ Process                Stirs cauldron
\ Processing             Stirs cauldron (looping animation)
\ Read                   Opens book, reads and looks up
\ ReadContinued              Reads and looks up
\ ReadReturn             Returns to neutral position
\ Reading                Reads (looping animation)
\ RestPose               Neutral position
\ Sad                Sad expression
\ Search                 Looks into crystal ball
\ Searching              Looks into crystal ball (looping animation)
\ Show                   Appears out of cap
\ StartListening             Puts hand to ear
\ StopListening              Puts hands over ear
\ Suggest                Displays light bulb
\ Surprised              Looks surprised
\ Think                  Looks up with hand on chin
\ Thinking               Looks up with hand on chin (looping animation)
\ Uncertain              Leans forward and raises eyebrows
\ Wave                   Waves
\ Write                  Opens book, writes and looks up
\ WriteContinued             Writes and looks up
\ WriteReturn            Returns to neutral position
\ Writing                Writes (looping animation)
)#
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: MsAgent управляемый nnCron....

Postby Aveiro » Mon, 21 Nov 2011, 23:40

Может я чего-то не так делаю....... построчно чтобы задействовать разные эмоции персонажа MsAgenta......
nncron.exe v 1.93b15 Build 1177 08.02.2016
tm.exe v 1.93b15 Build 604 08.02.2016
Aveiro
 
Posts: 222
Joined: Tue, 06 Jul 2010, 21:19

Re: MsAgent управляемый nnCron....

Postby Morituruz » Tue, 22 Nov 2011, 00:02

Эмоции = анимации? В вашей задаче анимация только одна, и она жёстко задана:
Code: Select all
objCharacter.Play "Show"

В моём примере анимация после произнесения текста задаётся строкой:
Code: Select all
S" DoMagic1" S" Сейчас палочкой махну и отформатирую диск C" merlin

Зачем сохранять это в файле, если можно S" анимация" S" текст" merlin?
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: MsAgent управляемый nnCron....

Postby Aveiro » Tue, 22 Nov 2011, 17:07

А это слово может вызываться из разных кронтабов ?
Собственно текстовый файл мной был сделан,чтобы был запуск задачи другими задачами расположенными не в одном кронтабе.
nncron.exe v 1.93b15 Build 1177 08.02.2016
tm.exe v 1.93b15 Build 604 08.02.2016
Aveiro
 
Posts: 222
Joined: Tue, 06 Jul 2010, 21:19

Re: MsAgent управляемый nnCron....

Postby Morituruz » Tue, 22 Nov 2011, 17:15

Aveiro wrote:А это слово может вызываться из разных кронтабов ?

у меня вызвалось. Что мешает вам проверить?
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: MsAgent управляемый nnCron....

Postby VoidVolker » Tue, 22 Nov 2011, 18:23

Aveiro wrote:А это слово может вызываться из разных кронтабов ?Собственно текстовый файл мной был сделан,чтобы был запуск задачи другими задачами расположенными не в одном кронтабе.

Как только слово определено его можно вызвать в любом месте после его определения. То же самое относится и к кронтабам: все в порядке подключения в nncron.ini - ннкрон читает кронтабы по очереди. Например слова, определенные в первом кронтабе будут доступны и во всех последующих подключаемых кронтабах, а вот слова определенные во втором кронтабе в первом кронтабе будут недоступны, т.к. на момент чтения первого кронтаба ннкрон еще не прочитал второй кронтаб.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 3 guests