> For the complete documentation index, see [llms.txt](https://docs.parula.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.parula.app/setup/install.md).

# Installation

How to install the developer version of Parula on your Linux PC. (A Windows installer and Android version for end-users are planned for the future.)

1. Hardware dependencies
   1. Microphone: You must have a good microphone. Typical computer/notebook microphones are not sufficient.
      * For example, the Sony PlayStation 3 Eye camera or a conference microphone.
   2. Loud speaker, obviously.
   3. Normal desktop CPU.
      * Raspberry Pi 4 is planned.
2. Install OS dependencies
   * Ubuntu, Debian etc.
     * `# apt install yarnpkg mpg123 mpd sox libasound2-dev default-jre-headless default-jdk git`
   * Fedora, RedHat etc.
     1. Install RPM Fusion (for mpd)
        * `# dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm`
     2. `# dnf install mpg123 mpd sox alsa-lib-devel java-1.8.0-openjdk-headless java-1.8.0-openjdk-devel git`
     3. Install Yarn
        1. Complete step 3 below.
        2. `$ npm install -g yarn`
   * Mac
     1. `# brew node yarn sox mpd mpg123 openjdk git`
     2. Skip step 3.
3. Install node.js
   1. Download [node version 14.x](https://nodejs.org/download/release/latest-v14.x/).
      * node version 16 and 18 do not work.
   2. Extract the archive somewhere.
   3. `ln -s`/your/path/to/node/`/usr/local/bin/node`
4. Install MaryTTS
   1. `git clone https://github.com/marytts/marytts/`
   2. Build it with `./gradlew`
   3. Install voices by running\`\`wget ` grep location.*cmu-slt download/marytts-components.xml|sed -e "s|.*href=\"||" -e "s|\".*||"``` ` unzip voice-cmu-slt-5.2.zip `or alternatively starting the UI app`./gradlew runInstallerGui\`
      * en-US `cmu-slt`
      * en-US `cmu-rms`
      * en-GB `dfki-spike`
      * en-GB `dfki-prudence`
   4. Restart the server: `./gradlew run`
   5. Open <http://localhost:59125> in a browser, to check whether the server is running and the voices are listed in the dropdown.
5. Download data files
   1. Download the [Parula app data files](https://parula.app/download/parula-data.tar.bz2)
   2. `cd` to the Parula source directory
   3. `mkdir data`
   4. `cd data/`
   5. `tar xjf /path/to/parula-data.tar.bz2`
   6. `mkdir deepspeech-0.9.3-models`
      * The DeepSpeech model version needs to match the version of DeepSpeech npm module perfectly.
   7. `cd deepspeech-0.9.3-models/`
   8. Download the [DeepSpeech 0.9.3 model file](https://github.com/mozilla/DeepSpeech/releases/download/v0.9.3/deepspeech-0.9.3-models.pbmm) and [DeepSpeech 0.9.3 scorer file](https://github.com/mozilla/DeepSpeech/releases/download/v0.9.3/deepspeech-0.9.3-models.scorer) into this directory.
   9. They are 1.2 GB, so while they download, you can already adjust config.json, see step 6.3. below.
6. Install node packages
   1. `cd` to the Parula source directory
   2. `yarn install`
   3. `cp config-min.json config.json`
   4. Adapt `config.json`
7. Run Parula
   1. `cd` to the Parula source directory
   2. `yarn start`
   3. You should see

      ```
      (...)
      Applications loaded:
        clock: success
      (...)
      Listening to your command...
      ```
   4. Say "Hey Edison, what time is it?"
   5. Find more commands to say by looking at `app/`\*`/intents.en.json`
8. Configure the applications
9. Create your own voice apps :-)
   1. [Implement your voice commands](/develop/app/create-the-stub-files.md) in JavaScript, with the help of npm modules.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.parula.app/setup/install.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
