<div dir="ltr"><div dir="ltr">Valerie, those are good links, and I will look at them in more detail.  What strikes me is I want to do my project for deafblind people, using Protactile.  If we can convert SWML to robotic mannequin control (possibly using a robot mannequin and software from <a href="https://www.vcom3d.com/">https://www.vcom3d.com/</a> ) instead of a virtual avatar, that would be extremely cool, then I won't seem so pressured from another dimension.</div><div dir="ltr"><br></div><div>Thanks!</div><div><br></div><div>John</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Aug 14, 2023 at 6:58 PM Valerie Sutton <<a href="mailto:signwriting@mac.com">signwriting@mac.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">SignWriting List<br>
August 14, 2023<br>
<br>
Hello Ronnie, Jonathan and John -<br>
<br>
Thank you for these messages. Regarding SWML - Here are some links:<br>
<br>
SWML<br>
<a href="https://www.signwriting.org/forums/software/archive/softarc15.html" rel="noreferrer" target="_blank">https://www.signwriting.org/forums/software/archive/softarc15.html</a><br>
<br>
SignWriting Markup Language (SWML)<br>
<a href="https://www.signwriting.org/forums/software/swml/" rel="noreferrer" target="_blank">https://www.signwriting.org/forums/software/swml/</a><br>
<br>
WebSign<br>
Sign Language Avatar programmed using SWML<br>
(SignWriting Markup Language)<br>
<a href="https://www.signwriting.org/tunisia/tunisia01.html" rel="noreferrer" target="_blank">https://www.signwriting.org/tunisia/tunisia01.html</a><br>
<br>
Synthesis of Virtual Reality Animations from SWML using MPEG-4 Body Animation Parameters<br>
<a href="https://www.signwriting.org/archive/docs3/sw0205-Sign-Processing-Greece.pdf" rel="noreferrer" target="_blank">https://www.signwriting.org/archive/docs3/sw0205-Sign-Processing-Greece.pdf</a><br>
<br>
Important page SWML<br>
<a href="https://www.signwriting.org/forums/software/swml/swml06.html" rel="noreferrer" target="_blank">https://www.signwriting.org/forums/software/swml/swml06.html</a><br>
<br>
and there are more...<br>
<br>
Val ;-)<br>
<br>
-----------<br>
<br>
> On Aug 14, 2023, at 3:22 PM, John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> wrote:<br>
> <br>
> I'd like to hear more about SWML as I am creating a new streaming format (which is currently unnamed, but a previous version had the extension .rg for route graph, before that I was using serialized Java) for recording and processing Humanoid information from MediaPipe. I'm having trouble with networking using Python, so I haven't done much streaming yet, apparently default sockets on python require many connections, so I might not be able to do streaming unless I find a better socket library. I've tried turning off my firewall, added exclusions to antivirus, and used a virtual environment that was excluded from antivirus.  I get like a page or two of data in the terminal on the server log, and I get: "ConnectionAbortedError: [WinError 10053] An established connection was aborted by the software in your host machine."  I'm on Windows 10.<br>
> <br>
> My format approach is to do something like BVH (Biovision Hierarchy), but a graph instead of a hierarchy (with From/To links for bones between two joints), but I think I will be able to remove things from the "skeleton graph," which is an important feature of my streaming format.   I'm streaming with python that generates data from Google MediaPipe's Holistic.  I haven't moved on from this to the MediaPipe's new tasks structure, but I might if I can get x,y,z coordinates, even if I can't see the skeleton on the video.  At least I'll have video (with opencv).  But I'm moving away from Python, probably to JavaScript.  I don't see Java being taken seriously by MediaPipe. Android/Kotlin, yes--I guess I could learn Kotlin.<br>
> <br>
> I would like to prove a client/server approach so I can separate the skeleton geometry stream generation from the rest of the system.  I realize that saving the stream to a file is an important first step, but if I can't get networking working on my local system, I might use bash piping to go from one tool to the next, or save to a file (yuck!). Using a pipe is more private, but fewer features than networking.<br>
> <br>
> Here's a Python program loop that has multiple connections (couldn't do one), that actually *doesn't* work, Apparently, one's data needs to be extremely short. It varies between the last string being "CHICKEN," "CROW," and "EOF."  I guess it's time to do the stackoverflow thing, if not Copilot.<br>
> <br>
> import socket<br>
> <br>
> <br>
> sock = None<br>
> <br>
> def msgSend(sock, data):<br>
>     if data:<br>
>         sock.send((data).encode())<br>
> <br>
> def socketCreate():<br>
>     HOST, PORT = "localhost", 3000<br>
>     sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM);<br>
>     sock.connect((HOST, PORT))<br>
>     return sock<br>
> <br>
> <br>
> # Create a socket (SOCK_STREAM means a TCP socket)<br>
> if __name__ == '__main__':<br>
>     for i in range(1,2001):<br>
>         print(f"Connection {i}:");<br>
>         sock = socketCreate()<br>
>         msgSend(sock, "DUCK\n")<br>
>         msgSend(sock, "GOOSE\n")<br>
>         msgSend(sock, "RAVEN\n")<br>
>         msgSend(sock, "EAGLE\n")<br>
>         msgSend(sock, "CHICKEN\n")<br>
>         msgSend(sock, "CROW\n")<br>
>         sock.sendall("EOF\n".encode())<br>
>         sock.shutdown(socket.SHUT_RDWR)<br>
>         sock.close()<br>
> _______________________________________________<br>
> Sw-l mailing list<br>
> <a href="mailto:Sw-l@listserv.linguistlist.org" target="_blank">Sw-l@listserv.linguistlist.org</a><br>
> <a href="https://listserv.linguistlist.org/cgi-bin/mailman/listinfo/sw-l" rel="noreferrer" target="_blank">https://listserv.linguistlist.org/cgi-bin/mailman/listinfo/sw-l</a><br>
<br>
</blockquote></div>