-
Notifications
You must be signed in to change notification settings - Fork 14
Installation
The official documentation has been moved to http://wiki.sarah.encausse.net/
.
.
.
.
.
.
.
.
Here is a video tutorial about getting started SARAH.
This is for SARAH v3... for SARAH v4 everything is not documented yet, but it should be quite similar, and you can find a few more things for the version 4 in the below "SARAH v4" section.
-
Install .Net 4.5 Framework
-
Download and Unzip SARAH
➔ When you'll unzip the SARAH package, you have to make sure to not have any space in the path. For example you can unzip toC:\SARAH\
but not toC:\Path with space\SARAH\
-
(optional) Install a TTS Voice or use Windows 8 voice
➔ For French users, the Virginie voice is very good.
➔ If you have issues with the voices, please see Voice TTS -
(optional) Edit the
config.ini
file to define your own settings -
(optional) Go to the
profile/
folder and delete the fileprofile.json
otherwise SARAH will sometimes call you Jean-Philippe ! -
(optional) If you have a Kinect, please refer to the related section in order to install all the things you'll need to make it work.
-
Run the server: double-click the file called
Server_NodeJS.cmd
➔ a MS-DOS window will open and you can open http://127.0.0.1:8080 into your Web browser to check the web interface -
Run the client - several options:
➔ When the client is loaded you'll see a small house icon close to the clock.
- Microphone: double-click the file called
Client_Microphone.cmd
; - Kinect (audio only): double-click the file called
Client_Kinect_Audio.cmd
; - Kinect (all features): double-click the file called
Client_Kinect
.
You'll need this Google API Key for several plugins.
Here are the steps to get this API key (instructions from http://www.chromium.org/developers/how-tos/api-keys)
- Make sure you are a member of [email protected] (you can just subscribe to chromium-dev and choose not to receive mail).
- Go to https://cloud.google.com/console and click on Create project
- Leave the default settings and check the "I have read..." box
- Wait a moment for the project to be created
- When it's done you have access to your Project Dashboard.
- Click on the "Enable an API" button
- Now switch on the API you need (This list might be out of date; try searching for APIs starting with "Chrome" or having "for Chrome" in the name.)
- Chrome Remote Desktop API
- Chrome Spelling API
- Chrome Suggest API
- Chrome Sync API
- Chrome Translate Element
- Safe Browsing API
- Speech API
- Time Zone API
- Google Cloud Messaging for Chrome
- Google Now For Chrome API (Optional, enabled to show Google Now cards)
- Google+ API
- Then in the left navigation bar, under the APIs & auth title, click on Credentials.
- Click on the button called "Create New Client ID":
- You want "Installed Application" for the Application type section
- You want "Other" for the Installed application type section
- A box appeared called "Client ID for native application" with Client ID, Client Secret and REDIRECT URIS
- Now click on the "Create New Key" button in the "Public API Access" section:
- Choose "Browser key"
- Leave blank and click the "Create" button
- You should now see "Key for browser applications" with the “API key”.
- Copy the "API Key"
- Edit the
custom.ini
file of SARAH and enter this API Key for (remove the;
beforegoogle=
) :
; Google Speech Key API see https://console.developers.google.com/ (see README)
google=YOUR_API_KEY
Note: the keys you have now acquired are not for distribution purposes and must not be shared with other users.
The Kinect is provided with the Xbox 360 or can be bought separately. This device is very powerful and much better than a regular microphone. If you buy one, then make sure it comes with the USB cable/adaptator to plug it to your Windows computer.
If you use a Kinect you'll need to download and install Kinect SDK v1.8 and the related "Language Pack" (make sure you use the correct language, for example for French you need to choose "FR-fr")
Some notes regarding the Kinect installation:
- Don't use USB 3 because the microphone won't work;
- If you use several Kinects and you want to use the video, then you have to use two different USB bus, otherwise only one video will work due to a bandwidth issue (so if you only use the audio, then you can share the same USB).
If you use the second generation of Kinect you'll have to install the Kinect SDK v2 as well as the language packs v2.
The configuration is now modular. So the different configurations for SARAH can be found in the AddOns
folder. There you'll find all the different modules, like the configuration for the Kinect v1. If you want to change a parameter you need to copy the parameter from the addon.ini
fril to the custom.ini
file.
For example, if you want to change the previously called ctxTimeout
value, just look at the file AddOns/speech/addon.ini
and find the section related to the timeout, then copy the parameter from addon.ini
file to the custom.ini
file to overwrite the value:
[speech]
; All context will reset after 30000ms
timeout=600000
Logs are written in daily files bin/date-*.log
. Because DropBox take 15% CPU while syncing the log path can be commented when everythings works.
; Log file path (default "${basedir}/${shortdate}.log")
logfile=${basedir}/${shortdate}.log
You can debug SARAH using the Log2Console
. To open it, right click on the house icon available close to the Windows clock.
Log2Console
You'll need to configure Log2Console. After opening it:
- Click on
Receivers...
in the top toolbar of the program; - In the popup, click on
Add...
and choose "UDP (ipv4 and ipv6)"; - In the configuration part of the window, define the "UDP Port Number" to 9999;
- Leave the "Use IPv6 Addresses" with the default value;
- Click OK.
Now you can ask something to SARAH and see some debug data into the Log2Console window.
If it doesn't work you can try two things:
- Go to your installation folder of SARAH and find the
log2console
folder: then open thelog2console.exe
file with the administrator rights. To do so, just right click the file and choose "Run as Administrator"; - Or you can also try to change the "Use IPv6 Addresses" to true or false in the Receivers configuration (step #4).
If you want to udpate SARAH to a newer version you need to follow the below steps:
- Backup (rename) current install
- Download and unzip the new version
- Copy the below files/folders from your previous install to the new one:
-
custom.prop
: it's the server configuration -
custom.ini
: it's the client configuration (make sure that nothing has been added in the newcustom.ini
) -
plugins/*
: it's all your plugins -
profile\profile.json
: contains data about current speakers -
profile\faces
: contains recorded faces
Newer version of SARAH can change structure of config files. Check documentation and release notes.
- Rule n°1: Don't assume it, Prove it
- Rule n°2: When in doubt, Reboot
- Rule n°3: It's OpenSource so read the code
Feel free to fill your configuration in this googledocs and check others issues:
- Try on clean install
- Without plugins
- Client: bin/{date}.log
- It should say "Using Kinect Sensor" for Kinect
- Server: script/wsrnode.log
- SARAH is setup for CultureInfo fr-FR and require
- a French Operating System
- with Kinect language Pack
- For other languages:
- Update custom.ini
- Update XML Grammar
- Check available record device
- Uninstall / Reinstall Kinect drivers (for issues with 2 Kinect)
- Set your record device as default input device
- The native windows speech recognition toolbar must not be started
Some Hardware/Software sound card driver switch to exlusive mode and messed up with SARAH (Can occure after a first sound played by XBMC).
- Uninstall Logitech Webcam driver that can conflict
- Issues with ASUS D2X windows 8 drivers
- Issues with EEEBbox B202.
Sometimes there is hardware conflict between USB ! Try multiple connector.
Try to run demo and samples provided by Kinect Developer Toolkit
- Check Windows Driver
- Check the green dot AND the power cable
Press CTRL+SHIFT+ESC to see running process to kill.
Here is a list of port used by SARAH:
Port | Description | Configuration |
---|---|---|
8080 | NodeJS Server | custom.ini, custom.prop |
8888 | C# Client | custom.ini, custom.prop |
7887 | RTPServer | custom.ini |
7777 | Websocket | custom.ini |
9999 | Log2Console |
- Do not scream
- Do not wait: "SARAH ...... what time is it"
- Kinect v1 is bad with hi voices (children, women, ...)
- Some voices like KobaSpeech crash SARAH on first TTS.
Go to Google+ commmunity to ask for help. Remember to specify:
- That you read this page
- The Operating System: Windows 7 or Windows 8
- The version: 32bit or 64bit, French, ...
- The device: Kinect or Microphone (not the same API)
1) Register on chromium Google Group :
- Make sure you are a member of [email protected] (you can just subscribe to chromium-dev and choose to not receive e-mails). For convenience, the APIs below are only visible to people subscribed to that group: https://groups.google.com/a/chromium.org/forum/?fromgroups#!forum/chromium-dev
- Click on « Join the group to send a message »
- Choose « Do not send updates by email »
- Click on « Join the group »
2) Create a console app on Google
- Go to https://cloud.google.com/console
- Click on « Create Project »
- Give it a name
- Accept the Terms of Use
- Click on « Create » button
3) Activation Speech API
- Go to « APIs & Auth > APIs » in the left navigation menu
- In Browse API search for « Speech API »
- Click on « Speech API »
- Activate the key
- Accept the terms of use
5) Creating your key « Speech API »
- Go to « APIs & Auth > Credentials » in the left navigation menu
- Click on the « Create New Key » button
- Click on « Browser key » button
- Click on « Create » button
- Your API key:
6) SARAH integration
- Open the SARAH configuration file (« custom.ini ») located in the root dir of SARAH
- Search for the line
Google Speech Key API see https://console.developers.google.com/
- Change the line
;google=
:- remove the
;
- add your API key just after the
=
- remove the
- Save the file and restart SARAH