Skip to content

Commit

Permalink
Merge pull request #128 from kalliope-project/tests_nico
Browse files Browse the repository at this point in the history
some fixes for v0.3
  • Loading branch information
LaMonF committed Dec 8, 2016
2 parents 3650e87 + e420359 commit 189ae76
Show file tree
Hide file tree
Showing 17 changed files with 205 additions and 341 deletions.
17 changes: 9 additions & 8 deletions Docs/brain.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ An output action is

Brain is expressed in YAML format (see YAML Syntax) and has a minimum of syntax, which intentionally tries to not be a programming language or script,
but rather a model of a configuration or a process.
Kalliope will look for the brain in the order bellow:
- From you current folder, E.g `/home/pi/my_kalliope/brain.yml`
- From `/etc/kalliope/brain.yml`
- From the default `brain.yml`. You can take a look into the default [`brain.yml`](../kalliope/brain.yml) file which is located in the root of the project tree.

Let's take a look on a basic synapse in our brain:

Expand All @@ -28,11 +32,7 @@ Let's take a look on a basic synapse in our brain:

Let's break this down in sections so we can understand how the file is built and what each part means.

The file starts with:
```
---
```
This is a requirement for YAML to interpret the file as a proper document.
The file starts with: `---`. This is a requirement for YAML to interpret the file as a proper document.

Items that begin with a ```-``` are considered as list items. Items have the format of ```key: value``` where value can be a simple string or a sequence of other items.

Expand Down Expand Up @@ -95,7 +95,7 @@ neurons:
Note here that parameters are indented with one tabulation bellow the neuron's name (YAML syntax requirement).

In this example, the neuron called "say" will make Kalliope speak out loud the sentence in parameter **message**.
See the complete list of [available neurons](neurons.md) here.
See the complete list of [available neurons](neuron_list.md) here.

## Manage synapses

Expand All @@ -108,15 +108,13 @@ If you want a better visibly, or simply sort your actions in different files, yo

To do that, use the import statement in the entry brain.yml file with the following syntax:
```
---
- includes:
- path/to/sub_brain.yml
- path/to/another_sub_brain.yml
```

E.g:
```
---
- includes:
- brains/rolling_shutter_commands.yml
- brains/find_my_phone.yml
Expand All @@ -133,4 +131,7 @@ You can provide a default synapse in case none of them are matching when an orde
>**Note:** This default synapse is optional.
>**Note:** You need to define it in the settings.yml cf :[Setting](settings.md).
## Next: Start Kalliope
Now you take a look into the [CLI documentation](kalliope_cli.md) to learn how to start kalliope.


121 changes: 121 additions & 0 deletions Docs/installation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
# Kalliope installation

## Prerequisites

Please follow the right link bellow to install requirements depending on your target environment:
- [Raspbian (Raspberry Pi 2 & 3)](installation/raspbian_jessie.md)
- [Ubuntu 14.04/16.04](installation/ubuntu_16.04.md)
- [Debian Jessie](installation/debian_jessie.md)

## Installation

### Method 1 - User install using the PIP package

You can install kalliope on your system by using Pypi:
```
sudo pip install kalliope
```

### Method 2 - Manual setup using sources

Clone the project:
```
git clone https://github.com/kalliope-project/kalliope.git
cd kalliope
```

Install the project:
```
sudo python setup.py install
```

### Method 3 - Developer install using Virtualenv

Install the `python-virtualenv` package:
```
sudo apt-get install python-virtualenv
```

Clone the project:
```
git clone https://github.com/kalliope-project/kalliope.git
cd kalliope
```

Generate a local python environment:
```
virtualenv venv
```

Install the project using the local environment:
```
venv/bin/pip install --editable .
```

### Method 4 - Developer, dependencies install only

Clone the project:
```
git clone https://github.com/kalliope-project/kalliope.git
cd kalliope
```

Install the python dependencies directly:
```
sudo pip install -r install/python_requirements.txt
```

## Test your env

To ensure that you can record your voice, run the following command to capture audio input from your microphone:
```
rec test.wav
```

Press CTRL-C after capturing a sample of your voice.

Then play the recorded audio file
```
mplayer test.wav
```

You can then test that your Kalliope is working by using the "bonjour" order integrated in the [default brain](../kalliope/brain.yml).
Start kalliope:
```
kalliope start
```

Kalliope will load default settings and brain, the output should looks the following
```
Starting event manager
Events loaded
Starting Kalliope
Press Ctrl+C for stopping
Starting REST API Listening port: 5000
```

Then speak the hotwork out loud to wake up Kalliope. By default, the hotwork is "Kalliopé" with the french pronunciation.
If the trigger is successfully raised, you'll see "say something" into the console.
```
2016-12-05 20:54:21,950 :: INFO :: Keyword 1 detected at time: 2016-12-05 20:54:21
Say something!
```

Then you can say "bonjour" and listen the Kalliope response.
```
Say something!
Google Speech Recognition thinks you said Bonjour
Order matched in the brain. Running synapse "say-hello-fr"
Waiting for trigger detection
```

## Get a starter configuration
We create some starter configuration that only need to be downloaded and then started.
Those repositories provide you a basic structure to start playing with kalliope. We recommend you to clone one of them and then go to the next section.

- [French starter config](https://github.com/kalliope-project/kalliope_starter_fr)
- [English starter config](https://github.com/kalliope-project/kalliope_starter_en)


## Next: Create you own bot
If everything is ok, you can start playing with Kalliope. First, take a look to the [default settings](settings.md).
115 changes: 9 additions & 106 deletions Docs/installation/debian_jessie.md
Original file line number Diff line number Diff line change
@@ -1,125 +1,28 @@
# Kalliope installation on Debian Jessie
# Kalliope requirements for Debian Jessie

## Requirements
## Debian packages requirements

### Debian packages requirements

Edit `/etc/apt/sources.list` and check that you have `contrib` and `non-free` and backports archives enabled:
Edit `/etc/apt/sources.list` and check that you have `contrib` and `non-free` are enabled:
```
deb http://httpredir.debian.org/debian jessie main contrib non-free
deb-src http://httpredir.debian.org/debian jessie main contrib non-free
deb http://httpredir.debian.org/debian jessie-backports main contrib non-free
deb-src http://httpredir.debian.org/debian jessie-backports main contrib non-free
```

Install some required system libraries and softwares:

```
sudo apt-get update
sudo apt-get install git python-pip python-dev libsmpeg0 libttspico-utils libsmpeg0 flac dialog libffi-dev libffi-dev libssl-dev portaudio19-dev build-essential libssl-dev libffi-dev sox libatlas3-base mplayer
```

You also need some packages from the backports:

```
sudo apt-get install -t jessie-backports python-setuptools
sudo apt-get install -t jessie-backports python-pyasn1
```

## Installation

### Method 1 - User install using the PIP package

You can install kalliope on your system:
```
sudo pip install kalliope
```

Or just in your user home:
```
pip install --user kalliope
```

Run Kalliope from a shell:
```
kalliope start
```

### Method 2 - Manual user install using the git repository

Clone the project:
```
git clone https://github.com/kalliope-project/kalliope.git
```

Install the project:
```
sudo python setup.py install
```

Run Kalliope from a shell:
```
kalliope start
```

### Method 3 - Developer install using Virtualenv

Install the `python-virtualenv` package:
```
sudo apt-get install python-virtualenv
```

Clone the project:
```
git clone https://github.com/kalliope-project/kalliope.git
cd kalliope
```

Generate a local python environment:
```
virtualenv venv
sudo apt-get install git python-dev libsmpeg0 libttspico-utils libsmpeg0 flac dialog libffi-dev libffi-dev libssl-dev portaudio19-dev build-essential libssl-dev libffi-dev sox libatlas3-base mplayer
```

Install the project using the local environment:
Let's install the last release of python-pip
```
venv/bin/pip install --editable .
```

Run Kalliope from a shell:
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
```
venv/bin/kalliope start
```

### Method 4 - Developer, dependencies install only

Clone the project:
```
git clone https://github.com/kalliope-project/kalliope.git
cd kalliope
```

Install the python dependencies directly:
```
sudo pip install -r install/python_requirements.txt
```

Run Kalliope from a shell directly:
```
python kalliope.py start
```

## Test your env

To ensure that you can record your voice, run the following command to capture audio input from your microphone:
```
rec test.wav
```

Press CTRL-C after capturing a sample of your voice.

Then play the recorded audio file
Then, with pip, the last release of setuptools
```
mplayer test.wav
sudo pip install -U pip setuptools
```

If everything is ok, you can start playing with Kalliope. First, take a look to the [default settings](../settings.md).
54 changes: 8 additions & 46 deletions Docs/installation/raspbian_jessie.md
Original file line number Diff line number Diff line change
@@ -1,57 +1,19 @@
# Kalliope installation on Raspbian
# Kalliope requirements for Raspbian

## Requirements
## Debian packages requirements

### Debian packages requirements

Install some required system libraries and softwares:
Install some required system libraries and software:

```
sudo apt-get update
sudo apt-get install git python-pip python-dev libsmpeg0 libttspico-utils libsmpeg0 flac dialog libffi-dev libffi-dev libssl-dev portaudio19-dev build-essential libssl-dev libffi-dev sox libatlas3-base mplayer
```

## Installation

### Method 1 - User install using the PIP package

You can install kalliope on your system:
```
sudo pip install kalliope
```

Or just in your user home:
```
pip install --user kalliope
```

Run Kalliope:
```
kalliope start
```

### Method 2 - Manual user install using the git repository

Clone the project:
```
git clone https://github.com/kalliope-project/kalliope.git
```

Install the project:
```
sudo python setup.py install
```

Run Kalliope from a shell:
```
kalliope start
```

# Raspberry Pi configuration
## Raspberry Pi configuration

This documentation deals with the special configuration needed for get kalliope working on a RPi.
This part deals with the special configuration needed to get kalliope working on a RPi.

## Packages
### Packages

On a Raspberry Pi, pulseaudio is not installed by default
```
Expand All @@ -63,7 +25,7 @@ Start the pulseaudio server
pulseaudio -D
```

## Microphone configuration
### Microphone configuration

Get your output card
```
Expand Down Expand Up @@ -157,7 +119,7 @@ mplayer test.wav
```


## HDMI / Analog audio
### HDMI / Analog audio

By default the audio stream will get out by HDMI if something is plugged to this port.
Check the [official documentation](https://www.raspberrypi.org/documentation/configuration/audio-config.md) to switch from HDMI to analog.
Expand Down

0 comments on commit 189ae76

Please sign in to comment.