summaryrefslogtreecommitdiff
path: root/README
blob: 078716778144397f88965ca9b51bbc94c88c1fa9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Info
====
This project leverages the google speech to text api, which returns a 
structure of results ranked by confidence. This JSON structure gets 
passed to a procces.pl which has a long list of regular expressions.

Questions like "How much battery do I have left." will match and evoke 
either tts or other tools to perform the required action. This script is 
very custom and will likely not work completely and should be adapted to 
the user's own system. The conditions and response are easy to modify.

If none of the results returned in the JSON structure match the regex, 
then the most likely input is passed to wolfram alpha api, the output of 
which is returned to the text to speech and and the browser is opened.

How to use
==========
Executing run.sh will start sox which should record voice until there is 
a pause of silence. If sox doesn't detect silence either microphone 
volume is to loud or the constants passed to `rec' need to be increase 
from 1% in run.sh

Example's to ask:

What is your name?
Who created you?
How are you?
Greetings my lovely computer!
Where is Canada?


Dependencies
============
sox - for recording with microphone
festival - for text to speech
cpan JSON::MaybeXS - to parse JSON

Optional
============
cpan Forecast::IO - to get weather forecast
firefox - to open websites
xkvbd - to insert keystrokes
ratpoison - to manage the windows
bash-fuzzy-clock - for the time in words