Starpery.com

Update on Maria scripting language

Got an idea? Need an invention?
User avatar
xxxtoytech
Active Poster
Active Poster
Posts: 95
Joined: Wed Jan 22, 2003 12:00 am
Location: Canada
Contact:

Post by xxxtoytech »

Hi Downer,
Downer wrote:Parallel port?! Are you kidding me? :(

USB is the only way to go with this. I think it would be detrimental to support an old, less flexible, and generally dying connection standard when a vastly superior standard has already been widely adopted.
I agree with you that the parallel port is obsolete and that the USB is the way to go in the future. The Maria language itself is not tied to one type of interface; which interface is selected depends upon the doll creator. For the initial interpreter, however, I do have several good reasons for selecting the parallel port. I'm using the Java language and it is easier to implement serial and parallel ports. For experimenters (my target group) the parallel port is easy to interface with (I've already published a simple interface unit). To do the same thing with a USB connection requires something like a PIC microcontroller at the hardware end that must be programmed. For experimenters that are hardware oriented this additonal programming task may be more than they feel comfortable with.

I can see USB as being excellent for a modular system, just upgrade your doll by plugging in new hardware. Also, USB can be done wirelessly which is nice. With the intial version of the interpreter I will be supplying Java source code which can be used by developers/creators to create their own interfaces.
Downer wrote: Also, I'm not so sure the object-oriented paradigm is right for this particular application. Have you considered a state-event paradigm for the language?

Further critique pending finished read of spec.
The reason for object-oriented (sort of) approach was that it was easy to model the body (body, systems, organs etc.). I have made several changes and will be using an event type model to handle responses through the doll's "nervous system". I have been reading a bit about state-event programming and may incorporate some of concepts from it in future versions.

I'll be updating the Maria specs soon. Unfortunately finishing the first interpreter is quite a bit more work than I had expected.

xxxtoytech

User avatar
EvilGenius
Contributing Poster
Contributing Poster
Posts: 41
Joined: Sat May 31, 2003 12:00 am
Location: Silicon Valley, CA
Contact:

Post by EvilGenius »

The whole concept of this is pretty cool. I like alot of what I see. It' obvious you have given this alot of thought.

However, I sit in the camp that says there are already too many languages out there. A scripting or programming language cannot stand on it's own these days since the language needs development environments(IDEs) and lots and lots of testing. You'll spend too much of your time supporting the language rather than doing the fun part (testing the hardware).

It seems to me that you would benefit much more by writing your concept up as an API for Java, Python, PHP or some other modern OO programming lanquage. Most newer languages are designed with extensibility in mind and focus on doing the core things very well and very predictable. An API will let you leverage that core of work. APIs are also nice in that you can publish the API and let others create their own implementations on a wide range of systems. Any application developed to your API is likely to run on those other platforms with little or no modification.

As for hardware, there are some great widgets you can buy for robotics. I recently purchased a Serial to Servo contoller from one of the robot catalogs. Cost about $26. All I had to do was hook it up. I'm writing my code in Java. Once I got past the initial learning curve of how to talk to the serial port, I was off and running.

User avatar
proai
Apprentice
Apprentice
Posts: 19
Joined: Sun Feb 16, 2003 12:00 am
Location: Ohio
Contact:

Post by proai »

I checked out the web site pretty cool stuff. Don't know how far you are on the formal spec or actual coding but wondering if I can help. I run proai.net; it is devoted to expert system and other forms of AI. If your language is XML or lisp my current system could process it very easily with an extension module.
I work mostly in .Net. I have ported seveal mainstream AI systems to .net, mainly: Clips, OpenCyc, Link Grammar, and Soar. I also have my own custom expert which includes an AIMl intepreter via an extension module.
If you are interested in my help let me know and I can go over in greater detail what I have and how I think I can help.

User avatar
timetraveler1
Doll Visionary
Doll Visionary
Posts: 12336
Joined: Tue Apr 13, 2004 12:00 am
Location: u.s.a.
Contact:

scripting dolls

Post by timetraveler1 »

maybe theirs an advantage of your type of doll learning , i know in the zabaware forum on a.i. ultra hal , etc. one guy has already wrote an emotion brain (works with 6.0 hal) and all anyone has to do is download the brain ( also you can script write in things and create your own brain and of course the ultra hal also learns as it is a a.i. system . i will be using , my wireless speaker and mic with the a.i. system in my doll and also with voice recognition , i talk to the doll it answers back , carries on a conversation and over time learns more , gets to know you , etc. :) i have already yested it with the speakers and mic , out of the doll so i know it will work with it in the doll. :)

User avatar
xxxtoytech
Active Poster
Active Poster
Posts: 95
Joined: Wed Jan 22, 2003 12:00 am
Location: Canada
Contact:

Post by xxxtoytech »

Hi all,
Still working on the language, I've got it coded into an antlr (lexer/parser) file and am working on the intial tree walker which checks for errors such as undeclared variables etc. Although I've hand-coded interpreters before (C and Java) this is the first time I've used a compiler tool.

The language has been changed slightly due to suggestions I've received from people and I hope to be posting a new description to the website within a couple of weeks. I've also set aside some time during the holidays to try and work through some of the details and get up a working interpreter early in the new year.

I had though about writing the language as an extension to an existing language. My primary reason for not doing so is that existing languages have a lot of extra baggage which might discourage non-programmers from attempting to program. Many languages (Java) must be compiled before being run; I wanted an interpreted environment with a browser sort of feel to it.

I'm also going to try to incorporate a voice recognition system and text-to-speech system (both are existing open source and written in Java) along with the AIML engine. I'm considering having this work over a network so that the various engines can easily run on separate processors

I will need some help with other interfaces (USB, serial) along with code for microprocessors that will connect to the USB or serial port and actually control the android/doll. Also a "virtual android" that can show the user how a script works might be nice.

My two sites:
http://mariascript.tripod.com/
http://ca.geocities.com/xxxtoytech/ (sometimes unavailable due to high traffic)

xxxtoytech

User avatar
Everhard
~ Member ~
~ Member ~
Posts: 6115
Joined: Thu Jul 19, 2001 12:00 am
Location: Stepford-on-Sea, England

Post by Everhard »

xxxtoytech wrote:My original idea behind the language was to produce a library as an add-on to an existing language. However, this is complicated for the end user and is not as portable as a free-standing language.
Hmmm. I too err on the side of add-ons because there are so many languages. (I even get confused switching between HTML and BBCode when writing these forum replies!) While writing the code is not a trivial task, in my experience where non-programmers mostly go wrong is in the design of the logic itself. (That applies even to hardware and electronics folk.) I have no idea what the answer to that is, except to tell people to learn programming properly before they do it. Examples of crap logic? The average web site...
xxxtoytech wrote:I've tried to err on the side of being verbose (especially with the logical operators) and spent a lot of time on naming the methods.
:thumbs_up: The programmer interface is so often overlooked. If only more programmers would take seriously the task of naming their methods/sub-programs. (When I come to power, all those C coders who write 'efficient' multiple srtatements all on one line and use incomprehensible short names for things 'because it is quicker to type' will be shot at dawn.) :snipersmile:

Anyway, it is a brave gamble to break the chicken-and-egg problem outlined above. Good on you.
:eggface:
(Although I think that icon is a sausage-and-egg...)

User avatar
dachemist
Contributing Poster
Contributing Poster
Posts: 31
Joined: Sun Feb 11, 2007 12:00 am
Contact:

Post by dachemist »

This Maria language tool is very important, and if it comes to fruition, it could be a very important tool for robotics, not only adult robotics but all of it.

Let me explain why:
nowdays most robotic work (asimo, roomba, packbot, talon and others) must be programmed from scratch for every single type of robot, (diferent sensors, diferent actuators and responses, etc), so if you program a roomba to clean your home and try use the same program on a talon to do latrine duty you are bound to fail, because the talon doesn't has the same layout or actuators than the roomba, now if you use something like Maria, you could say "sweep left untill stop, move forward one, sweep right untill stop", and use that on your roomba, talon, asimo and so on, and require only from a compiler for each robot, (and compilers can be fully automated).

Great idea, I'll pray to the god of robotics so that you are rewarded with success (just pleeease do NOT name your robot Skynet... bad mojo man!)

User avatar
goddesstiffi
Senior Member
Senior Member
Posts: 205
Joined: Tue Jul 01, 2003 12:00 am
Location: virginia
Contact:

Post by goddesstiffi »

:twisted: :evil: :evil: :evil: :evil: This all seems so complicated to me. But it sure is intriguing. Someday i guess you,ll be able to buy on of these units all ready to stick in your doll. How far are we from that. From the aveage consumer like me getting voice robotics?

User avatar
xxxtoytech
Active Poster
Active Poster
Posts: 95
Joined: Wed Jan 22, 2003 12:00 am
Location: Canada
Contact:

Maria language description new update May 2007

Post by xxxtoytech »

Hello all,
I've just posted a new Maria language spec at http://mariascript.tripod.com/resources.html.

A direct link to the PDF file is Maria version 2.01 Language Description. I've added more detailed explainations about the thinking behind the language. A Maria scripting example is available to show how an actual script works.

Let me know what you think by posting to this thread.

I've incorporated many of the suggestions I've received, let me know your thoughts. I'm trying to free up a bit more time to work on the interpreter (using ANTLR and Java to create the interpreter) and hopefully get it finished! If anyone wishes to use the language specification to create their own interpreter, please go right ahead.

You can get info concerning designing and building your own android at my Sensual Android webpage. There are PDFs on both female and male functional sexual anatomy and links to many other resources. There is also a free Java application I've written that can be used to add a voice to your doll (plays sound clips at random) see "A Java Audio Player for your Robot, Android or Love Doll". I also have a fiction/literature page for robot/android enthusiasts at Androids, Golems, Robots and Artificial Life in Science Fiction and Literature.

xxxtoytech

User avatar
Everhard
~ Member ~
~ Member ~
Posts: 6115
Joined: Thu Jul 19, 2001 12:00 am
Location: Stepford-on-Sea, England

Post by Everhard »

In the language specification, xxxtoytech wrote:The method OrgasmicPlatform() is used to indicate the first third of the vagina.
:D
This is a substantial body of work covering programming, sexual biology, electronics, and electro-mechanics. (Well illustrated, too) However, I would guess that learning it and using it to create an andoid/doll is above and beyond what might be achieved on one's weekends and holidays. (I might be wrong. There are some dedicated individuals around.)

The speech technology seems to promise an extra dimension of realism at low cost (in terms of money, time, and effort). I would guess that, as long as the speakers are placed somewhere near the doll, that is good enough. But if you moved the doll to a different room, you would need to move the speakers (with long wires or some sort of wireless receiver) and microphone (if your system also has voice recognition).

(The other thing it needs is for your computer to have a working sound system, which none of my computers have...)

User avatar
xxxtoytech
Active Poster
Active Poster
Posts: 95
Joined: Wed Jan 22, 2003 12:00 am
Location: Canada
Contact:

Post by xxxtoytech »

Everhard wrote:This is a substantial body of work covering programming, sexual biology, electronics, and electro-mechanics. (Well illustrated, too) However, I would guess that learning it and using it to create an andoid/doll is above and beyond what might be achieved on one's weekends and holidays. (I might be wrong. There are some dedicated individuals around.)
Hi Everhard,
I'm hoping that people experienced in programming (one or two languages) will be able to pick up the Maria language in a weekend. I've found I can work with a new language (modifying existing scripts/programs) quite quickly. I hope to have some more sample scripts up in a while. For those that haven't been yet you can get the specs and see a Maria Script example at http://mariascript.tripod.com/resources.html.

Creating images and sound files for use in Maria scripts, as well as tweaking existing scripts will hopefully become a cottage industry.

Creating the androids/dolls is another matter; doing this takes considerable skill and dedication. Part of what I want to do is to create resources for designers/builders to use. Sharing of information through forums like this one is also vital; creators can build on the work of others and not re-invent the wheel. See info on female and male functional sexual anatomy at http://ca.geocities.com/xxxtoytech/sensual.html. You can also find data sheets, circuit diagrams (power supplies, opto isolator and power control schematics) at my website above.

I am hoping that a few individuals will begin to build and sell interfaces for computers and advanced sex toys that make use of the Maria language. If a tipping point can be reached (enough people are using the language) then manufacturers may take over and the market will become self-sustaining.

The text-to-speech output, speech-to-text input and the intellegence engines have been developed by others and are available free-of-charge. My plan is to access them over a local area network (adding network support to the engines). By running them on separate machines it will reduce any excessive loads on the processor. Java is easy to network with. See http://mariascript.tripod.com/links.html for links to these free engines.

Get an audio card! Here is one from Turtle Beach for only $29.95 (and it has surround sound!)

xxxtoytech

User avatar
virtualm
Apprentice
Apprentice
Posts: 10
Joined: Thu Jan 25, 2007 12:00 am
Location: Racoon City
Contact:

Have you looked at USB?

Post by virtualm »

I have been looking for ways to connect a doll to the computer for some time. One of the things I have found is a USB Experimenter's Interface Board from Ramsey electronics Coast $45 bucks. Now understand that I am not smart enough to write a program to make it work, but it looks like you might be able to. It is not Holy $hit expensive and it is easily obtainable. Some of the specs. are 5 digital input channels ,8 digital output channels ,2 analog inputs and outputs ,Diagnostic software & DLL included. This board provides everything needed. All communication routines are contained in a Dynamic Link Library (DLL) that is provided along with Windows based diagnostic software. You can also write custom Windows applications in Delphi Visual Basic, C++, or any other 32-bit Windows development tool that supports calls to a DLL. A variety of inputs and outputs are provided that are controlled and monitored with the diagnostic software.
I have no idea if you would be interested or not but it is an idea. Ramsey has all kinds of cool kits so look around YOU WILL COME UP WITH LOTS OF IDEAS. (ramseyelectronics.com) :idea:

User avatar
casperghostboy
Ex-Member
Posts: 1229
Joined: Sat Jul 23, 2005 12:00 am
Location: Manshank, Virginia

Post by casperghostboy »

You talking about this?

Image

http://www.ramseyelectronics.com/cgi-bi ... &key=K8061

Yeah, I know about it.

I get Ramsey's catalogs all the time (Hey, Doll stuff and Linux are not the only things I'm interested in).

CasperGhostman, Kathryn and Daphne
CasperGhostboy, Daphne and Tiffany

My Doll-Friends: http://www.dollalbum.com/dollgallery/in ... ?cat=10382

The best part of waking up, is Ubuntu in your cup!

User avatar
virtualm
Apprentice
Apprentice
Posts: 10
Joined: Thu Jan 25, 2007 12:00 am
Location: Racoon City
Contact:

That's the one.

Post by virtualm »

That's the more expensive board. For the price I would go with the cheapo, I think it has all the in and out puts you would need for proof of concept.
Damn to be so good look'n and so stupid at the same time! :D Well I guess it's worked for Paris? If I had the brains this is the way I would go.

Something else that looks great but I'm not smart enough to make work.
A stand alone trainable speech recognition circuit that may be interfaced to control just about anything electrical, such as; appliances, robots, test instruments, VCR's TV's, etc. The circuit is trained (programmed) to recognized words you want it to recognize. The HM2007 Speech Recognition Kit $115 bucks from Images SI Inc. (imagesco.com) They also have flex sensors but they want to much for them. You can see the manual for construction on there site as well.And you will be there looking at stuff for a while, lots a neat stuff.

Post Reply

INFORMATIONS