Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Cefwyn

Pages: [1]
1
General Discussion / No love for the penguin?
« on: March 28, 2009, 10:40:40 am »
I spent most of yesterday procrastinating finishing up some deferred shading examples and so I ended up reinstalling Ubuntu Linux on one of my spare hard-drives to play with the beta version of the distro and mess about with the recently stable ext4 file-system (as you may have already guessed I'm a complete power-nerd when it comes to computers). Unfortunately I was unable to get Ultra Hal to run under wine no matter what hacks I did as even though the Haptek SAPI configuration works fine for SAPI4 voices, the Haptek player itself failed to run with an obscure error that basically means there's just no chance of running it because of whatever obscure COM functions they chose to use will probably never be implemented and don't even have a stub implementation. Ultra Hal itself failed to run with a whole bunch of stub errors which suggests that eventually Ultra Hal may run under wine, but it will probably never run perfectly as any functionality it gets from the Haptek player won't work.

Anyways, to make a long story short this got me thinking of starting work on a program similar to Hal just for penguin lovers. Rather then a small program that starts up though, I was thinking a full desktop manager or at least a applet/module to an existing one. This way a person could have Hal's antarctic alter-ego sitting on the desktop in form of either a full-screen 3D head or body in place of where a wallpaper would be and a split terminal to type messages and command to it sitting somewhere on the screen. I've never liked the idea of start menus and icons all that much as it usually takes less time to type a run command into BASH then it does to look through a start menu to find what you want, so this sort of thing would really make an ideal desktop environment for me. Linux also lends itself rather well to an AI driven system as nearly any action you could imagine doing on the computer has a command-line program dedicated to just that task. Having an AI driven system as opposed to just using a minimalistic window manager and a terminal also has the benefit of the AI performing extended operations that require other operations to complete first (ie. a command like "Play all songs by Zakk Wylde" could either be performed from a database and looking for songs with the author Zakk Wylde, or it could be performed by doing a file-system scan of your hard-drive, opening all music files to read the ID3 tags, and then playing it or queuing it if it's by that author. The first method would certainly be faster, but you should get the picture of what I mean by more complicated tasks then could be usually performed by a single command). Obviously this is a fairly crazy idea, but its certainly doable, and if the AI scripting was done using lua, python, perl, java, or even C#, the AI could easily be improved to not only better control your system with ease, but also learn from conversations just as hal does. For admins this could also be a perfect tool as there are always thousands of small tasks that have to be regularly performed which are often times too complex for a cron job but an AI that could handle the sequence of commands could easily perform for you, though obviously if you are wanting to leave you entire system fully in the hands of an AI, you probably want to be sure that system isn't controlling anything vital, can be unplugged if it tries to take over the world, and most of all will ask for feedback if one of its tasks does something it hasn't been set up to handle perfectly.

This is no way a weekend project and could easily take years to complete, but I'm just putting it out there to see what you all think of it. For TTS functionality festival works great and provides a library to integrate it into any application, but unfortunately Voice Recognition are still in early days for the penguin, unless some university or business already has some proprietary system that they are keeping secret, so not much chance of being able to talk directly to your computer yet.

Some (or many) people may consider this more work then it's worth and that most of the functionality could already be done in BASH, but I think integrating something like this into a desktop environment would work well as it would allow it to receive feedback from other applications using the standard X11 events, and then this could be expanded further using D-BUS to communicate directly with applications that support it. I could do all the necessary Xlib programming, database programming, and binding to a script language, but I wouldn't really trust any AI I designed and programmed from the ground up to be all that efficient. Anyone think this idea is interesting? Anyone experienced with inter-process communication on a Unix based system? If anyone really likes this idea and wants to work on it feel free to e-mail me, but even though I'm definitely going to work on this, it will be a few months before I've got time that I can really get much done towards it, and it could be much longer before any real AI work gets done since there has to be a language to script it in first. As of now I'm just trying to decide on all the dependencies a system like this would be likely to have (ie. Xlib, DBUS, SQLite or MySQL).

If you've actually managed to read this rant this far and don't understand all my references to penguins then you obviously don't know Linux as the penguin is Linux's mascot.[:D] Even if you aren't a Linux person though you can still help with feedback about AI design issues or whatever else that applies.

2
Ultra Hal 7.0 / Trouble altering haptek avatar in hal
« on: March 25, 2009, 03:54:31 pm »
I've been trying to change the appearance of the Sandy haptek avatar but I can't seem to get any of my changes to stick. I'm using this plugin to load the changes:
Code: [Select]
Rem Type=Plugin
Rem Name=DawnAvatar
Rem Author=
Rem Host=All

'------------------------------------------------------------------
'This sub setups the plug-ins option panel in Hal's options dialog
'------------------------------------------------------------------

Sub OptionsPanel()
lblPlugin(0).Caption = ""
lblPlugin(0).Move 120, 10, 3300, 1000
lblPlugin(0).WordWrap = True
lblPlugin(0).Visible = True
End Sub

Rem PLUGIN: SCRIPT_LOAD
HalMenu.HalCommand "<HAPFILE>Dawn.hap</HAPFILE>"
from a file containing this:
Code: [Select]
delperson[figure= stars]
load [file= Characters/Dawn/eyelashes.htr]

I was originally loading a different hair mesh but I removed those commands because for some reason it was loading both the original hair and the new hair on top of each other and it seems to be ignoring the delperson command as currently the eyelashes mesh is loading correctly but those horrible earrings just won't go away! Is there perhaps a better way to make the changes I want, or is something wrong in my files that I'm not seeing?

3
Ultra Hal 7.0 / IRC hal chaos
« on: March 24, 2009, 07:22:36 pm »
Has anyone ever thought about using their hal on an IRC channel? I was just thinking that it would be interesting to get a bunch of hals onto an IRC channel talking to each other and see what sort of chaos comes out of it. I've seen code snippets somewhere around here demonstrating how to send messages to hal from another program using visual basic, and it probably wouldn't be that hard to feed messages from an IRC channel to your hal. Just random musings on my part as I don't know if anyone here uses IRC.

4
Anyone know where the response string is stored when you tell hall to run a program? The only reference I can find to it is in the halCommands table which simply checks for the words telling hal to call the RUNPROG command, and even in the main brain script itself it doesn't appear to ever tell hal to respond. I either want to remove the response or change it so that it doesn't tag on one of the random responses because I don't like running a program and getting a response like :"I am executing this program for you. Isn't it better to stay open to new ideas?"

5
I just came across the plugin "vrMP3" while checking to see what sort of plugins were already available for Ultra Hal 6, and as it was something I was already planning on doing myself if it didn't exist I've decided to have a go at fixing up vrMP3. I'm not all that familiar with Visual Basic as I tended to use either perl or pascal most of the time when I needed a scripting language, and anymore I only ever get to use C or C++ in my work. The method that the vrMP3 plugin uses to scan the files seems a bit--bad since a large number of files causes the script to get that "This script is taking to long.." popup, which brings me to my main question. Are callbacks supported by Visual Basic? Can Ultra Hal use callbacks if they are supported by the language? The reason I ask this is a much more effective way to handle the scanning would be to have hal initiate the scanning and then carry on with it's normal operations (i.e. conversing or running other things) until the callback returns that the scanning is complete or has failed and then hal says something saying that it's ready to start playing music. For most this is probably not really a problem, but I've actually got over 100GB of music, and having a program freeze while a script runs is never a good way to program something if it can be avoided.

EDIT: just realized another reason that this would be important. To expand the script to do something like "Play the song FOO by BAR" to allow you to select a song by a specific band instead of covers or other songs by the same name would require reading the ID3 tag into the database instead of just the file name which means even longer time to read each file.

6
Ultra Hal 7.0 / AT&T Natural Voices pronunciations
« on: March 20, 2009, 04:33:08 pm »
I just started trying out Ultra Hal Assistant today and I must say it's a very intriguing application. One thing that I am having trouble with however is the pronunciations of words using the AT&T Natural Voices. These voices don't appear to fully integrate into Hal as the "pronounciation" button in the Speech settings does nothing and there appears to be no way to load custom .dict files created with AT&T's WinDictEdit application. The reason this is important to me is that even though the Natural Voices TTS engine translates abbreviations like "Dr." to it's full word "doctor", when used in Hal this does not happen and Dr. is pronounced as either "drrr" or "D R". I have tried loading my custom .dict file into AT&Ts TTS engine directly with it's configuration file and it appeared to work for a while, but the pronunciation of the words set in my custom .dict file remained inconsistent as sometimes it would pronounce it correctly and other times not. Is there any way of fixing this or must I replace the words in the brain to be replaced automatically with however it should be pronounced?

Pages: [1]