Lektor czytający Internet, filmy i książki
   Szukaj Szukaj     Profil Profil     Zaloguj się, by sprawdzić wiadomości Zaloguj się, by sprawdzić wiadomości     Zaloguj Zaloguj

Terminal Expressivo


 
Napisz nowy temat   Odpowiedz do tematu
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
kapul
Tester


Dołączył: 14 Lis 2006
Posty: 70
Skąd: IVO Software / R&D

Post Wysłany: 2006-12-14 08:39    Temat postu: Terminal Expressivo Odpowiedz z cytatem

Czy wiecie, że Expressivo można sterować poprzez terminal socket (np. telnet)??
Moim zdaniem czasem łatwiej od wtyczki napisać jakiś taki mały programik w jezyku skryptowym, np. perlu i wykorzystać do tego interfejs socket Expressivo.

Można go przetestować robiąc tak:
1) sprawdz jak masz ustawiony port TCP Expressivo (Konfiguracja -> Akceptuj polecenia przez -> Numer portu); standardowo jest to 17024,
2) uruchom linie polecen cmd.exe,
3) telnet 127.0.0.1 17024 (jezeli masz inny numer portu to zastap nim 17024).

W ten sposob polaczysz sie z terminalem Expressivo. Na ekranie powinienes zobaczyc tekst "Witaj w terminalu Expressivo."

Teraz mozesz wydac komende:
Kod:
help

i wyswietli Ci sie co lista komend i co mozesz zrobic, np. jak napiszesz:
Kod:
sayit|Ala ma kota

to Expressivo przeczyta "Ala ma kota".

W analogoczny sposob jak telnet możesz tego użyć we własnym programie, a zaletą tego jest przejrzystość  protokołu teksowego i łatwość użycia. A co ciekawsze... Expressivo potrafi "słuchać" komend z portów Internetowych, także można napisać program, który będzie sterował mową Expressivo na zdalnym komputerze, pomysły nasuwają się same...

Terminal Expressivo posiada duże możliwości, właśnie tą drogą z Expessivo komunikje się ALLPlayer.
Powrót do góry
Ogląda profil użytkownika Wyślij prywatną wiadomość
gringoo
[gaworzy]
[gaworzy]


Dołączył: 10 Gru 2007
Posty: 17

Post Wysłany: 2007-12-16 23:15    Temat postu: Odpowiedz z cytatem

Cool! Very Happy

Kod:
Witaj w terminalu Expressivo.
help
Po polaczeniu wtyczka wypisuje dokladnie jedna linie powitalna.
Wszystkie odpowiedzi na komendy wystepuja w jednej linii, za wyjatkiem Help i ?,
ktore sa zakonczone linia z napisem ENDHELP.

Komendy nalezy podawac w postaci Komenda|Argument, po jednej na linie.
Dostepne komendy to:
  SayIt|tekst   Powiedz tekst
  Stop          Przestan mowic
  IsSpeaking    Sprawdz, czy teraz mowi
  Spd|liczba    Ustaw predkosc mowienia (zakres od -10 do 10)
  Vol|liczba    Ustaw glosnosc mowienia (zakres od 0 do 100)
  Default       Ustaw domyslne parametry mˇwienia
  Close         Zamknij polaczenie
  Version       Pokaz wersje programu
  Help, ?       Wyswietl pomoc

Na komendy padaja nastepujace odpowiedzi:
  OK    Komenda wykonana poprawnie
  ERR   Blad w wykonywaniu komendy
  RANGE Brak wymaganego argumentu lub argument poza zakresem
  YES   Odpowiedz "tak" -- na komende IsSpeaking
  NO    Odpowiedz "nie" -- na komende IsSpeaking
  UNK   Nieznana komenda
ENDHELP


Prosiłbym o dodanie możliwości wyboru głosu/lektora (Jacek/Ewa)...

...pod kątem wykorzystania tego do czytania na dwa głosy (np. wywiadów, cytatów, etc..)

Dla uściślenia - nie chodzi o wybór dowolnego głosu w systeie - tylko IVO!. Mogą być to więc predefiniowane komendy (bezparametrowe), np.

Kod:
  Jacek         Ustaw głos JACEK jako bieżący (o ile jest zainstalowany)
  Ewa           Ustaw głos EWA jako bieżący (o ile jest zainstalowany)

Z góry dziękuję Smile
Powrót do góry
Ogląda profil użytkownika Wyślij prywatną wiadomość
Ranthar
[składa zdania]
[składa zdania]


Dołączył: 19 Wrz 2008
Posty: 83
Skąd: Kraków

Post Wysłany: 2009-08-07 18:31    Temat postu: Odpowiedz z cytatem

Jako ciekawostkę można potraktować to, że przez socket można łatwo wykorzystać Expressivo do amatorskich gierek w The Games Factory 2.

Plan minimum:
1. Tworzymy objekt MooSock (Insert->Object->Network->MooSock) i umieszczamy na obszarze roboczym.
2. Tworzymy przyciski, np. Text Push Button, jeden do łączenia z Expressivo, drugi do odczytu tekstu, trzeci do zatrzymania czytania.
3. Tworzymy 4 obiekty Edit Box (Insert->Object->Interface->Edit Box), jeden do podania numeru portu, drugi do głośności, trzeci do prędkości, czwarty do podawania tekstu do przeczytania (w jego Properties, na zakładce Settings zaznaczamy opcję Multiline i Vertical Scroll Bar).
4. Przechodzimy do Event Editor.
5. Tworzymy event dla pierwszego przycisku (Is Clicked?), jako efekt dając objektowi MooSock polecenie Connect i wpisując "127.0.0.1" a w następnym oknie wybierając 'Retrieve data from an object' i w oknie New Expression wybierając objekt Edit Box, gdzie ma być numer portu (wybieramy Get text).
6. Tworzymy event dla przycisku uruchamiającego odczyt: gdy zostanie kliknięty, objekt MooSock ma wykonać 6 czynności: 1. Polecenie 'Send Text' i "Spd|" 2. Polecenie 'Send Text Line' i 'Retrieve data from an object', wskazujemy w oknie 'New expression' Edit Box gdzie podaje się szybkość. 3. Polecenie 'Send Text' i "Vol|" 4. Polecenie 'Send Text Line' i 'Retrieve data from an object', wskazujemy w oknie 'New expression' Edit Box gdzie podaje się głośność. 5. Polecenie 'Send Text' i "sayit|" 6. Polecenie 'Send Text Line' i 'Retrieve data from an object', wskazujemy Edit Box gdzie ma być tekst do odczytania (Get text).
7. I na koniec potrzeba dać event przyciskowi do zatrzymania czytania, przy jego kliknięciu objekt MooSock ma wysłać ('Send Text Line') polecenie "Stop".

Po uruchomieniu tego czegoś wystarczy wpisać nr portu (domyślnie 17024, można zakodować na stałe i będzie spokój np. w grze), połączyć program, wpisać jakiś tekst i zobaczyć, że The Games Factory 2 może być fajne;)
Powrót do góry
Ogląda profil użytkownika Wyślij prywatną wiadomość
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum » Strefa dla programistów
Strona 1 z 1

 
Skocz do: