2010-08-11
0.3

&kmyapplication; is the server component of the Simon speech recognition suite.

KDE
kdeutils
Kapp
Simon
recognition
speech
voice
command
control
accessibility
&FDLNotice;
2009-2010
Peter Grasch
Peter
H.
Grasch
peter.grasch@bedahr.org

# The &kmyapplication; Handbook

## Introduction

&kmyapplication; is the server component of the Simon speech recognition suite. It handles the recognition and the model compilation and receives it input from the Simon client(s) which connect to the server using TCP/IP.

For more information please see the Simon manual.

## Using &kmyapplication;

Simond is a command line application which does not have any user interface. There are no special launch parameters.

However, Simond installs a KCM that is listed in KDEs systemsettings and can also be accessed directly using the `kcmshell4`:

- `kcmshell4 simondconfiguration`

Because Simond compiles the speech model (if instructed to do so by the Simon client(s)), the configuration of the speech model compilation is of course also relevant when administrating Simond. You can open it by using `kcmshell4`:

- `kcmshell4 simonmodelcompilationconfig`

When used from within a graphical environment (if you don't know what this is you are most likely using one), it is recommended to use the graphical frontend called `ksimond` which also provides access to the configuration modules through its configuration dialog. See the KSimond manual for details.

### User Configuration

Using the user configuration you can define, edit and remove users and their models from the server.

screenshot of the simond user configuration simond user configuration

simond identifies its connections with a user / password combination which is completely independent from the underlying operating system and its users (which means you have to set up at least one user for simond to use it). Every simon client logs onto the server with a user / password combination which identifies a unique user and thus a unique speech model.

The users are stored in a sqlite database that is managed through the `simonduserconfiguration` KCM.

This database is stored depending on your operating system:

#### simond user database storage

Microsoft Windows | GNU/Linux
--- | ---
`%appdata%\.kde\share\apps\simond\simond.db` | `~/.kde/share/apps/simond/simond.db`

simond does come with a default user so you don't have to add a user before you can connect simon to the simond server.

The default user name is "default" and the password is "nopassword".

The password of the users will be hashed and cannot be shown in cleartext. When a user forgets his or her password there is no way to retrieve the original password from the simond database but you can reset it using the "Change Password" button.

When removing a user from the database which already has a speech model associated with him, you will be prompted if you also want to remove the model. If you select no and add a user with the same name later on, he will start off with this speech model.

When selecting the Keep recognition samples option the samples the recognition works on are not deleted. This means that during normal operation, users will gather everything they say with the most likely transcription returned by &kmyapplication;. This can be used to automatically gather training data while using simon. The samples will be stored in different locations depending on your operation system:

#### simond recognition sample storage

Microsoft Windows | GNU/Linux
--- | ---
`%appdata%\.kde\share\apps\simond\models\(user)\recognitionsamples` | `~/.kde/share/apps/simond/models/(user)/recognitionsamples`

### Network Configuration

Using the network configuration, the user can change the port used by the server and restrict access to a specific IP.

If you don't know what hosts, ports or IPs are it is very likely that the default values are just fine.

screenshot of the simond network configuration simond network configuration

The port can be changed freely. The default of 4444 is however not occupied by any major application or protocol and thus recommended. If you adjust the port here, make sure you also make the necessary adjustments on your simon clients.

Using the option to "Only allow connections from" you can restrict the access to your server from anywhere but the given IP address. By default this is configured to only allow (simon) connections from the local host which only allows for local simon clients to connect to the server.

This is simply a security measure because it effectively blocks connections from anywhere else (even if the attacker knows your simon username and password). To allow connections from other hosts simply uncheck the checkbox.

Protocol encryption is not yet implemented.

### Speech Model Compilation Configuration

simon compiles the speech model by utilizing external software.

While simon will find the needed executables automatically if they are in your systems path, you can also override those automatic values in this configuration page.

screenshot of the speech model compilation configuration simond speech model configuration

## Questions and Answers

In an effort to keep this section always up-to-date it is available at our online wiki.

## Credits and License

&kmyapplication;

Program copyright 2008-2010 Peter Grasch peter.grasch@bedahr.org

Documentation Copyright © 2009-2010 Peter Grasch peter.grasch@bedahr.org

&underFDL;

&underGPL;

## Installation

Please see our wiki for install instructions.

&documentation.index;