raspbian_jessie.md 3.5 KB

Kalliope installation on Raspbian

Automated install

Clone the project

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

Run the install script.

./kalliope/install/install_kalliope.sh

Manual install

To make Kalliope work, you will have to install a certain number of libraries:

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

Clone the project

git clone https://github.com/kalliope-project/kalliope.git

Install libs

sudo pip install -r install/files/python_requirements.txt

Raspberry Pi configuration

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

Packages

On a Raspberry Pi, pulseaudio is not installed by default

sudo apt-get install pulseaudio pulseaudio-utils

Start the pulseaudio server

pulseaudio -D

Microphone configuration

Get your output card

aplay -l

Output example with a USB headset connected

**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
  Subdevices: 7/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Headset [Logitech USB Headset], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

Here, we can see that we have

  • the analog audio (where the jack is connected) on the card 0 and device 1
  • usb audio on card 1 and device 1

Get your input (microphone card)

arecord -l

Output example with a USB headset connected

**** List of CAPTURE Hardware Devices ****
card 1: Headset [Logitech USB Headset], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

Here we can see that we have one peripheral on card 1 and device 0

Now, we create a configuration file that will do apply the following configuration:

  • output audio (what Kalliope say) on the analog audio (via speakers connected to the jack)
  • input audio (what we say to Kalliope) on the USB microphone

Create a file in /home/pi/.asoundrc with the content bellow

pcm.!default {
   type asym
   playback.pcm {
     type plug
     slave.pcm "hw:1,0"
   }
   capture.pcm {
     type plug
     slave.pcm "hw:1,0"
   }
}

Where playback.pcm is the output audio and the capture.pcm is the input audio.

Restart alsa to apply changes

sudo /etc/init.d/alsa-utils restart

You can adjust the microphone sensibility by running alsamixer:

alsamixer

And then select your microphone device by pressing F6 and finally move up the mic sensibility level logo

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

HDMI / Analog audio

By default the audio stream will get out by HDMI if something is plugged to this port. Check the official documentation to switch from HDMI to analog.

sudo raspi-config