[mary-users] Mary and Flex, commit input w/o Socket shutdown

René Bühling buehling at informatik.uni-augsburg.de
Wed Dec 9 14:56:08 CET 2009


Hello Marc,

thank you very much for your valuable hint which lead me to a working 
version.

Indeed it is now working with MARY 4 via a HTTP connection. Would that 
HTTP communication have worked with Mary 3.6 too? I could reach the 3.6 
server via http but I did not manage to send the arguments, it always 
says "Error parsing request: Expected either a line MARY IN=<INPUTTYPE> 
OUT=<OUTPUTTYPE> [AUDIO=<AUDIOTYPE>] or a line containing only a number 
identifying a request."

Anyway, I feel that I would prefer the version 4, but the major problem 
is currently that Mary 4 seems no longer to be able to produce MP3s. 
Flash on the other hand is not able to play WAVs. I found workaround 
ActionScript classes which manage to play the WAV received from Mary at 
all, but there is something wrong with the playback speed or else. The 
received audio clip is played extremely slow. Has the MP3 support gone 
or will it reappear in a future realease of Mary? Or can it even be 
reactivated via config?

Thanks,
René



Marc Schroeder schrieb:
> Hello Rene,
>
> have you considered using the HTTP server which is the default 
> configuration with MARY 4.0 beta? I guess that it is easier from Flex 
> to establish an http connection than to juggle with two socket 
> connections...
>
> Regards,
> Marc
>
> René Bühling schrieb:
>> Dear all,
>>
>> I am trying to use the Mary TTS with an Adobe Air/Flex application 
>> and I ran into a problem I have no more solution approaches for. 
>> Maybe anyone here has an idea?
>>
>> I wrote a Flex/ActionScript 3 application and connected to Mary 
>> successfully through the default flash.net.Socket class. I works fine 
>> to the point where I want to have a sentence verbalized: I send the 
>> text "Hello World \n" via the data socket, but nothing happens. I 
>> found out, that Mary starts execution when I close my data socket, 
>> not earlier. This leads to the situation that the result can not be 
>> sent back, because the socket is closed of course.
>>
>> It seems that the flash.net.Socket does not have any pendant to the 
>> shutdown method that exists in most other languages' Socket 
>> implementations. Therefore I can not explicitly stop the writing 
>> channel. According to Adobe's documentation I guess that flush() is 
>> meant to do the job, but I think this is not the same as shutdown and 
>> it also does not work here.
>>
>> Is there any possibility to signal Mary that the submitted data is 
>> complete other than shutdown-ing the write socket?
>> Or does anybody have experience connecting Mary to Flash?
>>
>> Thanks and kind regards,
>> René
>>
>

-- 
MSc MA René Bühling

UNIVERSITY of AUGSBURG
Multimedia Concepts and Applications
Faculty of Applied Computer Science
Universitätsstr. 6a / Room 2039
86159 Augsburg, Germany

Phone: +49 821 598 2346
Fax:   +49 821 598 2349
http://www.interactive-multimedia.de



More information about the Mary-users mailing list