Project jaNET provides a framework that allows various components to communicate, controlled interactively by the user. This procedure aim to act like a digital life assistant (DLA) and it's inspired by Iron Man's JARVIS.

Project jaNET provides a framework that allows various components to communicate, controlled interactively by the user. This procedure aim to act like a digital life assistant (DLA) and it's inspired by Iron Man's JARVIS.

Revision as of 14:08, 9 March 2014

Project jaNET provides a framework that allows various components to communicate, controlled interactively by the user. This procedure aim to act like a digital life assistant (DLA) and it's inspired by Iron Man's JARVIS.

The virtual she-butler comes to life through project jaNET, a platform ready to host multiple creative and innovative pieces of code concerning domestic everyday tasks.

jaNET provides a built in framework to fulfil most of our daily information manners (like e-mail notification, weather conditions etc) but it can also be extend by wrapping 3rd party applications, processes or scripts in order to become a more flexible and smart system!

You need to edit /usr/share/festival/voices.scm and add cmu_us_slt_arctic_clunits to the default list on the top.

Test this by: (You should hear a female voice)

$ echo "Hello world." | festival --tts

Simon configuration

Open Simon program and go to Settings > Configure Simon > Model Settings and choose Static Model and load the HMM definition, Tiedlist, Macros and Stats. Those models can be found here.

Then go to Vocabulary and import a Shadow Vocabulary using dictionary type HTK Lexicon and import the VoxForgeDict from the HTK Accoustic Model we previously downloaded.

We also need jaNET scenarios, so in Simon go to Manage Scenarios > Import/Download search for jaNET and Install. Then click Commands tab and select Program > Janet > Edit and change jaNET's path with /usr/local/bin/janet.

Note: You should perhaps change also the gnome-terminal string since you may not have it installed, to use a terminal installed (e.g. xterm -e).

Those scencarios did not work for me however, so I have uploaded a working copy of the scenarios for jaNET with this configuration used here.

jaNET configuration

The main file used to configure jaNET is /usr/share/janet/AppConfig.xml.

Configuring alerts

In {{ic|AppConfig.xml in the Settings Sub-Tree:
Settings > Alerts sets the email, and sms alerts that jaNET will send.

Configuring Bluetooth device

See Bluetooth in order to set up your bluetooth device. You will need the MAC address:

Configuring weather updates

In AppConfig.xml in the Settings sub-tree:

Settings > Other > YahooForecastFeed

Go to http://weather.yahoo.com/ and enter your city/zip code. Click on the RSS feed and copy this link. Replace the YahooForecastFeed with this and update the InstructionSets that relate to weather with the appropriate city name.

Creating your own commands

Creating new commands for jaNET is easy! In order to configure simon you will need htk installed and using the adapted base model from definitions earlier used.

Note:

I have not been able to compile htk on x86_64 yet.

I have successfully compile htk on x86_64 with gcc-multilib.

jaNET allows you to run external commands and use the output in it's replies! A walk-through of creating a package updates command.

Number of Arch package updates

You should have a /usr/share/festival/scripts directory now. If not, create it.

First we need pacman to update its cache every so often so we can find new updates. Create /etc/cron.hourly/pacmanupdate and place this inside:

pacman -Syy

Next we need to create the script for jaNET to use. Create /usr/share/janet/archlinux_updates.sh with the following:

#!/bin/bash
echo "$(pacman -Qu

Now all we need to do is add the new InstructionSets so that we can use this with jaNET! Edit your AppConfig.xml and add the following within the Instructions Sub-Tree.