<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
  <!ENTITY kmyapplication "<application
>Simon</application
>">
  <!ENTITY kappname "&kmyapplication;">
  <!ENTITY package "kde-module">
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % English "INCLUDE">

]>


<book id="simon" lang="&language;">

<bookinfo>
<title
>Das Handbuch zu &kmyapplication;</title>

<copyright>
<year
>2008-2012</year>
<holder
>Peter Grasch</holder>
</copyright>

<date
>2012-12-14</date>
<releaseinfo
>0.4</releaseinfo>

<legalnotice
>&FDLNotice;</legalnotice>

<authorgroup>
<author
><personname
> <firstname
>Peter</firstname
> <othername
>H.</othername
> <surname
>Grasch</surname
> </personname
> <email
>peter.grasch@bedahr.org</email
> </author>
<othercredit role="translator"
><firstname
>Peter</firstname
><surname
>Grasch</surname
><affiliation
><address
><email
>grasch@simon-listens.org</email
></address
></affiliation
><contrib
>Deutsche Übersetzung</contrib
></othercredit
> 
</authorgroup>

<abstract>
<para
>&kmyapplication; ist eine Open-Source-Spracherkennungslösung. </para>
</abstract>

<keywordset>
<keyword
>KDE</keyword>
<keyword
>kdeutils</keyword>
<keyword
>Kapp</keyword>
<keyword
>Simon</keyword>
<keyword
>Erkennung</keyword>
<keyword
>Sprache</keyword>
<keyword
>Sprecher</keyword>
<keyword
>Befehl</keyword>
<keyword
>Steuerung</keyword>
<keyword
>Szenarien</keyword>
<keyword
>Akustik</keyword>
<keyword
>Zugangshilfe</keyword>
</keywordset>

</bookinfo>

<chapter id="introduction">
<title
>Einführung</title>

<para
>&kmyapplication; ist das Haupt-Bedienungsoberfläche zu der Open-Source-Spracherkennungslösung „Simon“. Es ist ein Simond-Client und bietet eine grafisches Schnittstelle, um das Sprachmodell und die Befehle zu verwalten. Außerdem kann Simon mit einer Vielzahl von Befehlen auf das Erkennungsergebnis reagieren, das das Programm vom Server (Simond) erhält. </para>

<para
>Im Gegensatz zu vorhandener kommerzieller Software bietet Simon einen einzigartigen do-it-yourself Ansatz für Spracherkennung. Statt mit vordefinierten, bereits trainierten Sprachmodellen wird Simon ohne Sprachmodell ausgeliefert. Stattdessen bietet es eine einfache Benutzeroberfläche für Endbenutzer, um das Sprach- und Akustikmodell selbst zu erstellen. </para>

<para
>Zusätzlich kann der Endbenutzer die Anwendungsfälle von anderen Benutzern einfach herunterladen und seine eigenen einfach mit anderen Benutzer austauschen. </para>

<para
>The current release can be used to set up command-and-control solutions especially suitable for disabled people. However, because of the amount of training necessary, continuous, free dictation is neither supported nor reasonable with current versions of Simon. </para>

<para
>Wegen der Architektur von Simon kann die selbe Version für alle Sprachen und Dialekte verwendet werden. Der Benutzer kann sogar verschiedene Sprachen innerhalb eines Modells mischen, sollte dies gewünscht sein. </para>
</chapter>


<chapter id="overview">
<title
>Übersicht</title>

<sect1 id="architecture">
<title
>Architektur</title>
<para
>Die Erkennungsarchitektur von Simon besteht aus drei Anwendungen. <itemizedlist>
  <listitem
><para
>&kmyapplication;</para
><para
>Dies ist die wichtigste grafische Benutzerschnittstelle.</para
><para
>Es agiert als Client zum Simond-Server.</para
></listitem>
  <listitem
><para
>Simond</para
><para
>Der Erkennungsserver.</para
></listitem>
  <listitem
><para
>KSimond</para
><para
>Die grafische Benutzerschnittstelle für Simond</para
></listitem>
</itemizedlist>
</para>

<para
>Diese drei Komponenten bilden eine Server-/-Client Anwendung. Das bedeutet, dass ein Server (Simond) mehrere Clients (&kmyapplication;; diese Anwendung) bedient, welche über das Netzwerk angebunden sind. KSimond ist nur eine Bedienungsoberfläche für Simond. Das bedeutet, dass es keine zusätzliche Funktionalität zum System einbringt, aber einen Weg bietet, mit Simond über eine grafische Benutzeroberfläche zu interagieren. </para>

<para
>Neben Simon, Simond und KSimond sind andere, speziellere Anwendungen auch Teil des integrierten Simon-Programmpakets. <itemizedlist>
  <listitem
><para
>Sam</para
><para
>Bietet direkten Zugang zum Sprachmodell, um dieses zu testen oder zu generieren.</para
></listitem>
  <listitem
><para
>SSC / SSCd</para
><para
>Diese beiden Programme können verwendet werden, um eine große Menge an Sprachdaten von verschiedensten Personen leicht aufzunehmen.</para
></listitem>
  <listitem
><para
>Afaras</para
><para
>This simple utility allows users to quickly check large corpora of speech data for erroneous samples.</para
></listitem>
</itemizedlist>
</para>

<para
>Bitte lesen Sie die einzelnen Handbücher dieser Programme für mehr Details. </para>


<para>
<screenshot>
<screeninfo
>Architektur</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="architecture.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>&kmyapplication; wird verwendet um eine Repräsentation Ihrer Aussprache und Ihres Wortschatzes zu verwalten. Diese Repräsentation wird dann an den Server Simond geschickt, welcher sie in ein benutzbares Sprachmodell übersetzt ("kompiliert").</para>
<para
>&kmyapplication; nimmt mit Hilfe eines Mikrofons dann Ihre Stimme auf und sendet diese Aufnahme an den Server, welcher die Erkennung auf diesen Datenstrom ausführt. Simond sendet dieses Erkennungsergebnis dann zurück an den Client (&kmyapplication;).</para>
<para
>&kmyapplication; benutzt dieses Erkennungsergebnis dann um Befehle auszuführen wie beispielsweise das Öffnen von Programmen oder URLs &etc;</para>

<para
>Simond identifiziert die Verbindung mit einer Kombination aus Benutzernamen und Passwort, die komplett unabhängig vom zugrunde liegenden Betriebssystem und dessen Benutzerkonten ist. Standardmäßig kommt Simond mit einem Standardbenutzer sowohl für Simon als auch Simond, so dass der typische Anwendungsfall von einem Simon-Client mit einem Simond-Server ohne zusätzliche Einstellungen funktioniert.</para>
<para
>Jeder Simon-Client meldet sich am Server mit einem Benutzernamen und einem Passwort an, das einen eindeutigen Benutzer mit ein eindeutiges Sprachmodell identifiziert. Jeder Benutzer verwaltet sein eigenes Sprachmodell aber kann es von verschiedenen Computern (verschiedene physische Simon-Instanzen) verwenden, indem er den selben Simond-Server verwenden. Eine Simond-Instanz kann natürlich mehrere Benutzer verwalten.</para>
<para
>Wenn Sie einen Server zum Internet hin öffnen oder mehrere Benutzer auf einem Simond-Server verwenden möchten, müssen Sie den Server entsprechend einrichten. Weitere Informationen finden Sie im <ulink url="help:/simond"
>Handbuch zu Simond</ulink
>. </para>
</sect1>

<sect1 id="needed_parts">
<title
>Benötigte Ressourcen für eine funktionierende &kmyapplication;-Einrichtung</title>

<note>
<para
>Für Hintergrund-Informationen über Sprachmodelle lesen Sie bitte den Abschnitt <link linkend="speech_model"
>Spracherkennung: Hintergrund</link
>. </para>
</note>

<para
>Damit die Spracherkennung in Simon funktioniert, muss ein Sprachmodell (engl.: speech model) erstellt werden.</para>

<para
>Sprachmodelle (speech models) beschreiben, wie Ihre Stimme klingt, wie Wörter klingen, welche Wörter existieren und welche Kombinationen (<quote
>Sätze</quote
> oder <quote
>Strukturen</quote
>) existieren.</para>

<para
>Ein Sprachmodell besteht aus zwei Teilen: <itemizedlist>
<listitem
><para
>Sprachmodell (language model): Beschreibt, welche Wörter existieren und welche Sätze grammatikalisch korrekt sind. </para
></listitem>
<listitem
><para
>Akustikmodell (acoustic model): Beschreibt, wie Töne (Phoneme) klingen. </para
></listitem>
</itemizedlist>
</para>

<para
>Sie benötigen beide Komponenten, um die Erkennung in Simon zu aktivieren.</para>

<para
>In Simon, the language model will be created from your active <emphasis
>scenarios</emphasis
> and the acoustic model will be either built solely through your voice recordings (training) or with the help of a <emphasis
>base model</emphasis
>.</para>

<sect2 id="scenarios">
<title
>Szenarien</title>

<para
>Ein Szenario bestimmt einen kompletten Anwendungsfall von Simon. Um zum Beispiel Firefox zu steuern, können Sie einfach das Firefox-Szenario installieren. </para>

<para
>In other words, scenarios tell Simon what words and phrases to listen for and what to do when they are recognized. </para>

<para
>Because scenarios do not contain information about how these words and phrases actually sound, they can be shared and exchanged between different Simon users without problems. To accommodate this community based repository pool, a <ulink url="http://kde-files.org/index.php?xcontentmode=692"
>category for Simon scenarios has been created on kde-files.org</ulink
> where the scenarios, which are just simple text files (XML format), can be exchanged easily. </para>

<para
>In den meisten Fällen sind Szenarien so entwickelt, um optimal mit einem bestimmten <link linkend="base_model"
>Basismodell</link
> zusammenzuarbeiten, um <link linkend="phoneme_set_issues"
>Probleme mit den Phonemen</link
> zu vermeiden. </para>

<para
>Informationen, wie Sie Szenarien in Simon verwenden können, finden Sie im Abschnitt <link linkend="scenarios_use"
>Szenarien im Kapitel „Simon verwenden“</link
>. </para>
</sect2>

<sect2 id="base_model">
<title
>Akustikmodell</title>

<para
>Wie oben erwähnt, benötigen Sie ein Akustikmodell, um Simon zu aktivieren.</para>

<para
>You can either create your own or use and even adapt a base model. Base models are already generated, most often speaker independent, acoustic models that can be used with Simon.</para>

<para
>The following table shows what is required, depending on your Simon configuration: <table frame='all'
><title
>Wie ein Akustikmodell erstellt wird</title>
<tgroup cols='4' align='left' colsep='1' rowsep='1'>
<thead>
<row>
  <entry
></entry>
  <entry
>Training erforderlich</entry>
  <entry
>Basismodell erforderlich</entry>
  <entry
><link linkend="model_backends"
>Model creation backend</link
> required</entry>
</row>
</thead>
<tbody>
<row
> <entry
>Statisches Basismodell</entry>
  <entry
>Nein</entry>
  <entry
>Ja</entry>
  <entry
>Nein</entry>
</row>
<row>
  <entry
>Angepasstes Basismodell</entry>
  <entry
>Ja</entry>
  <entry
>Ja</entry>
  <entry
>Ja</entry>
</row>
<row>
  <entry
>Benutzergeneriertes Modell</entry>
  <entry
>Ja</entry>
  <entry
>Nein</entry>
  <entry
>Ja</entry>
</row>
</tbody>
</tgroup>
</table>
</para>

<sect3 id="model_backends">
<title
>Backends</title>

<para
>Simon benutzt externe Programme, um Akustikmodelle zu erstellen und um Sprache zu erkennen. </para>

<para
>Usually, these backends can be split into two distinct components: The "model compiler" or "model generation" backend used to create or adapt acoustic models and the "recognizer" used to recognize speech with the help of these models. </para>

<para
>Not all operation modes of Simon will require a model compiler backend. Please refer to the next section about details on when this is the case. </para>

<para
>Zwei verschiedene Backends werden unterstützt: <itemizedlist>
<listitem
><para
>Julius / HTK</para>
<para
>Modelle werden mit <ulink url="http://htk.eng.cam.ac.uk"
>HTK</ulink
> erzeugt. <ulink url="http://julius.sourceforge.jp/en_index.php"
>Julius</ulink
> wird zur Erkennung verwendet.</para>
<para
>To use this backend, please make sure that you have an up-to-date version of both these tools installed.</para>
</listitem>
<listitem
><para
>CMU SPHINX</para>
<para
>This backend, also often simply referred to as "SPHINX backend", uses the PocketSphinx recognizer and the SphinxTrain model generation backend. Please refer to the <ulink url="http://cmusphinx.sourceforge.net/"
>CMU SPHINX website</ulink
> for more details.</para>
<para
>The CMU SPHINX backend requires that Simon is built with the optional SPHINX support. If you have not compiled Simon from source, please refer to your distribution for more information.</para>
</listitem>
</itemizedlist>
</para>

<para
>If you are using base models, Simon will automatically select the appropriate backend for you. However, if you want to build your own models from scratch (user-generated model, see below) and have a certain preference, please <ulink url="help:/simond/speech_model_compilation_configuration.html"
>refer to the Simond configuration</ulink
> for more information.</para>

<para
>Base models created for one backend are not compatible with any other backend. Please refer to the <link linkend="base_model_compatibility"
>compatibility matrix</link
> for details.</para>
</sect3>

<sect3 id="base_model_types">
<title
>Arten von Basismodellen</title>

<para
>Es existieren drei Arten von Basismodellen: <itemizedlist>
<listitem
><para
>Statisches Basismodell</para>
</listitem>
<listitem
><para
>Angepasstes Basismodell</para>
</listitem>
<listitem
><para
>Benutzergeneriertes Modell</para>
</listitem>
</itemizedlist>
</para>

<para
>Für Informationen wie Sie Basismodelle mit Simon verwenden können, lesen Sie bitte den Abschnitt <link linkend="base_model_use"
>Basismodelle verwenden</link
> im Kapitel „Simon benutzen“. </para>

<sect4 id="base_model_static">
<title
>Statisches Basismodell</title>

<para
>Statische Modelle verwenden einfach ein zuvor kompiliertes Akustikmodell ohne es zu bearbeiten.</para>

<para
>Mit Simon erstellte Trainingsdaten werden werden nicht verwendet um die Erkennungsrate zu erhöhen.</para>

<para
>This type of model <emphasis
>does not</emphasis
> require the model creation backend to be installed.</para>

</sect4>

<sect4 id="base_model_adapted">
<title
>Angepasstes Basismodell</title>

<para
>Durch Anpassung von bereits kompilierten Akustikmodellen können Sie die Erkennungsrate steigern, indem Sie das Modell an Ihre Stimme anpassen.</para>

<para
>Gesammelte Trainingsdaten werden in eine Anpassungsmatrix kompiliert, die dann auf das ausgewählte Basismodell angewendet wird.</para>

<para
>This type of model <emphasis
>does</emphasis
> require the model creation backend to be installed.</para>

</sect4>

<sect4 id="base_model_user_generated">
<title
>Benutzergeneriertes Modell</title>

<para
>Wenn Sie benutzergenerierte Modelle verwenden, ist der Benutzer dafür verantwortlich, dass das Modell trainiert wird. Es wird kein Basismodell verwendet.</para>

<para
>Die Trainingsdaten werden verwendet um das eigene Akustikmodell zu kompilieren. Dies erlaubt es ein System zu entwickeln das direkt Ihre eigene Sprache widerspiegelt.</para>

<para
>This type of model <emphasis
>does</emphasis
> require the model creation backend to be installed.</para>
</sect4>

</sect3>

<sect3 id="base_model_compatibility">
<title
>Voraussetzungen</title>

<para
>Um verschiedene Arten von Akustikmodelle zu erstellen, anzupassen und zu benutzen, muss eine bestimmte Software installiert sein. <table frame='all'
><title
>Anforderungen für Basismodelle</title>
<tgroup cols='3' align='left' colsep='1' rowsep='1'>
<colspec colname='c1'/>
<colspec colname='c2'/>
<thead>
<row>
  <entry
></entry>
  <entry
>CMU SPHINX</entry>
  <entry
>Julius / HTK</entry>
</row>
</thead>
<tbody>
<row>
  <entry
>Statisches Basismodell</entry>
  <entry
>PocketSphinx</entry>
  <entry
>Julius</entry>
</row>
<row>
  <entry
>Angepasstes Basismodell</entry>
  <entry
>SphinxTrain, PocketSphinx</entry>
  <entry
>HTK, Julius</entry>
</row>
<row>
  <entry
>Benutzergeneriertes Modell</entry>
  <entry
>SphinxTrain, PocketSphinx</entry>
  <entry
>HTK, Julius</entry>
</row>
</tbody>
</tgroup>
</table>
</para>

<para
>All four tools, HTK, Julius, PocketSphinx and SphinxTrain, can safely be installed at the same time. </para>
<para
>SPHINX support in Simon must be enabled during compile time and might not be available on your platform. Please refer to your distribution. </para>
<note>
<para
>The Simon Windows installer includes Julius, PocketSphinx and SphinxTrain but not the HTK. Please refer to the <link linkend="installation"
>installation section</link
> for information on how to install it should you find the need for it. </para>
</note>
</sect3>

<sect3 id="base_model_get">
<title
>Woher Sie Basismodelle erhalten</title>

<para
>Simon base models are packaged as <filename
>.sbm</filename
> files. If you happen to have raw model files for your backend, you can package them into a compatible SBM container within Simon. Please refer to the <link linkend="configuration_speechmodel"
>speech model configuration</link
> for details. </para>

<para
>Not all SBM models may work for you. Please refer to the <link linkend="model_backends"
>model backends section</link
> for details. </para>

<para
>Eine aktuelle Liste von verfügbaren Basismodellen finden Sie im <ulink url="http://userbase.kde.org/Special:myLanguage/Simon/Base_models#Where_to_get_base_models"
>Online-Wiki</ulink
>. </para>
</sect3>

<sect3 id="phoneme_set_issues">
<title
>Probleme mit Phonem-Sätzen</title>

<para
>Damit Basismodelle funktionieren, müssen sowohl Ihre Szenarien als auch Ihr Basismodell den selben Phonem-Satz verwenden.</para>

<para
>In practice, this often just means that you need to <emphasis
>match scenarios to your base model</emphasis
>. The name of &kmyapplication; base models will most likely start with a tag like "[EN/VF/JHTK]". Try to download scenarios that start with the same tag.</para>

<para
>You can not use scenarios designed for different phoneme set (different base model). If Simon recognizes this error, it will try to disable affected words by removing them from the created speech model. These words will be marked with a red background in the vocabulary of the scenario. To re-enable them, transcribe them with the proper phoneme set or use a user-generated model. </para>

<note>
<title
>Hinweis</title>
<para
>Wenn Sie ein neues Szenario entwerfen, sollten Sie das Wörterbuch als Schattenvokabular verwenden, mit dem das Basismodell generiert wurde. Auf diese Weise wird Simon automatisch die <quote
>richtigen</quote
> Phoneme vorschlagen, wenn Wörter hinzugefügt werden.</para>
</note>
</sect3>
</sect2>
</sect1>

</chapter>


<chapter id="using-simon">
<title
>&kmyapplication; als normaler Benutzer verwenden</title>

<para
>Der folgende Abschnitt beschreibt die Benutzung von Simon.</para>

<sect1 id="first_run">
<title
>Einrichtungsassistent</title>

<para
>Beim ersten Start von Simon wird eine Assistent angezeigt, der Sie durch die ersten Schritte mit &kmyapplication; führt.</para>

<para>
  <screenshot>
    <screeninfo
>Einrichtungsassistent: Willkommen</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="first_run_1.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
</para>

<para
>Die Einrichtung besteht aus fünf einfachen Schritten, die hier aufgezeigt sind. Sie können jeden Schritt oder sogar den ganzen Assistenten überspringen. In diesem Fall wird das System mit Standardwerten eingerichtet.</para>

<para
>However, please note that without any configuration, there won't be any recognition.</para>

<sect2 id="first_run_scenarios">
<title
>Szenarien</title>

<para
>In diesem Schritt können Sie <link linkend="scenarios"
>Szenarien</link
> hinzufügen oder herunterladen.</para>

<para>
  <screenshot>
    <screeninfo
>Einrichtungsassistent: Szenarien</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="first_run_2.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
</para>

<para
>To download scenarios from the online repository, select <menuchoice
><guimenuitem
>Open</guimenuitem
><guimenuitem
>Download</guimenuitem
></menuchoice
> to open the download dialog pictured below.</para>

<para>
  <screenshot>
    <screeninfo
>Einrichtungsassistent: Szenarien laden</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="get_hot_new_scenarios_1.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
</para>

<para
>Besonders neuen Anwendern wird empfohlen, ein paar Szenarien hier herunterzuladen, um zu sehen wie das System funktioniert, bevor ein Szenario für Ihren Anwendungsfall eingestellt wird.</para>

<para
>After completing the assistant, you can change the scenario configuration with the use of the <link linkend="scenarios_use"
>scenario management dialog</link
>.</para>

<para
>If you are planning to use a <link linkend="base_model"
>base model</link
>, make sure that you download <link linkend="phoneme_set_issues"
>matching scenarios</link
>.</para>

</sect2>


<sect2 id="first_run_basemodels">
<title
>Basismodelle</title>

<para
>In diesem Schritt können Sie Simon einstellen, <link linkend="base_model"
>Basismodelle</link
> zu verwenden.</para>

<para>
  <screenshot>
    <screeninfo
>Einrichtungsassistent: Basismodelle</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="first_run_3.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
</para>

<para
>Again, you can download base models from an online repository through <menuchoice
><guimenuitem
>Open model</guimenuitem
><guimenuitem
>Download</guimenuitem
></menuchoice
>.</para>

<para>
  <screenshot>
    <screeninfo
>Einrichtungsassistent: Basismodelle herunterladen</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="base_model_settings_2.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
</para>

<para
>um ein benutzergeneriertes Modell zu verwenden, wählen Sie <guimenuitem
>Kein Basismodell verwenden</guimenuitem
>.</para>

<para
>Nachdem der Einrichtungsassistent abgeschlossen ist oder abgebrochen wurde, können Sie die Einstellungen dieses Schritts im <link linkend="base_model_use"
>Einrichtungsdialog für Simon</link
> jederzeit ändern.</para>

</sect2>

<sect2 id="first_run_server">
<title
>Server</title>

<para
>Internally, Simon is a <link linkend="architecture"
>server / client application</link
>. If you want to take advantage of a network based installation, you can provide the server address here.</para>

<para>
  <screenshot>
    <screeninfo
>Einrichtungsassistent: Server</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="first_run_4.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
</para>

<para
>Die Standardeinstellung ist ausreichend für eine <quote
>normale</quote
> Installation und legt fest, dass Sie einen lokalen Simond-Server verwenden, der mit Simon automatisch gestartet und gestoppt wird.</para>

<para
>Nachdem der Einrichtungsassistent abgeschlossen ist oder abgebrochen wurde, können Sie die Einstellungen dieses Schritts im <link linkend="configure_server"
>Server-Einrichtungsdialog</link
> jederzeit ändern.</para>

</sect2>

<sect2 id="first_run_sound_configuration">
<title
>Sound-Einrichtung</title>

<para
>Because Simon recognizes sound from one or more microphones, you have to tell Simon which devices you want to use for recognition and training.</para>

<para>
  <screenshot>
    <screeninfo
>Einrichtungsassistent: Sound-Einrichtung</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="first_run_5.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
</para>

<para
>Simon kann ein oder mehrere Ein- und Ausgabegeräte für verschiedene Aufgaben verwenden. Sie können weitere Informationen über Simons Mehrgerätefähigkeiten in im Abschnitt <link linkend="soundconfiguration_device"
>Sound-Einstellungen</link
> nachlesen.</para>

<para
>Wenn Sie nicht zumindest ein funktionierendes Eingabegerät für die Erkennung definieren, können Sie Simon nicht aktivieren.</para>

<para
>Nachdem der Einrichtungsassistent abgeschlossen ist, können Sie die hier vorgenommenen Einstellungen in den <link linkend="soundconfiguration_device"
>Sound-Einstellungen</link
> jederzeit ändern.</para>

</sect2>

<sect2 id="first_run_volume_calibration">
<title
>Lautstärkeanpassung</title>

<para
>Damit Simon korrekt funktioniert, muss die Mikrofonlautstärke richtig eingestellt sein.</para>

<para>
  <screenshot>
    <screeninfo
>Einrichtungsassistent: Lautstärkeanpassung</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="first_run_6.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
</para>

<para
>For more details on this, please see the general section about <link linkend="volume_calibration"
>Volume Calibration</link
>.</para>

</sect2>

</sect1>

<sect1 id="main_window">
<title
>Das Hauptfenster von Simon</title>
<para>
<screenshot>
<screeninfo
>Ein Bildschirmfoto von &kmyapplication;</screeninfo>
	<mediaobject>
	  <imageobject>
	    <imagedata fileref="screenshot_main.png" format="PNG"/>
	  </imageobject>
	  <textobject>
	    <phrase
>Bildschirmfoto</phrase>
	  </textobject>
	</mediaobject>
</screenshot>
</para>


<para
>The Simon main window is split into four logical sections. On the top left, you can see the scenario section, to its right you find the training section, on the bottom left is the acoustic model and finally, on the right of that, the recognition section.</para>

<para
>Das Simon-Hauptfenster kann jederzeit ausgeblendet werden, indem man auf das Simon-Symbol im Systemabschnitt der Kontrollleiste (normalerweise der Bereich neben der Uhr) klickt. Wird das Symbol erneut gedrückt, wird Simon wieder angezeigt. </para>

<sect2 id="main_window_scenarios">
<title
>Hauptfenster: Szenarien</title>

<para
>A list of scenarios shows the currently loaded scenarios. You can manage this selection by clicking <guibutton
>Manage scenarios</guibutton
> which will open the <link linkend="scenarios_use"
>scenario management dialog</link
>.</para>

<para
>To <link linkend="using-simon-advanced"
>modify a scenario</link
>, select it from the list and open it by pressing <guibutton
>Open "&lt;name&gt;"</guibutton
>.</para>
</sect2>

<sect2>
<title
>Hauptfenster: Training</title>

<para
>Dieser Abschnitt zeigt alle Trainingstexte der aktuell aktivierten Szenarien.</para>

<para
>Selecting a training text will highlight the parent scenario in the scenario section.</para>

<para
>You can start to <link linkend="training_in_progress"
>train the recognition</link
> by selecting a text and clicking on <guibutton
>Start training</guibutton
>. Please note that, depending on your selected model type, training may or may not improve your recognition accuracy. The acoustic model section (see below) in the &kmyapplication; main menu tells you if training will have an effect for your specific configuration. For more information, please refer to the <link linkend="base_model"
>base model section</link
> for background information on this subject.</para>

<para
>The gathered training corpus can be managed by selecting <guibutton
>Manage training data</guibutton
> which will open the <link linkend="sample_management"
>sample management dialog</link
>.</para>

<para
>To help build a general, open speech corpus, please consider contributing your training corpus to the <ulink url="http://voxforge.org"
>Voxforge</ulink
> project by selecting <menuchoice
><guimenuitem
>File</guimenuitem
><guimenuitem
>Contribute samples</guimenuitem
></menuchoice
> to bring up the <link linkend="contribute_samples"
>sample upload assistant</link
>.</para>
</sect2>

<sect2>
<title
>Hauptfenster: Akustikmodell</title>

<para
>Hier zeigt &kmyapplication; Informationen über das aktuell verwendete Basismodell und das aktive Modell.</para>

<para
>Select <guibutton
>Configure acoustic model</guibutton
> to <link linkend="base_model_use"
>configure the base model</link
>.</para>
</sect2>

<sect2>
<title
>Hauptfenster: Erkennung</title>

<para
>Hier werden Informationen zum Erkennungsstatus angezeigt..</para>

<para
>If &kmyapplication; is connected to the server, you can activate and deactivate the recognition by toggling the <guibutton
>Activate</guibutton
> button. If this control element is not available, make sure you are connected by selecting <menuchoice
><guimenu
>File</guimenu
><guimenuitem
>Connect</guimenuitem
></menuchoice
> from &kmyapplication;s menu.</para>

<para
>An integrated volume calibration widget monitors the configured recognition devices. The sound setup can be modified by selecting <guibutton
>Configure audio</guibutton
> to bring up the <link linkend="soundconfiguration"
>sound configuration</link
>.</para>

</sect2>

</sect1>

<sect1 id="scenarios_use">
<title
>Szenarien</title>
<para
>This section describes how to import and remove scenarios to your Simon configuration. For general information about scenarios, please refer to <link linkend="scenarios"
>the background chapter</link
>. If you want to create, edit or export scenarios, please refer to the <link linkend="scenarios_use_advanced"
>advanced usage section</link
>.</para>

<para
>To modify your scenario configuration, first open the scenario management dialog by pressing <guibutton
>Manage scenarios</guibutton
> in the Simon main window.</para>

<para>
  <screenshot>
    <screeninfo
>Szenarien verwalten</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="manage_scenarios_1.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
</para>

<para
>Um ein Szenario zu aktivieren oder zu deaktivieren, verwenden Sie die Knöpfe mit den Pfeilsymbolen zwischen den beiden Listen oder doppelklicken Sie das entsprechende Einstellung, die Sie laden oder entladen möchten.</para>

<para
>Mehr Informationen über die Szenarien selbst können Sie in der Kurzinfo lesen, die erscheint, wenn die Maus einige Zeit über ein Element halten.</para>

<sect2 id="import_scenario">
  <title
>Szenarien importieren</title>
  <para
>Szenarien können von einer lokalen Textdatei im Dateiformat XML-Szenario importiert oder direkt aus dem Internet heruntergeladen werden.</para>

  <para
>Wenn Sie Szenarien herunterladen, wird eine Liste der verfügbaren Szenarien vom Abschnitt <ulink url="http://kde-files.org/index.php?xcontentmode=692"
>Simon Scenarios</ulink
> der OpenDesktop-Seite <ulink url="http://kde-files.org"
>KDE-files.org</ulink
> heruntergeladen.</para>

<para>
  <screenshot>
    <screeninfo
>Szenarien herunterladen</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="get_hot_new_scenarios_1.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
</para>

  <para
>Wenn Sie ein Szenario erstellen, das für andere Simon-Anwender von Interesse sein könnte, <link linkend="export_scenario"
>laden Sie es bitte hoch</link
>, damit es auch anderen Anwendern von Simon genutzt werden kann.</para>
</sect2>

<sect2 id="delete_scenario">
<title
>Szenarien entfernen</title>

<para
>Um ein Szenario zu löschen, wählen Sie das Szenario aus der Liste und klicken Sie den Knopf <guibutton
>Löschen</guibutton
>.</para>

<para
>Weil Szenarien mit dem Erkennungsserver abgeglichen werden, können Sie gelöschte Szenarien über den <link linkend="configure_synchronization"
>Modell-Abgleich</link
> wiederherstellen.</para>
</sect2>

</sect1>


<sect1 id="recording">
<title
>Aufnahmen</title>
<para
>If you are using user-generated or adapted models, Simon builds its acoustic model based on transcribed samples of the users voice. Because of this, the recorded samples are of vital importance for the recognition performance.</para>

<sect2 id="volume">
<title
>Lautstärke</title>
<para
>Es ist wichtig, dass Sie vor der Aufnahme die Lautstärke Ihres Mikrofons kontrollieren.</para>

<sect3 id="volume_calibration">
<title
>Lautstärkeanpassung für Simon</title>

<para
>Die aktuelle Version von &kmyapplication; enthält einen einfachen Weg, um sicherzustellen, dass die Lautstärke richtig eingestellt ist.</para>

<para>
<screenshot>
<screeninfo
>Lautstärkeanpassung für Simon </screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="volume_calibration.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>Standardmäßig wird die Lautstärkeanpassung angezeigt, bevor eine Aufnahme in &kmyapplication; startet.</para>

<para
>Um die Lautstärke anzupassen, sprechen Sie einfach den angezeigten Text nach.</para>

<para
>Um die Anpassung zu überwachen, beobachten Sie bitte die angezeigte Lautstärke und die Notiz darunter, die angibt, ob Sie die Lautstärke heben oder senken sollten. Um die Lautstärke zu verändern, verwenden Sie bitte die Lautstärkeeinstellung Ihres Betriebssystems.</para>

<para
>Versuchen Sie während der Anpassung so normal wie möglich zu sprechen. Schreien Sie nicht, aber seien Sie auch nicht unnötig leise. Bitte bedenken Sie, dass Sie die besten Ergebnisse erzielen, wenn alle Aufnahmen ungefähr gleich laut sind und Sie auch während der Erkennung gleich laut sprechen. Möglicherweise könnten Sie zu anderen Tageszeiten oder einer anderen Stimmung lauter sprechen, also sprechen Sie in diesem Test lieber etwas lauter, um diese Möglichkeit einzubeziehen. Grundsätzlich sind zu leise Aufnahmen viel besser als zu laute, da es dann zu Verzerrungen kommen kann.</para>

<para
>In den Einstellungen von &kmyapplication; lässt sich sowohl der angezeigte Text als auch die Lautstärken, die als korrekt bzw. nicht korrekt markiert werden, einstellen. Wird der dortige Text leer gelassen (Standard), wird ein Standardtext angezeigt. In der Einrichtung können Sie die Lautstärkeanpassung auch komplett deaktivieren. Im Abschnitt <link linkend="soundconfiguration_training"
>Training</link
> finden Sie weitere Details.</para>
</sect3>

<sect3>
<title
>Lautstärkeanpassung für Audacity</title>

<para
>Eine andere Möglichkeit zur Einstellung der richtigen Lautstärke ist, ein Audio-Programm wie das freie <ulink url="http://audacity.sf.net"
>Audacity</ulink
> zu benutzen.</para>

<para
>Zu leise: <screenshot>
<screeninfo
>Lautstärke: Zu leise</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="too_quiet.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>Zu laut: <screenshot>
<screeninfo
>Lautstärke: Zu laut</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="too_loud.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>Optimale Lautstärke: <screenshot>
<screeninfo
>Optimale Lautstärke</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="volume_perfect.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>
</sect3>

</sect2>

<sect2 id="silence">
<title
>Stille</title>
<para
>Um Simon mit der automatischen Trennung zwischen den Wörtern zu helfen, empfehlen wir, vor und nach dem Sprechen ca. ein bis zwei Sekunden "Stille" aufzunehmen.</para>

<para
>Die aktuelle Version von Simon enthält eine grafische Warteanzeige während des Training. Diese Nachricht wird den Benutzer bitten, eine Sekunde zu warten: <screenshot>
<screeninfo
>Bitte warten</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="pause_control_wait.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>... bevor er gebeten wird zu sprechen: <screenshot>
<screeninfo
>Bitte sprechen</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="pause_control_speak.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>This method of visual feedback proved especially valuable when recording with people who cannot read the prompted text for themselves and therefore need someone to tell them what they have to say. The colorful visual cue tells them when to start repeating what the facilitator said without the need of unreliable hand gestures. </para>
</sect2>


<sect2 id="recording_content">
<title
>Inhalt</title>
<para
>Generally we recommend to record roughly the same sentences that Simon should recognize later.</para>
<para
>(Obviously that does not apply to massive sample acquisitions where other properties like phonetic balance are more important)</para>

<para
>Care should be taken to avoid recordings like <quote
>One One One</quote
> to quickly ramp up the <quote
>recognition rate</quote
> property. Such recordings often decrease recognition performance because the pronunciation differs greatly from saying the word in isolation.</para>
</sect2>


<sect2 id="microphone">
<title
>Mikrofon</title>
<para
>Damit Simon gut funktionieren kann, wird ein hochqualitatives Mikrofon empfohlen.</para>

<para
>Aber sogar mit relativ günstigen Headsets (um 30 €) erreicht sehr gute Ergebnisse - viel bessere als möglicherweise mit einem integrierten Mikrofon.</para>

<para
>Für maximale Kompatibilität empfehlen wir USB-Headset, die in der Regel die notwendige Abtastrate von 16 kHz direkt unterstützen. Sie werden außerdem gut von sowohl Microsoft Windows als auch von GNU/Linux unterstützt und benötigen keine speziellen, properitären Treiber.</para>
</sect2>


<sect2 id="sample_quality_assurance">
<title
>Qualitätskontrolle der Aufnahmen</title>
<para
>Simon wird jede Aufnahme mit einigen Kriterien überprüfen, um sicherzustellen, dass die Aufnahmen nicht fehlerhaft oder von schlechter Qualität sind.</para>

<para
>Wenn Simon eine problematische Aufnahme erkennt, wird das Programm den Benutzer warnen und ihn auffordern, die Aufnahme zu wiederholen. </para>

<para
>Derzeit überprüft Simon die folgenden Kriterien: <itemizedlist>
<listitem>
<para
>Höchster Lautstärkepegel</para>
<para
>Wenn die Lautstärke zu hoch ist und das Mikrofon zu <ulink url="http://de.wikipedia.org/wiki/Übersteuern_(Signalverarbeitung)"
>Übersteuern</ulink
> beginnt, wird automatisch eine Warnung angezeigt, die den Benutzer auffordert, die Lautstärke des Mikrofons zu senken.</para>
</listitem>
<listitem>
<para
>Signal-Rausch-Verhältnis (engl.: Signal to noise ratio; SNR)</para>
<para
>Simon wird automatisch das Signal-Rausch-Verhältnis für jede Aufnahme bestimmen. Ist dieses Verhältnis unter einem einstellbaren Wert, wird eine Warnung angezeigt.</para>
<para
>Der Standardwert von 2300 % bedeutet, dass Simon nur Aufnahmen als „korrekt“ ansieht, deren Spitzenpegel 23 mal lauter ist als die niedrigste Lautstärke, die als niedrigster Durchschnitt von jeweils 50 Millisekunden errechnet wird.</para>
<para
>Often this can be a result of either a very low quality microphone, high levels of ambient noise or a low microphone gain coupled with a <quote
>microphone boost</quote
> option in the system mixer. </para>
</listitem>
</itemizedlist>
</para>


<para
>SNR warning message triggered by an empty sample. This information dialog is displayed when clicking on the <guibutton
>More information</guibutton
> button on the recording widget. <screenshot>
<screeninfo
>Leere Aufnahme löst Warnung zum Signal-Rausch-Verhältnis aus</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="snr_warning.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>
</sect2>
</sect1>

<sect1 id="contribute_samples">
<title
>Aufnahmen beisteuern</title>

<para
>The <link linkend="base_model"
>base models</link
> that can be used with Simon to augment or replace training are built from other peoples speech samples. In order to create high quality base models, a large amount of training samples are necessary.</para>

<para
>If you trained your local Simon installation, you gathered valuable voice samples that could improve the quality of the general model.</para>

<para
>Through &kmyapplication;'s "Contribute Samples" dialog you can upload those recordings to benefit the <ulink url="http://voxforge.org"
>Voxforge</ulink
> project to create high quality open source base models.</para>

<para>
<screenshot>
<screeninfo
>Contributing Samples: Connect</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="contribute_samples_1.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>After connecting to the server, &kmyapplication; will ask for some basic meta-information. This information obviously contains no personal information. Instead, it will later be used to group together samples of similar speaker groups to build more accurate acoustic models.</para>

<para>
<screenshot>
<screeninfo
>Contributing Samples: Provide information</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="contribute_samples_2.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>The duration of the upload process itself will depend on your internet connection. Generally speaking, this only transmits relatively little data because the audio samples collected by &kmyapplication; are generally very small: around 0.1 MB per sample.</para>

<para>
<screenshot>
<screeninfo
>Contributing Samples: Upload</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="contribute_samples_3.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

</sect1>

<sect1 id="sample_management">
<title
>Trainingsdaten verwalten</title>

<para
>To view and modify your personal training corpus, you can access the training data management dialog by selecting <guibutton
>Manage training data</guibutton
> in the &kmyapplication; main window or the <link linkend="training"
>training section of any opened scenario</link
>.</para>

<para>
<screenshot>
<screeninfo
>Trainingsaufnahmen verwalten</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="training_samples.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<sect2 id="open_sample">
<title
>Trainingsaufnahmen bearbeiten</title>

<para
>To listen to or re-record a sample, select it from the list and select <guibutton
>Open Sample</guibutton
>.</para>

<para>
<screenshot>
<screeninfo
>Eine Trainingsaufnahme bearbeiten</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="training_samples_modify.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>In this dialog you can also modify the sample's <link linkend="sample_group"
>group after it was recorded</link
>.</para>

<para
>If you remove the opened sample and do not re-record it, &kmyapplication; will offer to remove it from the corpus.</para>

<para>
<screenshot>
<screeninfo
>Eine Trainingsaufnahme entfernen</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="training_samples_remove.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

</sect2>

<sect2 id="clear_training_data">
<title
>Trainingsdaten löschen</title>
<para
>After a confirmation dialog, this will remove all personal training data of the user. </para>
</sect2>

<sect2 id="import_training-data">
<title
>Trainingsaufnahmen importieren</title>
<para
>Using the import training data field you can import previously gathered training samples from previous Simon versions or manual training.</para>

<note>
<para
>Diese Funktion ist sehr speziell. Bitte benutzen Sie sie nur, wenn Sie sich sicher sind, dass Sie wissen was Sie tun. </para>
</note>

<para
>You can either provide a separate prompts file or let Simon extract the transcriptions from the filenames.</para>

<para
>When using prompts based transcriptions your prompts file (UTF-8) needs to contain lines of the following content: <quote
>[filename] [content]</quote
>. Filenames are without file extensions and the content has to be uppercase. For example: <userinput
>demo_2007_03_20 DEMO</userinput
> to import the file <filename
>demo_2007_03_20.wav</filename
> containing the spoken word <quote
>Demo</quote
>.</para>

<para
>Because prompts files do not contain a file extension, Simon will try wav, mp3, ogg and flac (in that order). If one of those match, no other extension will be tested and only the first file will be imported (in contrast to file based transcription where all files would be imported).</para>

<para
>When using file based transcriptions, a file called this_is_a_test.wav <emphasis
>must</emphasis
> contain <quote
>This is a test</quote
> and nothing else. Numbers and special characters (<quote
>.</quote
>, <quote
>-</quote
>,...) in the filename are ignored and stripped. </para>

<para
>Files recorded by Simon 0.2 <emphasis
>will</emphasis
> follow this naming scheme so you can safely import them using the file name extraction method. Files generated by previous Simon versions should not be imported using this function but you can use the prompts based import for that.</para>

<para
>Imported files and their transcription are then added to the training corpus. </para>

<para
>Um einen Ordner zu importieren, der die Trainingsdateien enthält, wählen Sie ihn - und abhängig vom Importtyp auch die entsprechende Prompts-Datei - im Assistenten aus. <screenshot>
<screeninfo
>Assistent zum Import von Trainingsdaten</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="import_training_data_1.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>Der Ordner wird rekursiv durchsucht. Das heißt, dass der angegebene Ordner und all seine Unterordner nach <filename
>.wav</filename
>, <filename
>.flac</filename
>, <filename
>.mp3</filename
> und <filename
>.ogg</filename
> Dateien durchsucht wird. Alle gefundenen Dateien werden importiert. </para>

<para
>Wenn Trainingsdaten importiert werden, werden alle eingerichteten <link linkend="soundconfiguration_postprocessing"
>Nachbearbeitungsfilter</link
> angewandt. </para>
<para
>Wenn Sie etwas anderes als WAV-Dateien importieren, sind Sie dafür verantwortlich, dass die Dateien während des Import korrekt dekodiert werden (zum Beispiel durch Nachbearbeitungsfilter) oder die Modellerstellung <emphasis
>wird</emphasis
> fehlschlagen. </para>

</sect2>

</sect1>

<sect1 id="configuration">
<title
>Einrichtung</title>
<para
>Simon was designed with high configurability in mind. Because of this, there are plentiful parameters that can be fine-tuned to your specific requirements. </para>

<para
>You can access Simon's configuration dialog through the application's main menu: <menuchoice
><guimenuitem
>Settings</guimenuitem
><guimenuitem
>Configure Simon...</guimenuitem
></menuchoice
>.</para>

<sect2 id="configuration_general">
<title
>Allgemeine Einrichtung</title>
<para
>Die allgemeine Einrichtung bietet einige grundlegenden Einstellungen</para>

<para
>If you want to show the <link linkend="first_run"
>first run assistant</link
> again, deselect <guibutton
>Disable configuration wizard</guibutton
>.</para>

<para>
<screenshot>
<screeninfo
>Allgemeine Einrichtung</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="configure_general.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>
<para
>Please note that the option to start Simon at login will work on both Microsoft Windows and when you are using KDE on Linux. Support for other desktop environments like Gnome, XFCE, &etc; might require manually placing Simon in the session autostart (please refer to the respective manuals of your desktop environment). </para>
<para
>When the option to start Simon minimized is selected, Simon will minimize to the system tray immediately after starting. </para>
<para
>Deselecting the option to warn when there are problems with samples deactivates the <link linkend="sample_quality_assurance"
>sample quality assurance</link
>. </para>
</sect2>

<sect2 id="soundconfiguration">
<title
>Aufnahmen</title>
<para
>Simon uses fairly sophisticated internal sound processing to enable complex multi-device setups. </para>

<sect3 id="soundconfiguration_device">
<title
>Geräteeinstellungen</title>
<para
>The sound device configuration allows you to choose which sound device(s) to use, configure them and define additional recording parameters.</para>

<para
>Use the <guibutton
>Refresh devices</guibutton
> button if you have plugged in additional sound devices since you started Simon.</para>

<para>
<screenshot>
<screeninfo
>Sound device configuration: General</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="configure_sound_1.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>Most of the time you will want to use 1 channel and 16kHz (which is also the default) because the recognition only works on mono input and works best at 16kHz (8kHz and 22kHz being other viable options). Some low-cost sound cards might not support this particular mode in which case you can enable automatic Resampling in the device's advanced configuration.</para>

<note
><para
>Only change the channel and the samplerate if you really know what you are doing. Otherwise the recognition will <emphasis
>most likely</emphasis
> not work.</para
></note>

<para>
<screenshot>
<screeninfo
>Sound device configuration: Advanced options</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="configure_sound_advanced.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>You can use Simon with more than one sound device at the same time. Use <guibutton
>Add device</guibutton
> to add a new device to the configuration and <guibutton
>Remove device</guibutton
> to remove it from your configuration. The first device in your sound setup cannot be removed.</para>

<para
>Für jedes Gerät können Sie die Verwendung bestimmen: Training oder Erkennung (letzteres ist nur für Eingabegeräte verfügbar).</para>

<para
>Wenn Sie mehr als ein Gerät für das Training verwenden, wird simon mehrere Tondateien pro Trainingsaufnahme sammeln. Wird mehr als ein Gerät für die Erkennung verwendet, werden mehrere Datenströme zum Server aufgebaut, was in mehreren Erkennungsergebnissen (eines pro Mikrofon) resultiert.</para>

<para
>Wenn Sie mehr als ein Ausgabegerät verwenden, wird ein Ton auf allen eingerichteten Geräten gleichzeitig wiedergegeben.</para>

<para
>When using different sample rates for your input devices, the output will only play on matching output devices. If you for example have one input device configured to use 16kHz and the other to use 48kHz, the playback of samples generated by the first one will only play on 16kHz outputs, the other one only on 48kHz devices.</para>

<para
>In the device's advanced configuration, you can also define the <link linkend="sample_group"
>sample group tag</link
> of the produced training samples and set activation <link linkend="context_conditions"
>context conditions</link
>.</para>

<para
>If you set up this device to be used for recognition and (any of) it's activation requirements are not met, the device will not record. This can be used to augment or even replace the <link linkend="soundconfiguration_vad"
>traditional voice activity detection</link
> with context information.</para>

<para
>For example, add a <link linkend="face_detection_condition"
>face detection condition</link
> to the recording devices activation requirements to only enable the recognition when you're looking at the webcam.</para>

</sect3>

<sect3 id="soundconfiguration_vad">
  <title
>Sprachaktivitätserkennung</title>

  <para
>Die Erkennung selbst geschieht auf dem Simond-Server. Im Abschnitt <link linkend="architecture"
>Architektur</link
> finden Sie weitere Informationen.</para>

  <para
>The sound stream is not continuous but is segmented by the Simon client. This is done by something called <quote
>voice activity detection</quote
>.</para>

  <para>
  <screenshot>
  <screeninfo
>Sprachaktivitätserkennung</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="vad.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
  </para>

  <para
>Here you can configure this segmentation through the following parameters: <itemizedlist>
      <listitem>
        <para
><guilabel
>Cutoff level</guilabel
></para>
        <para
>Alles unterhalb dieses Lautstärkepegels wird als <quote
>Stille</quote
> behandelt (Hintergrundgeräusch).</para>
      </listitem>
      <listitem>
        <para
><guilabel
>Head margin</guilabel
></para>
        <para
>Cache for as long as head margin to start consider it a real sample. During this whole time the input level needs to be above the cutoff level.</para>
      </listitem>
      <listitem>
        <para
><guilabel
>Tail margin</guilabel
></para>
        <para
>After the recording went below the cutoff level, Simon will wait for as long as tail margin to consider the current recording a finished sample.</para>
      </listitem>
      <listitem>
        <para
><guilabel
>Aufnahmen verwerfen, die kürzer sind als</guilabel
></para>
        <para
>Aufnahmen, die kürzer als dieser Wert sind, werden nicht an die Erkennung weitergegeben (Husten, &etc;)</para>
      </listitem>
    </itemizedlist>
  </para>
</sect3>

<sect3 id="soundconfiguration_training">
  <title
>Trainingseinstellungen</title>

  <para>
  <screenshot>
  <screeninfo
>Trainingseinstellungen</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="training_config.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
  </para>

  <para
>When the option <guibutton
>Default to power training</guibutton
> is selected, Simon will, when training, automatically start- and stop the recording when displaying and hiding (respectively) the recording prompt. This option only sets the default value of the option, the user can change it at any time before beginning a training session.</para>

<para
>The configurable font here refers to the text that is recorded to train the acoustic model (through explicit training or when adding a word).</para>

<para
>This option has been introduced after we have worked with a few clients suffering spastic disability. While we used the mouse to control Simon during the training, they had to read what was on the screen. At first this was very problematic as the regular font size is relatively small and they had trouble making out what to read. This is why we made the font and the font size of the recording prompt configurable.</para>

<para
>Here you can also define the required signal to noise ratio for Simon to consider a training sample to be correct. See the <link linkend="sample_quality_assurance"
>Sample Quality Assurance</link
> section for more details.</para>
<para
>Auf dieser Einrichtungsseite können Sie auch die Parameter für die <link linkend="volume_calibration"
>Lautstärkeanpassung</link
> festlegen.</para>

<para
>It can be deactivated for both the add word dialog and the training wizard by unchecking the group box itself.</para>

<para
>The calibration itself uses the <link linkend="soundconfiguration_vad"
>voice activity recognition</link
> to score your sound configuration.</para>

<para
>Der angezeigte Text kann eingestellt werden, indem Text im Eingabefeld eingetragen wird. Bleibt das Feld leer (Standard) wird ein Standardtext verwendet.</para>
</sect3>

<sect3 id="soundconfiguration_postprocessing">
<title
>Nachbearbeitung</title>
<para
>Alle aufgenommenen Sprachdaten (Training) und importierten Aufnahmen (mit Hilfe der Funktion "Trainingsdaten importieren") können mit einer Reihe von Nachbearbeitungsbefehlen bearbeitet werden. Nachbearbeitungsketten sind eine fortgeschrittene Funktionalität von simon die vom durchschnittlichen simon-Anwender wohl nicht benötigt werden.</para>

<para>
<screenshot>
<screeninfo
>Aufnahmen einrichten: Nachbearbeitung</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="configure_sound_4.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>Die Nachbearbeitungsbefehle sind wie eine Serie von Filtern, durch die die Aufnahmen durch müssen. Mit diesen <quote
>Filtern</quote
> kann man zum Beispiel Hintergrundrauschen entfernen oder die Aufnahmen normalisieren.</para>

<para
>Given the program <application
>process_audio</application
> which takes the input- and output files as its arguments (&eg;: <command
>process_audio in.wav out.wav</command
>) the postprocessing command would be: <userinput
>process_audio %1 %2</userinput
>. The two placeholders %1 and %2 will be replaced by the input filename and the output filename respectively.</para>

<para
>The switch to <quote
>apply filters to recordings recorded with Simon</quote
> enables the postprocessing chains for samples recorded during the training (including the initial training while adding the word). If you don't select this switch the postprocesing commands are only applied to imported samples (through the <link linkend="import_training-data"
>import training data wizard</link
>).</para>

</sect3>

<sect3 id="configuration_sound_context">
<title
>Kontext</title>

<para
>Every sample recorded with Simon is assigned a <link linkend="sample_group"
>sample group</link
>.</para>

<para
>When creating the acoustic model from the training samples Simon can take the current situation into account to only use a subset of all gathered training data.</para>

<para>
<screenshot>
<screeninfo
>Aufnahmen einrichten: Kontext</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="configure_sound_5.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>For example, in a system where multiple, very different speakers use one shared setup, <link linkend="context_conditions"
>context conditions</link
> can be set up to automatically build separate models for both users depending on the current situation.</para>

<para
>The above screenshot, for example, shows a setup where, given that all samples of "peter" were tagged "peters_samples" and all samples of "mathias" were tagged "mathias_samples" (refer to the <link linkend="soundconfiguration_device"
>device configuration for more information on how to set up sample groups</link
>), the active acoustic model will only contain the current user's own samples as long as the file <filename
>/home/bedahr/.username</filename
> contains either "peter" or "mathias".</para>

<para
>Another example use-case would be to switch to a more noise-resistant acoustic model when the user starts playing music.</para>

</sect3>
</sect2>

<sect2 id="configuration_speechmodel">
<title
>Sprachmodell</title>
<para
>Hier können Sie die Parameter des Sprachmodells anpassen.</para>

<sect3 id="base_model_use">
<title
>Basismodell</title>

<para
>You can optionally use base models to limit / circumvent the training or to avoid installing a model creation backend. Please refer to the general <link linkend="base_model"
>base model section</link
> for more details about base models.</para>

<para>
<screenshot>
<screeninfo
>Einrichtung des Basismodells</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="base_model_settings_1.png" format="PNG"/>
</imageobject>
</mediaobject>
</screenshot>
</para>

<para
>To use a <link linkend="base_model_user_generated"
>user-generated model</link
>, select <guimenuitem
>Do not use a base model</guimenuitem
>. To use a <link linkend="base_model_static"
>static base model</link
>, select a base model and <emphasis
>do not</emphasis
> select <guibutton
>Adapt base model using training samples</guibutton
>. To instead use an <link linkend="base_model_adapted"
>adapted base model</link
>, check <guibutton
>Adapt base model using training samples</guibutton
> after selecting a base model.</para>

<para
>Basismodelle für Simon werden als Pakete aus <filename
>.sbm</filename
>-Dateien bereitgestellt.</para>

<para
>To add base models to the selection, you can either import local models (<menuchoice
><guimenuitem
>Open model</guimenuitem
><guimenuitem
>Import</guimenuitem
></menuchoice
>), download them from an online repository (<menuchoice
><guimenuitem
>Open model</guimenuitem
><guimenuitem
>Download</guimenuitem
></menuchoice
>) or create new ones from raw files (<menuchoice
><guimenuitem
>Open model</guimenuitem
><guimenuitem
>Create from model files</guimenuitem
></menuchoice
>).</para>

<para>
  <screenshot>
    <screeninfo
>Ein Basismodell aus dem Internet importieren</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="base_model_settings_2.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
</para>

<para
>If you have raw model files produced by either supported <link linkend="model_backends"
>model creation backend</link
>, you can package them into SBM container for use with &kmyapplication;.</para>

<para>
  <screenshot>
    <screeninfo
>Basismodelle aus Rohdatendateien erstellen</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="base_model_settings_3.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
</para>

<para
>You can also export your currently active model by selecting <guibutton
>Export active model</guibutton
>. The exported SBM file will contain your full acoustic model (ignoring the <link linkend="configuration_sound_context"
>current context</link
>) that can be <ulink url="http://kde-files.org/index.php?xcontentmode=648"
>shared with other Simon users</ulink
>.</para>
</sect3>

<sect3>
<title
>Trainingsdaten</title>

<para
>In diesem Abschnitt können die Trainingsaufnahmen eingerichtet werden.</para>

<para>
<screenshot>
<screeninfo
>Einrichtung für Trainingsdaten</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="configure_speech_model.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>
<para
>The samplerate set here is the target samplerate of the acoustic model. It has nothing to do with the recording samplerate and it is the responsibility of the user to ensure that the samples are actually made available in that format (usually by recording in that exact samplerate or by defining postprocessing commands that resample the files; see the <link linkend="soundconfiguration"
>sound configuration section</link
> for more details).</para>

<para
>Usually either 16kHz or 8kHz models are built / used. 16kHz models will have higher accuracy over 8kHz models. Going higher than 16kHz is not recommended as it is very cpu-intensive and in practice probably won't result in higher recognition rates.</para>

<para
>Moreover, the path to the training samples can be adjusted. However, be sure that the previously gathered training samples are also moved to the new location. If you use automatic synchronization the Simond would alternatively also provide Simon with the missing sample but copying them manually is still recommended for performance reasons.</para>
</sect3>


<sect3 id="configure_language_profile">
<title
>Sprachenprofile</title>

<para
>In the language profile section you can select a previously built or downloaded <link linkend="language_profile_general"
>language profile</link
> to aid with the transcription of new words.</para>

<para>
<screenshot>
<screeninfo
>Einrichtung von Sprachprofilen</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="language_profile_configuration.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>
</sect3>
</sect2>

<sect2 id="configuration_model_extensions">
<title
>Modellerweiterungen</title>

<para
>Here you can configure the base URL that is going to be used for the <link linkend="import_dict_hadifix"
>automatic bomp import</link
>. The default points to the copy on the Simon listens server.</para>
<para>
<screenshot>
<screeninfo
>Modellerweiterungen</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="configure_model_extensions.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>
</sect2>

<sect2 id="configure_recognition">
<title
>Erkennung</title>

<para
>Hier können Sie die Erkennung und den Modell-Abgleich mit dem Simond-Server einstellen.</para>

<sect3 id="configure_server">
  <title
>Server</title>

  <para
>Mit der Servereinrichtung kann die Verbindung zum Simond-Server angepasst werden.</para>

<sect4 id="configure_server_general">
<title
>Allgemein</title>
<para
>The Simon main application connects to the Simond server (see the <link linkend="architecture"
>architecture section</link
> for more information). </para>

<para>
<screenshot>
<screeninfo
>Server einrichten: Allgemein</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="configure_simond_1.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>To identify individual users of the system (one Simond server can of course serve multiple Simon clients), Simon and Simond use users. Every user has his own speech model. The username / password combination given here is used to log in to Simond. If Simond does not know the username or the password is incorrect, the connection will fail. See the <ulink url="help:/simond"
>Simond manual</ulink
> on how to setup users for Simond.</para>

<para
>The recognition itself - which is done by the server - might not be available at all times. For example it would not be possible to start the recognition as long as the user does not have a compiled acoustic and language model which has to be created first (during synchronization when all the ingredients - vocabulary, grammar, training - are present). Using the option to start the recognition automatically once it is available, Simon will request to start the recognition when it receives the information that it is ready (all <link linkend="needed_parts"
>required components</link
> are available).</para>

<para
>Using the <guilabel
>Connect to server on startup</guilabel
> option, Simon will automatically start the connection to the configured Simond servers after it has finished loading the user interface.</para>
</sect4>

<sect4 id="configure_server_network">
<title
>Netzwerk</title>
<para
>Simon verbindet zum Simond über TCP/IP.</para>

<para>
<screenshot>
<screeninfo
>Server einrichten: Netzwerk</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="configure_simond_2.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>
<para
>Derzeit (Simon 0.4) wird Protokollverschlüsselung nicht unterstützt. </para>
<para
>The timeout setting specifies, how long Simon will wait for a first reply when contacting the hosts. If you are on a very, very slow network and/or use <quote
>connect on start</quote
> on a very slow machine, you may want to increase this value if you keep getting timeout errors and can resolve them by trying again repeatedly. </para>
<para
>Simon supports to be configured to use more than one Simond. This is very useful if you for example are going to use Simon on a laptop which connects to a different server depending where you are. You could for example add the server you use when you are home and the server used when you are at work. When connecting, Simon will try to connect to each of the servers (in order) until it finds one server that accepts the connection.</para>

<para
>Um einen Server hinzuzufügen, geben Sie seinen Rechnernamen oder die IP-Adresse und den Port (mit ":" getrennt) ein oder verwenden Sie den Dialog, der erscheint, wenn Sie den blauen Pfeil neben dem Eingabefeld anklicken und wählen Sie "Hinzufügen".</para>

</sect4>
</sect3>

<sect3 id="configure_synchronization">
<title
>Abgleichen und Modell-Sicherung</title>
<para
>Hier können Sie den Modell-Abgleich einstellen und wenn nötig ältere Versionen Ihres Sprachmodells wiederherstellen.</para>

<para>
<screenshot>
<screeninfo
>Abgleichen und Modell-Sicherung</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="configure_synchronization.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>Simon erstellt die Eingabedateien für das Sprachmodell, welche dann kompiliert und vom Simond-Server für die Erkennung verwendet werden (siehe auch das Kapitel <link linkend="architecture"
>Architektur</link
> für weitere Details). </para>

<para
>The process of sending the speech input files, compiling them and receiving the compiled versions is called <quote
>synchronization</quote
>. Only after the speech model is synchronized the changes take effect and a new restore point is set. This is why per default Simon will always synchronize the model with the server when it changes. This is called <guimenuitem
>Automatic Synchronization</guimenuitem
> and is the recommended setting. </para>
<para
>However, if you want more control you can instruct Simon to ask you before starting the synchronization after the model has changed or to rely on manual synchronization all together. When selecting the manual synchronization you have to manually use the <menuchoice
><guimenuitem
>Actions</guimenuitem
><guimenuitem
>Synchronize</guimenuitem
></menuchoice
> menu item of the Simon main window every time you want to compile the speech model. </para>

<para
>Der Simond-Server bewahrt eine Kopie der letzten fünf Versionen von den <quote
>Quelldateien</quote
> (Wortliste, Grammatik, &etc;) des Modells auf. Wenn Sie eine frühere Version einspielen, wird aber das <emphasis
>kompilierte Modell</emphasis
> anhand dieser Quelldateien automatisch neu generiert.</para>

<para
>Wählen Sie dazu - wenn Sie mit dem Server verbunden sind - eines der verfügbaren Modelle aus und stellen Sie es mit einem Klick auf <guimenuitem
>Modell auswählen</guimenuitem
> wieder her.</para>

</sect3>
</sect2>



<sect2 id="configure_actions">
<title
>Aktionen</title>

<para
>Mit der Einrichtung von Aktionen kann die Reaktion auf Erkennungsergebnisse eingestellt werden.</para>

<sect3 id="configure_actions_recognition">
  <title
>Erkennung</title>

  <para
>Neben dem wahrscheinlichsten Ergebnis kalkuliert Simon die 10 besten Erkennungsergebnisse.</para>
  <para
>Jedes Ergebnis wird mit einer Punkteanzahl zwischen 0 und 1 versehen (wobei 1 einer Sicherheit von 100% entspricht).</para>
  <para
>Mit Hilfe der <guilabel
>Minimale Zuversicht</guilabel
> können Sie eine minimale Zuversicht für Erkennungsergebnisse einstellen. Alle Ergebnisse unter diesem Wert werden ignoriert.</para>

  <para
>Wenn mehr als ein Erkennungsergebnis diesen Wert überschreitet, wird ein Dialog mit den wahrscheinlichsten Ergebnissen anzeigt, aus denen dann ausgewählt werden kann.</para>

  <para>
  <screenshot>
  <screeninfo
>Meinten Sie...?</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="did_you_mean.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
  </para>

  <para
>Dieser Dialog kann über die Einstellung <guibutton
>Bei ungenauen Ergebnissen Auswahlliste anzeigen</guibutton
> kontrolliert werden.</para>
</sect3>
<sect3>
  <title
>Dialog-Schriften</title>
  <para
>Viele Module von Simon haben eine grafische Oberfläche.</para>
  <para
>Die Schriftarten dieser Oberflächen können hier zentral eingestellt werden - unabhängig von den Systemschriftarten Ihres Betriebssystems.</para>

  <para>
  <screenshot>
    <screeninfo
>Nummer eingeben mit spezieller Schriftart</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="input_number_huge_font.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
  </para>
</sect3>

<sect3>
  <title
>Listen</title>
  <para
>Hier finden Sie die globale Listeneinrichtung. Diese fungiert als Vorlage für neue Szenarien, aber wird auch direkt verwendet für das <link linkend="configure_actions_recognition"
>Auswahlfenster für mehrdeutige Erkennungsergebnisse</link
>.</para>
</sect3>
</sect2>

<sect2 id="text-to-speech_config">
<title
>Sprachausgabe</title>

<para
>Some parts of &kmyapplication;, most notably the <link linkend="dialog_command_plugin"
>dialog command plugin</link
> employ text-to-speech (or "TTS") to read text aloud.</para>

<sect3>
<title
>Backends</title>
<para
>Multiple external TTS solutions can be used to allow &kmyapplication; to talk. Multiple backends can be enabled at the same time and will be queried in the configured order until one is found that can synthesize the requested message.</para>

<para
>Die folgenden Backends sind vorhanden: <itemizedlist>
  <listitem
><para
>Aufnahmen</para
><para
>Instead of an engine to convert arbitrary text into speech, text-snippets can be pre-recorded and will be simply played back.</para
></listitem>
  <listitem
><para
>Jovie</para
><para
>Uses the <ulink url="http://www.kde.org/applications/utilities/jovie"
>Jovie TTS system</ulink
>. This requires a valid Jovie set-up.</para
></listitem>
  <listitem
><para
>Web-Dienst</para
><para
>The webservice backend can be used to talk to any TTS engine that has a web front-end that returns <filename
>.wav</filename
> files.</para
></listitem>
</itemizedlist>
</para>
<para>
  <screenshot>
    <screeninfo
>TTS: backend selection</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="tts_1.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
</para>
</sect3>

<sect3>
<title
>Aufnahmen</title>

<para
>Instead of using an external TTS engine, you can also record yourself or other speakers reading the texts aloud. Simon can then play back these pre-recorded snippet when they are requested of it's text-to-speech engine.</para>

<para
>These recorded sound bites are organized into "sets" of different speakers which can also be imported and exported to share them with other &kmyapplication; users.</para>

<para>
  <screenshot>
    <screeninfo
>TTS: Aufnahmen</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="tts_2.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
</para>
</sect3>

<sect3>
<title
>Web-Dienst</title>
<para
>Through the webservice backend, &kmyapplication; can use web-based TTS engines like <ulink url="http://mary.dfki.de"
>MARY</ulink
>.</para>

<para>
  <screenshot>
    <screeninfo
>TTS: Web-Dienst</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="tts_3.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
</para>
<para
>You can provide any Url. &kmyapplication; will replace any instance of "%1" within the configured Url with the text to synthesize. The backend expects the queried webservice to return a <filename
>.wav</filename
> file that will be streamed and outputted through &kmyapplication;'s sound layer - respecting the <link linkend="soundconfiguration_device"
>sound device configuration</link
>.</para>
</sect3>
</sect2>

<sect2 id="social_desktop_config">
<title
>Social-Desktop</title>
<para
>Szenarien können vom Programm Simon aus <link linkend="export_scenario"
>hochgeladen</link
> und <link linkend="import_scenario"
>heruntergeladen</link
> werden.</para>

<para
>Dafür wird KDEs Social-Desktop und die eigene Kategorie für <ulink url="http://kde-files.org/index.php?xcontentmode=692"
>Simon-Szenarien auf kde-files.org</ulink
> verwendet.</para>

<para
>Wenn Sie bereits einen Zugang für <ulink url="http://opendesktop.org"
>opendesktop.org</ulink
> besitzen, können Sie die Anmeldedaten hier angeben. Ansonsten können Sie direkt im Einrichtungsmodul auch einen neuen Zugang anlegen.</para>

<para
>Die Registrierung ist natürlich kostenlos.</para>
</sect2>

<sect2 id="webcam_configuration">
<title
>Webcam-Einrichtung</title>
<para
>In Webcam configuration, you can configure frame per second (fps) and select the webcam to use when multiple webcams are connected to your system. </para>
<para>
  <screenshot>
    <screeninfo
>Webcam-Einrichtung</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="configure_webcam.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
</para>

<para
>Frame per second is the rate at which webcam will produce unique consecutive images called frames. The optimal value of fps is between 5-15 for proper performance. </para>
</sect2>

<sect2 id="jconfs">
<title
>Erweitert: Erkennungsparameter manuell anpassen</title>

<para
>Simon wurde für normale Benutzer entwickelt. Das Benutzerschnittstelle ist darauf ausgelegt, das sogar Endbenutzern ohne Hintergrundwissen in Spracherkennung eigene Sprach- und Akustikmodelle entwerfen können. Dazu sind viele Standardwerte bereits beim ersten Öffnen der Programms festgelegt. </para>
<para
>In special cases (severe speech impairments for example), special configuration might be needed. This is why the raw configuration files for the recognition are also respected by Simon and can of course be modified to suit your needs. </para>

<sect3 id="julius">
<title
>Julius</title>

<para
>Es gibt zwei Teile der Einstellungen für Julius, die angepasst werden können:  <itemizedlist>
<listitem
><para
>adin.jconf</para
><para
>Das ist die Einstellung, die den Soundstream vom Simon-Client zum Simond-Server steuert. Die Datei wird direkt vom „adinstreamer“ gelesen.</para>
<para
>Simon ships with a default adin.jconf without any special parameters. You can change this system wide configuration which will affect all users if there are different user accounts on your machine who all use Simon. To just change the configuration of one of those users copy the file to the user path (see below) and edit this copy.</para>
</listitem>
<listitem
><para
>julius.jconf</para
><para
>Das ist die Einstellung des Simond-Servers, die direkt die Erkennung beeinflusst. Die Datei wird direkt von den Bibliotheken libjulius und libsent gelesen.</para>
<para
>Simond wird auch mit einer Standarddatei <filename
>julius.jconf</filename
> ausgeliefert. Immer wenn ein neuer Benutzer zur Simond-Datenbank hinzugefügt wird, wird automatisch eine Kopie der systemweiten <filename
>julius.jconf</filename
> angelegt und in den Ordner des neuen Benutzers kopiert. Sie können die einzelnen Dateien der jeweiligen Simond-Benutzer natürlich frei anpassen. Die Änderungen an der systemweiten Standardvorlage beeinflussen aber keine bereits angelegten Benutzer.</para>
</listitem>
</itemizedlist>
</para>

<para
>Der Pfad zu den Julius-Einrichtungsdateien wird von der verwendeten Plattform abhängen: <table frame='all'
><title
>Julius-Einrichtungsdateien</title>
<tgroup cols='3' align='left' colsep='1' rowsep='1'>
<colspec colname='c1'/>
<colspec colname='c2'/>
<colspec colname='c3'/>
<thead>
<row>
  <entry
>Datei</entry>
  <entry
>Microsoft Windows</entry>
  <entry
>GNU/Linux</entry>
</row>
</thead>
<tbody>
<row>
  <entry
>adin.jconf (System)</entry>
  <entry
>(Installationspfad)\share\apps\simon\adin.jconf</entry>
  <entry
>`kde4-config --prefix`/share/apps/simon/adin.jconf</entry>
</row>
<row>
  <entry
>adin.jconf (Benutzer)</entry>
  <entry
>%appdata%\.kde\share\apps\simon\adin.jconf</entry>
  <entry
>~/.kde/share/apps/simon/adin.jconf</entry>
</row>
<row>
  <entry
>julius.jconf (Vorlage)</entry>
  <entry
>(Installationspfad)\share\apps\simond\default.jconf</entry>
  <entry
>`kde4-config --prefix`/share/apps/simond/default.jconf</entry>
</row>
<row>
  <entry
>julius.jconf (Benutzer)</entry>
  <entry
>%appdata%\.kde\share\apps\simond\models\(Benutzer)\active\julius.jconf</entry>
  <entry
>~/.kde/share/apps/simond/models/(Benutzer)/active/julius.jconf</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</sect3>

</sect2>

</sect1>

</chapter>


<chapter id="using-simon-advanced">
<title
>Erweitert: Neue Szenarien mit &kmyapplication; erstellen</title>

<para
>The following chapter is aimed towards more experienced users who want to design their own scenarios.</para>

<para
>For general usage instruction, please refer to the chapter <link linkend="using-simon"
>Using &kmyapplication;: Typical user</link
>.</para>

<sect1 id="creating_scenarios_general">
<title
>Einführung</title>
<para
>To add a new scenario, you first create a new scenario "shell" by <link linkend="add_scenario"
>adding a new scenario object</link
> and then <link linkend="main_window_scenarios"
>open it in the &kmyapplication; main window</link
>.</para>

<para
>To instead modify an existing scenario, you of course just have to open it.</para>

<para
>Ein Szenario für &kmyapplication; besteht aus den folgenden Komponenten: <itemizedlist>
<listitem
><para
><link linkend="vocabulary"
>Vokabular</link
></para
></listitem>
<listitem
><para
><link linkend="grammar"
>Grammatik</link
></para
></listitem>
<listitem
><para
><link linkend="training"
>Trainingstexte</link
></para
></listitem>
<listitem
><para
><link linkend="context"
>Kontext</link
></para
></listitem>
<listitem
><para
><link linkend="commands"
>Befehle</link
></para
></listitem>
</itemizedlist>
</para>

<para
>Before describing how to configure these elements in Simon, the next section provides background information that will help you understand the basic principles of speech modelling. This fundamental knowledge is necessary to design sensible scenarios.</para>

</sect1>

<sect1 id="speech_model">
<title
>Spracherkennung: Hintergrundwissen</title>

<note
><para
>Before explaining exactly how you can create new scenarios with Simon, this section introduces some fundamental basics to speech recognition in general.</para
></note>

<para
>Spracherkennungssysteme verwandeln Spracheingabe (von einem Mikrofon) und versuchen diese in einen geschriebenen Text umzuwandeln,. Dazu benutzen sie eine statistische Repräsentation der gesprochenen Sprache. Um es einfach auszudrücken: Der Rechner lernt, wie die Wörter - oder besser gesagt die Laute, die die Wörter ausmachen - klingen. </para>

<para
>Ein Sprachmodell besteht aus zwei Teilen (im Deutschen wird leider nicht zwischen „Sprache“ im Sinne von „Sprechweise“ und der „Sprache“ im Sinne von Deutsch, Englisch, usw. unterschieden. Deshalb besteht das Sprachmodell („speech model“) aus einem Sprachmodell („language model“) und einem Akustikmodell („acoustic model“)): <itemizedlist>
  <listitem
><para
>Sprachmodell</para
></listitem>
  <listitem
><para
>Akustikmodell</para
></listitem>
</itemizedlist>
</para>

<sect2 id="language_model">
<title
>Sprachmodell</title>

<para
>Das Sprachmodell definiert das Vokabular und die Grammatik, die verwendet wird.</para>

<sect3 id="vocabulary_theory">
<title
>Vokabular</title>
<para
>Das Vokabular definiert, welche Wörter der Erkennungsprozess erkennen sollte. Jedes Wort, dass Simon erkennen können soll, muss in der Wortliste vorkommen. </para>
<para
>One entry in the vocabulary defines exactly one <quote
>word</quote
>. In contrast to the common use of the word <quote
>word</quote
>, in Simon <quote
>word</quote
> means one unique combination of the following: <itemizedlist
> <listitem
><para
>Wordname</para
><para
>(The written word itself)</para
></listitem
> <listitem
><para
>Category</para
><para
>(Grammatical category; for example: <quote
>Noun</quote
>, <quote
>Verb</quote
>, &etc;)</para
></listitem
> <listitem
><para
>Pronunciation</para
><para
>(How the word is pronounced; Simon accepts any kind of phonetic as long as it does not use special characters or numbers)</para
></listitem
> </itemizedlist
> That means that plurals or even different cases are different <quote
>words</quote
> to Simon. This is an important design decision to allow more control when using a sophisticated grammar. </para>

<para
>Generell wird empfohlen, dass Vokabular so klein wie möglich zu halten. Je mehr Wörter die Wortliste umfasst, desto wahrscheinlicher ist es, dass Simon etwas Falsches erkennt. </para>

<para
>Example vocabulary (please note that the categories here are deliberately set to Noun / Verb to help the understanding; please to refer to the <link linkend="grammar"
>grammar section</link
> why this might not be the best idea): <table frame='all'
><title
>Beispielvokabular</title>
<tgroup cols='3' align='left' colsep='1' rowsep='1'>
<colspec colname='c1'/>
<colspec colname='c2'/>
<colspec colname='c3'/>
<thead>
<row>
  <entry
>Wort</entry>
  <entry
>Kategorie</entry>
  <entry
>Aussprache</entry>
</row>
</thead>
<tbody>
<row>
  <entry
>Computer</entry>
  <entry
>Substantiv</entry>
  <entry
>k O m p j u: t @ r</entry>
</row>
<row>
  <entry
>Internet</entry>
  <entry
>Substantiv</entry>
  <entry
>I n t @ r n E t</entry>
</row>
<row>
  <entry
>Mail</entry>
  <entry
>Substantiv</entry>
  <entry
>m E I l</entry>
</row>
<row>
  <entry
>Schließen</entry>
  <entry
>Verb</entry>
  <entry
>S l i: s @ n</entry>
</row>
</tbody>
</tgroup>
</table>
</para>

<sect4 id="active_dictionary">
<title
>Aktives Vokabular</title>
<para
>Das Vokabular, dass für die Erkennung verwendet wird, wird als aktives Vokabular bezeichnet.</para>
</sect4>

<sect4 id="shadow_dictionary">
<title
>Schattenlexikon</title>
<para
>Wie bereits gesagt, sollte der Benutzer sein Vokabular so klein wie möglich zu halten. Anderseits sollte es Informationen über die Aussprache von möglichst vielen Wörter beinhalten, um das Hinzufügen neuer Wörter zu erleichtern. </para>
<para
>Simon provides this functionality. We refer to this large reference dictionary as <quote
>shadow dictionary</quote
>. This shadow dictionary is not created by the user but can be imported from various sources. </para>
<para
>As Simon is a multi-language solution we do not ship shadow dictionaries with Simon. However, it is very easy to import them yourself using the import dictionary wizard. This is described in the <link linkend="import_dictionary"
>Import Dictionary section</link
>. </para>
</sect4>
<sect4 id="language_profile_general">
<title
>Sprachenprofile</title>
<para
>Additionally to a shadow dictionary, Simon can use a language profile to provide help with transcribing words. </para>

<para
>A language profile consists of rules how words are pronounced in the target language. It can be likened to the way that humans can often pronounce a word they never heard just because they know some implicit "pronunciation rules" of the language.</para>

<para
>Just as with humans, this process is not perfect but can provide a solid starting ground.</para>

<para
>This automatic deduction of a phoneme transcription from a written word is called "grapheme to phoneme conversion".</para>

<para
>Simon requires the <ulink url="http://www-i6.informatik.rwth-aachen.de/web/Software/g2p.html"
>Sequitur G2P</ulink
> grapheme to phoneme converter to be installed and set up for language profiles to work.</para>

<para
>If you have <link linkend="configure_language_profile"
>selected a pre-built language profile</link
> or <link linkend="create_language_profile"
>built your own</link
>, Simon will automatically transcribe new words with it when they are not found in your <link linkend="shadow_dictionary"
>shadow dictionary</link
>.</para>

</sect4>
</sect3>

<sect3 id="grammar_general">
<title
>Grammatik</title>
<para
>Die Grammatik definiert, welche Wortkombinationen korrekt sind. </para>
<para
>Beispiel: Sie wollen Simon benutzen, um Programme zu starten und die Programmfenster zu schließen, wenn Sie fertig sind. Sie würden gerne die folgenden Befehle verwenden: <itemizedlist>
  <listitem
><para
><quote
>Rechner, Internet</quote
>, um einen Browser zu öffnen</para
></listitem>
  <listitem
><para
><quote
>Rechner, E-Mail</quote
></para
><para
>Um ein E-Mailprogramm zu öffnen</para
></listitem>
  <listitem
><para
><quote
>Rechner, schließen</quote
></para
><para
>Um das aktuelle Fenster zu schließen</para
></listitem>
</itemizedlist>
</para>
<para
>Wenn wir der deutschen Grammatik folgen, würde die Grammatik die folgenden Einträge beinhalten: <table frame='all'
><title
>Beispielvokabular</title>
<tgroup cols='2' align='left' colsep='1' rowsep='1'>
<colspec colname='c1'/>
<colspec colname='c2'/>
<thead>
<row>
  <entry
>Wort</entry>
  <entry
>Kategorie</entry>
</row>
</thead>
<tbody>
<row>
  <entry
>Computer</entry>
  <entry
>Substantiv</entry>
</row>
<row>
  <entry
>Internet</entry>
  <entry
>Substantiv</entry>
</row>
<row>
  <entry
>Mail</entry>
  <entry
>Substantiv</entry>
</row>
<row>
  <entry
>Schließen</entry>
  <entry
>Verb</entry>
</row>
</tbody>
</tgroup>
</table>
</para>

<para
>Für die oben definierten Sätze wird folgende Grammatik benötigt: <itemizedlist>
  <listitem
><para
><quote
>Nomen Nomen</quote
> für Sätze wie <quote
>Rechner Internet</quote
></para
></listitem>
  <listitem
><para
><quote
>Nomen Verb</quote
> für Sätze wie <quote
>Rechner schließen</quote
></para
></listitem>
</itemizedlist>
</para>
<para
>While this would work, it would also allow the combinations <quote
>Computer Computer</quote
>, <quote
>Internet Computer</quote
>, <quote
>Internet Internet</quote
>, &etc; which are obviously bogus. To improve the recognition accuracy, we can try to create a grammar that better reflects what we are trying to do with Simon. </para>

<para
>It is important to remember that you define your own <quote
>language</quote
> when using Simon. That means that you are not bound to grammar rules that exist in whatever language you want to use Simon with. For a simple command and control use-case it would for example be advisable to invent new grammatical rules to eliminate the differences between different commands imposed by grammatical information not relevant for this use case. </para>

<para
>In the example above it is for example not relevant that <quote
>close</quote
> is a verb or that <quote
>Computer</quote
> and <quote
>Internet</quote
> are nouns. Instead, why not define them as something that better reflects what we want them to be: <table frame='all'
><title
>Verbessertes Beispielvokabular</title>
<tgroup cols='2' align='left' colsep='1' rowsep='1'>
<colspec colname='c1'/>
<colspec colname='c2'/>
<thead>
<row>
  <entry
>Wort</entry>
  <entry
>Kategorie</entry>
</row>
</thead>
<tbody>
<row>
  <entry
>Computer</entry>
  <entry
>Auslöser</entry>
</row>
<row>
  <entry
>Internet</entry>
  <entry
>Befehl</entry>
</row>
<row>
  <entry
>Mail</entry>
  <entry
>Befehl</entry>
</row>
<row>
  <entry
>Schließen</entry>
  <entry
>Befehl</entry>
</row>
</tbody>
</tgroup>
</table>
</para>

<para
>Now we change the grammar to the following: <itemizedlist
> <listitem
><para
><quote
>Trigger Command</quote
></para
></listitem
> </itemizedlist
> This allows all the combinations described above. However, it also limits the possibilities to exactly those three sentences. Especially in larger models a well thought grammar and vocabulary can mean a huge difference in recognition results. </para>
</sect3>


</sect2>

<sect2 id="acoustic_model">
<title
>Akustikmodell</title>
<para
>Das Akustikmodell repräsentiert die Aussprache in einem maschinenlesbaren Format.</para>

<para
>Betrachten wir das folgende Beispielvokabular: <table frame='all'
><title
>Beispielvokabular</title>
<tgroup cols='3' align='left' colsep='1' rowsep='1'>
<colspec colname='c1'/>
<colspec colname='c2'/>
<colspec colname='c3'/>
<thead>
<row>
  <entry
>Wort</entry>
  <entry
>Kategorie</entry>
  <entry
>Aussprache</entry>
</row>
</thead>
<tbody>
<row>
  <entry
>Computer</entry>
  <entry
>Substantiv</entry>
  <entry
>k O m p j u: t @ r</entry>
</row>
<row>
  <entry
>Internet</entry>
  <entry
>Substantiv</entry>
  <entry
>I n t @ r n E t</entry>
</row>
<row>
  <entry
>Mail</entry>
  <entry
>Substantiv</entry>
  <entry
>m E I l</entry>
</row>
<row>
  <entry
>Schließen</entry>
  <entry
>Verb</entry>
  <entry
>S l i: s @ n</entry>
</row>
</tbody>
</tgroup>
</table>
</para>

<para
>Die Aussprache jedes Wortes besteht aus einzelnen Lauten, die durch Leerzeichen getrennt sind. Das Wort <quote
>schließen</quote
> besteht beispielsweise aus den folgenden Lauten: <itemizedlist
><listitem
><para
>S</para
></listitem
><listitem
><para
>l</para
></listitem
><listitem
><para
>i:</para
></listitem
><listitem
><para
>s</para
></listitem
><listitem
><para
>@</para
></listitem
><listitem
><para
>n</para
></listitem
></itemizedlist
> Das Akustikmodell nutzt die Tatsache, dass gesprochene Wörter genauso aus Lauten bestehen wie geschriebene Wörter aus Buchstaben. Darauf aufbauend können wir Wörter in einzelne Laute zerlegen und sie bei der Erkennung wieder „zusammenbauen“. Diese Bausteine nennt man <quote
>Phoneme</quote
>. </para>

<para
>Das Akustikmodell beinhaltet Daten, wie die einzelnen Phoneme und nicht ganze Wörter vom Anwender ausgesprochen werden. Das Trainingsmaterial eines Wortes beeinflusst deshalb auch die Erkennungsrate ähnlicher Worte positiv. </para>
<para
>That means if you add the word <quote
>clothes</quote
> to the language model, your acoustic model already has an idea how the <quote
>clo</quote
> part is going to sound as they share the same phonemes (<quote
>k</quote
>, <quote
>l</quote
>, <quote
>ow</quote
>) at the beginning. </para>
<para
>To train the acoustic model (in other words to tell him how you pronounce the phonemes) you have to <quote
>train</quote
> words from your language model. That means that Simon displays a word which you read out loud. Because the word is listed in your vocabulary, Simon already knows what phonemes it contains and can thus <quote
>learn</quote
> from your pronunciation of the word. </para>
</sect2>


</sect1>


<sect1 id="scenarios_use_advanced">
<title
>Szenarien</title>
<para
>This section extends the previous one about <link linkend="scenarios_use"
>basic scenario management</link
> and tells you how to create, edit and export scenarios.</para>

<para>
  <screenshot>
    <screeninfo
>Szenarien verwalten</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="manage_scenarios_1.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
</para>

<sect2 id="scenario_hierarchies">
<title
>Hierarchien für Szenarien</title>

<para
>You can create scenario hierarchies by dragging and dropping active scenarios on top of each other.</para>

<para>
  <screenshot>
    <screeninfo
>Szenarien verwalten: Hierarchien für Szenarien</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="manage_scenarios_2.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
</para>

<para
>Scenario hierarchies serve two purposes: <itemizedlist>
<listitem
><para
>The <link linkend="context"
>context system</link
> respects scenario hierarchies: If the parent scenario gets deactivated, all child scenarios will become deactivated as well.</para
></listitem>
<listitem
><para
>If you attempt to <link linkend="export_scenario"
>export a scenario</link
> that has children, &kmyapplication; will allow you to export them in a joint scenario package. This way, you can share multiple logically co-dependent scenarios (&eg; one "Office" scenario that contains sub-scenarios for "Word", "Excel", etc.).</para
></listitem>
</itemizedlist>
</para>

</sect2>

<sect2 id="add_scenario">
  <title
>Ein neues Szenario hinzufügen</title>
  <para
>Um ein neues Szenario hinzuzufügen, wählen Sie den Knopf <guibutton
>Hinzufügen</guibutton
> aus. Ein Dialog wird angezeigt.</para>

<para>
  <screenshot>
    <screeninfo
>Szenario hinzufügen</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="add_scenario.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
</para>

<para
>When creating a new scenario, please give it a descriptive name. For the later upload on <ulink url="http://kde-files.org/index.php?xcontentmode=692"
>KDE files</ulink
> we would kindly ask you to follow a certain naming scheme although this is of course not a requirement: <quote
>[&lt;language&gt;/&lt;base model&gt;] &lt;name&gt;</quote
>. If, for example you create a scenario in English that works with the Voxforge base model and controls Mozilla Firefox this becomes: <quote
>[EN/VF] Firefox</quote
>. If your scenario is not specifically tailored to one phoneme set (base model), just omit the second tag like this: <quote
>[EN] Firefox</quote
>.</para>

<para
>The scenario version is just an incremental version number that makes it easier to distinguish between different revisions of a scenario.</para>

<para
>Wenn Ihr Szenario eine spezielle Funktion von Simon verwendet (zum Beispiel ein neues Modul), können Sie hier die minimal benötigte Simon-Versionsnummer angeben. Wurde die benötigte Funktionalität entfernt, lässt sich auch eine maximale Versionsnummer definieren.</para>

<para
>Die Lizenz lässt sich über das Auswahlfeld auswählen. Sie können auch beliebigen Text in das Eingabefeld eintragen.</para>

<para
>Sie können Ihren Namen (oder Alias) zu der Liste der Szenarioautoren hinzufügen. Sie werden auch nach einer Kontaktmöglichkeit gefragt werden. Diese Kontaktmöglichkeit kann dazu verwendet werden, den Autor über Änderungen der Szenarien in Simon zu kontaktieren &etc; Wenn Sie keine Kontaktinformation möchten, geben Sie einfach einen Strich <quote
>-</quote
> ein.</para>

</sect2>

<sect2 id="edit_scenario">
<title
>Szenarien bearbeiten</title>
<para
>Um Szenarien zu editieren, wählen Sie <guibutton
>Bearbeiten</guibutton
> im Dialog <guilabel
>Szenarien verwalten</guilabel
>.</para>
<para
>Der Dialog funktioniert genauso wie der Dialog<link linkend="add_scenario"
>Szenarien hinzufügen</link
>.</para>
</sect2>

<sect2 id="export_scenario">
  <title
>Szenarien exportieren</title>
  <para
>Szenarien können in eine lokale Datei im Format XML-Szenario exportiert werden. Diese Datei kann dann in den Abschnitt <ulink url="http://kde-files.org/index.php?xcontentmode=692"
>Simon-Szenarien</ulink
> der OpenDesktop-Seite <ulink url="http://kde-files.org"
>KDE-files.org</ulink
> hochgeladen werden.</para>

  <para
>To upload to OpenDesktop sites, you need an account on the site. <ulink url="http://opendesktop.org/usermanager/new.php"
>Registration</ulink
> is very easy and of course free of charge.</para>

  <para
>Simon erlaubt es Ihnen, neue Inhalte direkt von der Benutzeroberfläche heraus hochzuladen (<guibutton
>Exportieren</guibutton
> 
> <guimenuitem
>Veröffentlichen</guimenuitem
>).</para>

<para>
  <screenshot>
    <screeninfo
>Szenarien hochladen: 1 von 4</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="upload_scenario_1.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
</para>

<para>
  <screenshot>
    <screeninfo
>Szenarien hochladen: 2 von 4</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="upload_scenario_2.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
</para>

<para>
  <screenshot>
    <screeninfo
>Szenarien hochladen: 3 von 4</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="upload_scenario_3.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
</para>

<para>
  <screenshot>
    <screeninfo
>Szenarien hochladen: 4 von 4</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="upload_scenario_4.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
</para>

  <para
>To use this functionality, simply enter your account credentials in the <link linkend="social_desktop_config"
>social desktop configuration</link
> in the Simon configuration.</para>

</sect2>
</sect1>


<sect1 id="vocabulary">
<title
>Vokabular</title>

<para
>Das Vokabularmodul definiert die Menge der Wörter des Szenarios. <screenshot>
<screeninfo
>Simons Vokabular</screeninfo>
<mediaobject>
<imageobject>
  <imagedata fileref="vocabulary.png"   format="PNG"/>
</imageobject>
</mediaobject>
</screenshot>
</para>

<para
>Standardmäßig wird das aktive Vokabular angezeigt. Um das Schattenvokabular anzuzeigen wählen Sie die Registerkarte <guilabel
>Schattenvokabular</guilabel
>.</para>

<para
>Für jedes Wort wird eine <quote
>Erkennungsrate</quote
> angezeigt. Die Erkennungsrate zeigt an, wie oft ein Wort aufgenommen wurde (alleine oder zusammen mit anderen Wörtern). </para>

<para>
<screenshot>
<screeninfo
>Schattenvokabular</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="vocabulary1.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>


</para>

<sect2 id="add_word">
<title
>Wörter hinzufügen</title>
<para
>Um neue Wörter zum aktiven Vokabular hinzuzufügen, benutzen Sie bitte den Assistenten „Wort hinzufügen“.</para>
<para
>Wörter in Simon hinzuzufügen besteht im Prinzip aus zwei Schritten: <itemizedlist>
<listitem
><para
>Definition des Wortes</para
></listitem>
<listitem
><para
>Erstes Training</para
></listitem>
</itemizedlist>
</para>

<sect3 id="add_word_define">
<title
>Definition des Wortes</title>
<para
>Zuerst wird der Benutzer gefragt, welches Wort hinzugefügt werden soll. <screenshot>
<screeninfo
>Wählen Sie das Wort, das hinzugefügt werden soll</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="add_word_1.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>Wenn der Benutzer weiter zur nächsten Seite geht, versucht Simon automatisch, so viel Information wie möglich über das hinzuzufügende Wort im <link linkend="shadow_dictionary"
>Schattenlexikon</link
> zu finden. </para>

<para
>Wenn das Wort im Schattenlexikon vorkommt, werden automatisch alle benötigten Felder ausgefüllt (Kategorie und Aussprache). <screenshot>
<screeninfo
>Felder mit Hilfe des Schattenlexikon automatisch ausgefüllt</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="add_word_2.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>
<para
>All suggestions from the shadow dictionary are listed in the table <guilabel
>Similar words</guilabel
>. Per default only exact word matches are shown. However, this can be changed by checking the <guilabel
>Include similar words</guilabel
> check box below the suggestion table. Using similar words you can quickly deduce the correct pronunciation of the word you are actually trying to add. See <link linkend="manual_transcription"
>below</link
> for details.</para>

<para
>Das hängt natürlich von Ihrem Schattenlexikon ab. Wenn das Schattenlexikon die Wörter, die Sie hinzufügen wollen, nicht enthält, müssen die notwendigen Felder manuell ausgefüllt werden.</para>

<para
>Manche Wörterbücher, die von Simon importiert werden können (SPHINX, HTK), unterscheiden nicht zwischen Groß- und Kleinschreibung und beinhalten alle Wörter in Großbuchstaben. Natürlich kann die Schreibweise beim Hinzufügen frei geändert werden. </para>

<para
>Einige Wörterbücher, die von Simon importiert werden können (SPHINX, PLS und HTK), beinhalten keine grammatikalische Information. Da alle Wörter in Simon einer Kategorie angehören müssen, wird ihnen die Kategorie <guilabel
>Unbekannt</guilabel
> beim Import zugewiesen. Sie sollten beim Hinzufügen der Wörter zum aktiven Lexikon dann die Kategorie entsprechend anpassen. </para>

<sect4>
<title
>Manuelle Auswahl einer Kategorie</title>
<para
>The category of the word is defined as the grammatical category the word belongs to. This might be <guilabel
>Noun</guilabel
>, <guilabel
>Verb</guilabel
> or completely new categories like <guilabel
>Command</guilabel
>. For more information see the <link linkend="grammar"
>grammar section</link
>.</para>
<para
>Die Liste beinhaltet alle Kategorien, die bis jetzt in Ihrem aktiven und Schattenlexikon sowie in Ihrer Grammatik verwendet wurden. </para>
<para
>Sie können neue Kategorien zu der Liste hinzufügen, indem Sie das grüne Plus-Symbol verwenden. </para>
</sect4>

<sect4 id="manual_transcription">
<title
>Phonetische Transkription manuell angeben</title>
<para
>The pronunciation is a bit trickier. Simon does not need a certain type of phonetics so you are free to use any method as long as it uses only ASCII characters and no numbers. However, if you want to use a shadow dictionary and want to use it to its full potential you should use the same phonetics as the shadow dictionary. </para>

<para
>If you do not know how to transcribe a word yourself you can easily use your shadow dictionary to help you with the transcription - even if the word is not listed in it. Let's say we want to add the word <quote
>Firefox</quote
> (to launch firefox) which is of course not listed in our shadow dictionary. </para>

<para
>(I imported the English voxforge HTK lexicon available from <ulink url="http://voxforge.org/home/downloads"
>voxforge</ulink
> as a shadow dictionary.) </para>

<para
><quote
>Firefox</quote
> ist nicht in unserem Schattenlexikon enthalten. Deshalb schlägt simon keine Werte vor. <screenshot>
<screeninfo
>Ein unbekanntes Wort hinzufügen</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="add_word_2_2.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>However, we know that firefox sounds like <quote
>fire</quote
> and <quote
>fox</quote
> put together. So let's just open the vocabulary (you can keep the wizard open) by selecting <guibutton
>Vocabulary</guibutton
> from your Simon main toolbar. </para>
<para
>Wechseln Sie zum Schattenvokabular, indem Sie auf den Karteireiter <guilabel
>Schattenvokabular</guilabel
> klicken.</para>
<para
>Suchen Sie mit der Filterfeld über der Liste nach <quote
>Feier</quote
>: <screenshot>
<screeninfo
>Ein unbekanntes Wort hinzufügen: Suchen nach der Betonung</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="add_word_2_3.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>We can see, that the word <quote
>Fire</quote
> is transcribed as <quote
>f ay r</quote
>. Now filter for <quote
>fox</quote
> instead of <quote
>Fire</quote
> and we can see that <quote
>Fox</quote
> is transcribed as <quote
>f ao k s</quote
>. We can assume, that firefox should be transcribed as <quote
>f ay r f ao k s</quote
>. </para>

<para
>Using this approach of deducing the pronunciation from parts of the word has the distinct advantage that we not only get a high quality transcription but also automatically use the same phoneme set as the other words which were correctly pulled out of the shadow dictionary. </para>

<para
>Sie können jetzt die korrekte Aussprache angeben und die Kategorie ändern. <screenshot>
<screeninfo
>Komplett definiertes Wort</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="add_word_2_4.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

</sect4>

</sect3>

<sect3 id="add_word_record">
<title
>Wörter trainieren</title>
<para
>Um den Assistenten abzuschließen, können Sie jetzt das Wort zwei mal aufnehmen. Falls Sie das nicht möchten oder zum Beispiel ein <link linkend="base_model_static"
>statisches Modell</link
> verwenden, können Sie die folgenden zwei Seiten überspringen. </para>

<para
>Because you are about to record some training samples, Simon will display the volume calibration to make sure that your microphone is set up correctly. For more information please refer to the <link linkend="volume_calibration"
>volume calibration section</link
> </para>

<para
>Simon will try to prompt you for real-world examples. To do that, Simon will automatically fetch grammar structures using the category of the word and substitute the generic categories with example words from your active lexicon. </para>
<para
>For example: You have the grammar structure <quote
>Trigger Command</quote
> and have the word <quote
>Computer</quote
> of the category <quote
>Trigger</quote
> in your vocabulary. You then add a new word <quote
>Firefox</quote
> of the category <quote
>Command</quote
>. Simon will now automatically prompt you for <quote
>Computer Firefox</quote
> as it is - according to your grammar - a valid sentence. </para>
<para
>Wenn keinen gültiger Satz gebildet werden kann (z.B. wenn die Kategorie (noch) nicht in ihrer Grammatik vorkommt oder Sie keine Grammatik definiert haben), werden Sie nur nach dem einzelnen Wort gefragt. </para>
<para
>Although Simon ensures that the automatically generated examples are valid, you can always override its suggestions. Just switch to the <guilabel
>Examples</guilabel
> tab on the <guilabel
>Define Word</guilabel
> page. <screenshot>
<screeninfo
>Wortbeispiele ändern</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="add_word_3.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>Sie können die Beispiele frei editieren. Sie können sogar Wörter verwenden, die noch nicht in Ihrem aktivem Lexikon vorkommen, solange Sie sie hinzufügen, bevor Sie das nächste mal das Modell abgleichen. Das wird jedoch nicht empfohlen. </para>

<para
>Nun bleibt nur noch das Wort aufzunehmen. <screenshot>
<screeninfo
>Aufnahme</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="add_word_4.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>
<para
>Make sure you follow the guidelines listed in the <link linkend="recording"
>recording section</link
>.</para>
</sect3>

</sect2>

<sect2 id="edit_word">
<title
>Wörter bearbeiten</title>
<para
>Um ein Wort zu ändern, wählen Sie es im angezeigten Vokabular aus und klicken Sie auf <guibutton
>Bearbeiten</guibutton
>. </para>

<para>
  <screenshot>
    <screeninfo
>Wort bearbeiten</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="edit_word.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
</para>

<para
>Hier können Sie Namen, Kategorie und Aussprache des ausgewählten Wortes ändern. </para>
</sect2>

<sect2 id="remove_word">
<title
>Wörter entfernen</title>

<para
>Um ein Wort aus dem Sprachmodell zu entfernen, wählen Sie es im Vokabular aus und klicken dann auf <guibutton
>Entfernen</guibutton
>. <screenshot>
<screeninfo
>Aufnahme</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="delete_word.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot
></para>

<para
>Wie Sie sehen, bietet der Dialog vier Auswahlmöglichkeiten: <itemizedlist>
  <listitem>
    <para
>Das Wort zur Kategorie <guilabel
>Ungenutzt</guilabel
> verschieben.</para>
    <para
>Weil Sie (hoffentlich) die Kategorie <guilabel
>Unbenutzt</guilabel
> in Ihrer Grammatik nicht verwenden, werden Wörter dieser Kategorie nicht länger für die Erkennung verwendet. Sie werden vom aktiven Vokabular entfernt, bevor das Modell erstellt wird, weil keine Grammatikstruktur sie mehr referenziert.</para>
    <para
>If you want to use the category <guilabel
>Unused</guilabel
> in your grammar, you can of course use a different category for unused words. Just set the category through the <link linkend="edit_word"
>Edit word</link
> dialog.</para>
    <para
>Um das Wort erneut zu verwenden, setzen Sie es wieder auf die richtige Kategorie. Assoziierte Trainingsdaten bleiben erhalten.</para>
  </listitem>
  <listitem>
    <para
>Verschiebt das Wort zum Schattenlexikon</para>
    <para
>This will remove the selected word from the active lexicon (and thus from the recognition) but will keep a copy in the shadow vocabulary. All the recordings containing the word will be preserved.</para>
    <para
>Um das Wort wieder zu verwenden, fügen Sie es wieder zum aktiven Vokabular dazu. Wenn Sie ein neues Wort mit dem selben Namen hinzufügen, werden die Werte dieses Wortes vorgeschlagen. Es gehen also keine Daten unwiederbringlich verloren.</para>
  </listitem>
  <listitem>
    <para
>Wort löschen aber Aufnahmen behalten</para>
    <para
>Entfernt das Wort komplett, aber behält Aufnahmen, in denen es vorkommt. Wenn Sie ein weiteres Wort mit dem selben Namen hinzufügen, werden die Aufnahmen wieder damit assoziiert.</para>
    <para
>Be careful with this option as the new word you add again might be transcribed differently and this difference cannot be taken into account automatically (Simon will then try to force the new transcription on the old recordings during the model compilation).</para>
    <para
>Wählen Sie diese Option nicht, wenn die Aufnahmen für das Wort falsch (betont) waren.</para>
  </listitem>
  <listitem
><para
>Das Wort komplett löschen</para>
  <para
>Entfernt das Wort. Alle Aufnahmen, die das Wort beinhalten, werden ebenfalls entfernt.</para>
  <para
>Diese Option lässt keine Spuren weder von dem Wort selbst noch von assoziierten Sprachdaten auf dem System zurück.</para>
  <para
>Da Aufnahmen global sind (nicht zu einem spezifischen Szenario zugewiesen), werden auch Aufnahmen, die in Trainingssitzungen von anderen Szenarien aufgenommen wurden, entfernt, wenn Sie dieses Wort beinhalten. Verwenden Sie diese Funktion mit Vorsicht.</para>
  </listitem>
</itemizedlist>
</para>

</sect2>

<sect2 id="special_training_stub">
<title
>Spezialtraining</title>
<para
>Please see the <link linkend="special_training"
>special training section in the training section</link
>.</para>
</sect2>


<sect2 id="import_dictionary">
<title
>Wörterbücher importieren</title>
<para
>Simon bietet die Möglichkeit, große Wörterbücher als Nachschlagewerk zu importieren. Diese Nachschlagewerke werden <link linkend="shadow_dictionary"
>Schattenlexikon</link
> genannt. </para>
<para
>Wenn der Benutzer <link linkend="add_word"
>ein neues Wort hinzufügt</link
>, muss er die folgenden Charakteristika des Wortes angeben: <itemizedlist>
  <listitem
><para
>Wortname</para
></listitem>
  <listitem
><para
>Kategorie</para
></listitem>
  <listitem
><para
>Phonetische Definition</para
></listitem>
</itemizedlist>
</para>
<para
>These characteristics are taken out of the shadow dictionary if it contains the word in question. A large, high quality shadow dictionary can thus help the user to easily add new words to the model without keeping track of the phoneme set or - in many cases - even let him forget that the phonetic transcription is needed at all. </para>

<para>
  <screenshot>
    <screeninfo
>Wörterbuch importieren: Einführung</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="import_dictionary_0.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
</para>

<para
>Since version 0.3 you can also import dictionaries directly to the active dictionary. This option is mostly there to make it easier to move to Simon from custom solutions and to encourage importing of older models (for example one used with Simon 0.2). You will <emphasis
>almost never</emphasis
> want to import a very large dictionary as active dictionary.</para>

<para
>Sie finden eine Liste verfügbarer Wörterbücher, die mit Simon getestet wurden, im <ulink url="http://userbase.kde.org/Special:myLanguage/Simon/Shadow_dictionary"
>Simon-Wiki</ulink
>.</para>

<para
>Simon kann derzeit mit fünf verschiedenen Wörterbuchformaten umgehen: <itemizedlist>
  <listitem
><para
>HADIFIX</para
></listitem>
  <listitem
><para
>HTK</para
></listitem>
  <listitem
><para
>PLS</para
></listitem>
  <listitem
><para
>SPHINX</para
></listitem>
  <listitem
><para
>Julius</para
></listitem>
</itemizedlist>
</para>



<sect3 id="import_dict_hadifix">
<title
>HADIFIX-Wörterbuch</title>
<para
>Simon kann HADIFIX-Wörterbücher importieren. </para>
<para
>Ein Beispiel eines HADIFIX-Wörterbuches ist das deutsche <ulink url="http://www.sk.uni-bonn.de/forschung/phonetik/sprachsynthese/bomp"
>HADIFIX BOMP</ulink
>. </para>
<para
>Hadifix-Wörterbücher enthalten Informationen sowohl über Kategorien wie auch über die Aussprache. </para>

<para
>Due to a special exemption in their license the Simon listens team is proud to be able to offer you to download the excellent HADIFIX BOMP directly from within Simon. </para>


<para>
  <screenshot>
    <screeninfo
>Wörterbuch importieren: Automatischer BOMP-Import</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="import_dictionary_hadifix_1.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
</para>

<para
>Using the automatic bomp import you can, after providing name and e-Mail address for the team of the University Bonn, directly download and import the dictionary from the Simon listens server.</para>
</sect3>

<sect3 id="import_dict_htk">
<title
>HTK-Wörterbuch</title>
<para
>Simon kann HTK-Wörterbücher importieren </para>
<para
>Ein Beispiel eines HTK-Wörterbuchs ist das englische <ulink url="http://www.repository.voxforge1.org/downloads/SpeechCorpus/Trunk/Lexicon/"
>Voxforge Wörterbuch</ulink
>. </para>
<para
>HTK-Wörterbücher bieten Ausspracheinformationen, aber keine Kategorien. Alle Wörter werden der Kategorie <guilabel
>Unbekannt</guilabel
> zugewiesen. </para>
</sect3>

<sect3 id="import_dict_pls">
<title
>PLS-Wörterbuch</title>
<para
>Simon kann PLS-Wörterbücher importieren. </para>
<para
>Ein Beispiel eines PLS-Wörterbuches ist das <ulink url="http://www.repository.voxforge1.org/downloads/de/Trunk/Lexicon/"
>Deutsche GPL Wörterbuch von Voxforge</ulink
>. </para>
<para
>PLS-Wörterbücher bieten Ausspracheinformationen, aber keine Kategorien. Alle Wörter werden der Kategorie <guilabel
>Unbekannt</guilabel
> zugewiesen. </para>
</sect3>

<sect3 id="import_dict_sphinx">
<title
>SPHINX-Wörterbuch</title>
<para
>Simon kann SPHINX-Wörterbücher importieren. </para>
<para
>Ein Beispiel eines SPHINX-Wörterbuches ist das <ulink url="http://speech.mty.itesm.mx/~jnolazco/proyectos.htm"
>Wörterbuch für Mexikanisches Spanisch</ulink
>. </para>
<para
>SPHINX-Wörterbücher bieten Ausspracheinformationen, aber keine Kategorien. Alle Wörter werden der Kategorie <guilabel
>Unbekannt</guilabel
> zugewiesen. </para>
</sect3>

<sect3 id="import_dict_julius">
<title
>Julius-Wörterbuch</title>
<para
>Simon kann Julius-Wörterbücher importieren. </para>
<para
>Ein Beispiel eines Julius-Wörterbuchs sind Wortlisten von Simon 0.2. </para>
<para
>Julius-Wörterbücher enthalten Informationen über Aussprache und Kategorie. </para>
</sect3>
</sect2
> <!-- End Import Dict -->

<sect2 id="create_language_profile">
<title
>Sprachenprofile erstellen</title>
<para
>Here, you can build a <link linkend="language_profile_general"
>language profile</link
> from your shadow dictionary.</para>

<para>
<screenshot>
<screeninfo
>Sprachenprofile erstellen</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="create_language_profile.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>After selecting <guibutton
>Create profile</guibutton
>, &kmyapplication; will analyze your current shadow dictionary and try to deduce the transcription rules from it.</para>
<para
>This is generally a very length process and can, depending on the size of your shadow dictionary, take up to several hours.</para>
<para
>Die erzeugten Profile werden automatisch ausgewählt, wenn der Prozess beendet ist.</para>

</sect2>

</sect1
> <!-- End Vocabulary -->


<sect1 id="grammar">
<title
>Grammatik</title>

<para
>Simon bietet eine einfache text-basierte Oberfläche, um die Grammatik zu definieren. Sie können einfach alle erlaubten Sätze (ohne Satzzeichen) wie oben beschrieben eingeben. <screenshot>
<screeninfo
>Grammatik</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="grammar.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>Wenn Sie einen Satz links auswählen, werden im Feld rechts automatisch richtige Sätze, die mit Ihrem aktuellen Vokabular dadurch ermöglicht werden, angezeigt.</para>

<para
>Im Beispielabschnitt werden höchstens 35 Einträge angezeigt. Wenn es mehr zum ausgewählten Grammatikeintrag passende Sätze gibt, werden nicht alle angezeigt.</para>

<sect2>
<title
>Eine Grammatik importieren</title>
<para
>Additionally to simply entering your desired grammar sentence by sentence, Simon is able to automatically deduce allowed grammar structures by reading plain text using the Import Grammar wizard. <screenshot>
<screeninfo
>Eine Grammatik importieren</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="import_grammar.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>Simon kann Textdateien einlesen, aber erlaubt auch direkte Eingabe von Text in ein Eingabefeld.</para>

<para
>Say we have a vocabulary like in the general section above: <table frame='all'
><title
>Verbessertes Beispielvokabular</title>
<tgroup cols='2' align='left' colsep='1' rowsep='1'>
<colspec colname='c1'/>
<colspec colname='c2'/>
<thead>
<row>
  <entry
>Wort</entry>
  <entry
>Kategorie</entry>
</row>
</thead>
<tbody>
<row>
  <entry
>Computer</entry>
  <entry
>Auslöser</entry>
</row>
<row>
  <entry
>Internet</entry>
  <entry
>Befehl</entry>
</row>
<row>
  <entry
>Mail</entry>
  <entry
>Befehl</entry>
</row>
<row>
  <entry
>Schließen</entry>
  <entry
>Befehl</entry>
</row>
</tbody>
</tgroup>
</table
></para>

<para
>We want Simon to recognize the sentence <quote
>Computer Internet!</quote
>. So we either enter the text using the <guibutton
>Import text</guibutton
> option or create a simple text file with this content <quote
>Computer Internet!</quote
> (any punctuation mark would work) and save it as <filename
>simongrammar.txt</filename
> to use the <guibutton
>Import files</guibutton
> option. <screenshot>
<screeninfo
>Grammatik importieren: Text eingeben</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="import_grammar1.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>

<screenshot>
<screeninfo
>Grammatik importieren: Textdatei</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="import_grammar2.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>

<screenshot>
<screeninfo
>Grammatik importieren: Dateien auswählen</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="import_grammar3.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>Simon will then read the entered text or all the given text files (in this case the only given text file is <filename
>simongrammar.txt</filename
>) and look up every single word in both active and shadow dictionary (the definition in the active dictionary has more importance if the word is available in both). It will then replace the word with its category.</para>
<para
>In our example this would mean that he would find the sentence <quote
>Computer Internet</quote
>. Simon would find out that <quote
>Computer</quote
> is of the category <guilabel
>Trigger</guilabel
> and <quote
>Internet</quote
> of the category <guilabel
>Command</guilabel
>. Because of this Simon would <quote
>learn</quote
> that <quote
>Trigger Command</quote
> is a valid sentence and add it to its grammar.</para>
<para
>The import automatically segments the input text by punctuation marks (<quote
>.</quote
>, <quote
>-</quote
>, <quote
>!</quote
>, &etc;) so any natural text should work. The importer will automatically merge duplicate sentence structures (even across different files) and add multiple sentence (all possible combinations) when a word has multiple categories assigned to it.</para>
<para
>The import will ignore sentences where one or more words could not be found in the language model unless you tick the <guilabel
>Also import unknown sentences</guilabel
> check box in which case those words are replaced with <guilabel
>Unknown</guilabel
>.</para>

</sect2>





<sect2>
<title
>Kategorien umbenennen</title>
<para
>The rename category wizard allows you to rename categories in both your active vocabulary, your shadow dictionary and the grammar. <screenshot>
<screeninfo
>Kategorie umbenennen</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="rename_category.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>
</sect2>

<sect2>
<title
>Kategorien zusammenführen</title>
<para
>The merge category wizard allows you to merge two categories into one new category in both your active vocabulary, your shadow dictionary and the grammar. <screenshot>
<screeninfo
>Merge Category</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="merge_category.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>
<para
>Diese Funktion ist besonders sinnvoll, wenn Sie Ihre Grammatikstrukturen vereinfachen wollen.</para>
</sect2>


</sect1>



<sect1 id="training">
<title
>Training</title>

<para
>Mit dem Trainingsmodul können Sie Ihr <link linkend="acoustic_model"
>Akustikmodell</link
> und damit die Erkennungsrate verbessern. </para>

<para
>Die Oberfläche listet alle installierten Trainingstexte in einer Tabelle mit drei Spalten: <itemizedlist>
<listitem
><para
>Name</para
><para
>Ein beschreibender Name für den Text.</para
></listitem>
<listitem
><para
>Seiten</para
><para
>Die Anzahl von <quote
>Seiten</quote
> aus der der Text besteht. Jede Seite repräsentiert eine Aufnahme.</para
></listitem>
<listitem
><para
>Erkennungsrate</para
><para
>Analogue to the vocabulary; represents how likely Simon will recognize the words (higher is better). The recognition rate of the training text is the average recognition rate of all the words in the text.</para
></listitem>
</itemizedlist>

<screenshot>
<screeninfo
>Training</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="training.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>To improve the acoustic model - and thus the recognition rate - you have to record training texts. This means that Simon gets essentially two needed parts: </para>

<itemizedlist>
  <listitem
><para
>Aufnahmen Ihrer Sprache</para
></listitem>
  <listitem
><para
>Transcriptions of those samples</para
></listitem>
</itemizedlist>

<para
>The active dictionary is used to transcribe the words (mapping them from the actual word to its phonetic transcription) that make up the text so every word contained in the training text you want to read (train) has to be contained in your active dictionary. Simon will warn you if this is not the case and provide you with the possibility to add all the missing words in one go. </para>

<screenshot>
<screeninfo
>Training: Warnung über fehlende Wörter</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="training_warning.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>

<para
>The procedure is the same as if you would <link linkend="add_word"
>add a single word</link
> but the wizard will prompt you for details and recordings for all the missing words automatically. This procedure can be aborted at any time and Simon will provide both a way to add the already completely defined words and to undo all changes done so far. When the user has added all the words he is prompted for (all the words missing) the changes to the active dictionary / vocabulary are saved and the training of the previously selected text starts automatically. </para>

<para
><anchor id="training_in_progress"/> Das Training (vorlesen) eines Trainingstexts funktioniert genau wie das erste Training beim Hinzufügen eines neuen Wortes.</para>

<para
>Make sure you follow the guidelines listed in the <link linkend="recording"
>recording section</link
>.</para>
<para>
<screenshot>
<screeninfo
>Trainingsprozess</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="training_running.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>



<sect2 id="training_storage">
<title
>Speicherorte</title>
<para
>Trainingstexte werden an zwei Orten gespeichert: <itemizedlist>
  <listitem
><para
>Linux: <filename
>~/.kde/share/apps/simon/texts</filename
></para>
            <para
>Windows: <filename
>%appdata%\.kde\share\apps\simon\texts</filename
></para>
          <para
>Die Texte des aktuellen Benutzers. Sie können mit Simon gelöscht und hinzugefügt werden (siehe unten).</para
></listitem>
  <listitem
><para
>Linux: <filename
>`kde4-config --prefix`/share/apps/simon/texts</filename
></para>
            <para
>Windows: <filename
>(install folder)\share\apps\simon\texts</filename
></para>
          <para
>Systemweite Texte. Sie werden bei jedem Benutzer auf dem System angezeigt und können innerhalb von Simon je nach Betriebssystemberechtigung höchstwahrscheinlich nicht gelöscht werden.</para>
          <para
>Dieser Ordner eignet sich besonders gut für Systemverwalter, die allen Benutzern einen gemeinsamen Satz von Trainingsdaten geben wollen.</para>
          </listitem>
</itemizedlist>
</para>
<para
>Die XML-Dateien (eine für jeden Text) können von einem Speicherort zum anderen verschoben werden. Abhängig von den zugrunde liegenden Betriebssystemberechtigungen wird dies aber wahrscheinlich Systemverwalterrechte benötigen.</para>
</sect2>


<sect2 id="add_texts">
<title
>Texte hinzufügen</title>
<para>
<screenshot>
<screeninfo
>Assistent „Trainingsaufnahmen importieren“</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="import_text_1.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
The add texts wizard provides a simple way to add new training texts to Simon. </para>

<para
>When importing text files, Simon will automatically try to recognize individual sentences and split the text into appropriate <quote
>pages</quote
> (recordings). The algorithm treats text between <quote
>normal</quote
> punctuation (<quote
>.</quote
>, <quote
>!</quote
>, <quote
>?</quote
>, <quote
>...</quote
>, <quote
>"</quote
>,...) and line breaks as <quote
>sentences</quote
>. Each <quote
>sentence</quote
> will be on its own page.</para>

<para
>Simon unterstützt zwei Quellen für neue Trainingstexte: </para>

<sect3>
  <title
>Trainingstexte hinzufügen</title>
            <para>
      <screenshot>
      <screeninfo
>Import-training-texts-wizard: Add training texts</screeninfo>
        <mediaobject>
          <imageobject>
            <imagedata fileref="import_text_4.png" format="PNG"/>
          </imageobject>
        </mediaobject>
      </screenshot>
Tragen Sie den Trainingstext in das entsprechende Eingabefeld ein.</para>
</sect3>
<sect3>
  <title
>Lokale Textdateien</title>

    <para>
      <screenshot>
      <screeninfo
>Import-training-texts-wizard: Local text files</screeninfo>
        <mediaobject>
          <imageobject>
            <imagedata fileref="import_text_3.png" format="PNG"/>
          </imageobject>
        </mediaobject>
      </screenshot>
Simon kann normale Textdateien importieren, um Sie für das Training zu verwenden.</para>
</sect3>

</sect2>

<sect2 id="special_training">
<title
>Spezialtraining</title>
<para
>Zusätzlich zu den Trainingstexten ist es auch möglich, einzelne Wörter oder Wortkombinationen aus Ihrem Lexikon direkt zu trainieren.</para>

<para
>Diese Funktion befindet sich im Vokabel-Menü von Simon.</para>

<para>
<screenshot>
<screeninfo
>Spezialtraining: Auswahl der Wörter</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="special_training.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>Wählen Sie die Wörter zum Trainieren aus dem Vokabular links aus und ziehen Sie sie mit gedrückter Maustaste zur Liste rechts. Sie können das Wort auch in der Tabelle auswählen und dann auf <guibutton
>Zum Training hinzufügen</guibutton
> klicken.</para>

<para
>Starten Sie das Training in dem Sie <guibutton
>Ausgewählte Wörter trainieren</guibutton
> auswählen. Das Training selbst ist das gleiche wie bei gespeicherten Trainingstexten.</para>

<para>
<screenshot>
<screeninfo
>Spezialtraining: Wörter trainieren</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="special_training_2.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>Wenn mehr als neun Wörter zu trainieren sind, wird der Text automatisch gleichmäßig auf mehr als eine "Seite" (Aufnahme) aufgeteilt.</para>

<para
>Natürlich können Sie auch Wörter aus Ihrem Schattenlexikon zur Liste der zu trainierenden Wörter hinzufügen. Bevor das Training dann gestartet werden kann, müssen Sie aber auch hier alle Wörter zum aktiven Lexikon hinzufügen (siehe oben).</para>
</sect2>

</sect1>

<sect1 id="context">
<title
>Kontext</title>
<para
>&kmyapplication; includes a context layer that allows you to let Simon automatically adjust its configuration depending on its context.</para>

<para
>For example, you could set up &kmyapplication; to only allow commands like "New tab" if Mozilla Firefox is running and the currently active window.</para>

<para
>There are three major areas that contextual information can influence: <itemizedlist>
<listitem
><para
>Szenarienauswahl</para
></listitem>
<listitem
><para
>Aufnahmegruppen</para
></listitem>
<listitem
><para
>Aktive Mikrofone</para
></listitem>
</itemizedlist>
</para>

<sect2 id="context_scenarios">
<title
>Szenarienauswahl</title>
<para
>Scenarios can specify to only be active during certain contextual situations. If these situations are not met, &kmyapplication; will temporarily deactivate the affected scenario.</para>

<para>
<screenshot>
<screeninfo
>Szenarienkontext</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="context.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>The local context conditions of this scenario are shown in the list of <guilabel
>Activation Requirements</guilabel
> and can be added, edited and deleted through the respective buttons.</para>
<para
>The context conditions respect a possible <link linkend="scenario_hierarchies"
>hierarchy of scenarios</link
>: The activation requirements of all direct or indirect parent scenarios also apply to the child scenario(s). This condition "inheritance" is shown on the right side.</para>

<para
>The &kmyapplication; main window also shows a list of currently used scenarios. Scenarios that are deactivated because of their activation requirements (context conditions) are listed in light gray and italic. The screenshot below, for example, shows a temporarily deactivated Amarok scenario.</para>

<para>
<screenshot>
<screeninfo
>Deaktivierte Szenarios identifizieren</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="context_1.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>The same visual hints (gray, italic font for unmet activation criteria) also apply to the individual context conditions in the context menu.</para>
</sect2>

<sect2 id="sample_group">
<title
>Aufnahmegruppen</title>
<para
>Every sample recorded with Simon is assigned a sample group. Sample groups can be configured to only be used for the building of the acoustic models if certain contextual conditions are met. If this is not the case, all samples tagged with the deactivated sample group will be temporarily removed from the training corpus.</para>

<para
>For more information, an example use-case and instructions on how to work with sample groups, please refer to the section on <link linkend="configuration_sound_context"
>sample groups</link
>.</para>
</sect2>

<sect2 id="context_conditions">
<title
>Kontext-Bedingungen</title>

<para
>In Simon, context is monitored through a set of context condition plugins.</para>
<para
>In general, context conditions are combined through an "and" association. For example, if the activation of resource is bound by two conditions A and B, it will only be activated if both A and B see their conditions met. To instead model alternatives ("A or B or both"), use an <link linkend="or_condition_association"
>Or Condition Association</link
>.</para>

<para
>All conditions can optionally be inverted. Inverting a condition means that it will evaluate to true if it would otherwise evaluate to false and vice versa.</para>

<sect3 id="active_window_condition">
<title
>Aktives Fenster</title>
<para
>True, if the title of the currently active foreground window matches the provided window title.</para>

<para>
<screenshot>
<screeninfo
>Bedingung für aktives Fenster</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="active_window_condition.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>
</sect3>

<sect3 id="dbus_condition">
<title
>D-Bus</title>
<para
>The D-Bus condition plugin allows to monitor 3rd party applications that export state information on D-Bus.</para>

<para
>The monitored application needs to provide two methods: One signal to notify of changes and another method that returns the current state.</para>

<para>
<screenshot>
<screeninfo
>D-Bus-Bedingung</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="dbus_condition1.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>The screenshot above, for example, configures a D-Bus condition that will evaluate to true while the music player "Tomahawk" is playing and to false otherwise.</para>
</sect3>

<sect3 id="face_detection_condition">
<title
>Gesichtserkennung</title>

<para
>The face detection condition will evaluate to true, if &kmyapplication;'s vision layer has identified a person sitting in front of the <link linkend="webcam_configuration"
>configured webcam</link
>.</para>

<para>
<screenshot>
<screeninfo
>Bedingung für Gesichtserkennung</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="face_detection_condition.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>
</sect3>

<sect3 id="file_content_condition">
<title
>Dateiinhalt</title>
<para
>This condition plugin will return true, if the given file contains the provided content.</para>

<para
>Diese Datei wird auf Änderungen überwacht.</para>

<para>
<screenshot>
<screeninfo
>Bedingung für Dateiinhalt</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="file_content_condition.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>
</sect3>

<sect3 id="lip_detection_condition">
<title
>Lip detection</title>

<para
>The lip detection condition will evaluate to true, if &kmyapplication;'s vision layer has identified a person sitting in front of the <link linkend="webcam_configuration"
>configured webcam</link
> and is speaking something (lip movements). </para>

<para>
<screenshot>
<screeninfo
>Lip detection condition</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="lip_detection_condition.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>
<para
>The lip detection training will try to determine the optimal value of sensitivity of the detection by monitoring your lip movements. For better accuracy of lip detection condition, stop training when the sensitivity value on the slider during training becomes almost constant. </para>
</sect3>

<sect3 id="or_condition_association">
<title
>Or condition association</title>
<para
>The or condition association allows you to configure a meta-condition that reports to be satisfied as soon as one or more of its child conditions evaluates to true.</para>

<para
>Or condition associations can have an arbitrary number of child conditions that may even also be or condition associations.</para>

<para>
<screenshot>
<screeninfo
>Or condition association</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="or_condition_association.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>
</sect3>

<sect3 id="process_opened_condition">
<title
>Geöffneter Prozess</title>

<para
>Is satisfied if there is a running process with the provided executable name.</para>

<para>
<screenshot>
<screeninfo
>Bedingung für geöffnete Prozesse</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="process_opened_condition.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>
</sect3>

</sect2>
</sect1>

<sect1 id="commands">
<title
>Befehle</title>
<para
>When Simon is active and recognizes something, the recognition result is given to the loaded command plug-ins (in order) for processing.</para>

<para>
<screenshot id="command_dialog">
<screeninfo
>Simons Befehlsdialog</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="command_main.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>The command system can be compared with a group of factory workers. Each one of them knows how to perform one task (&eg; <quote
>Karl</quote
> knows how to start a program and <quote
>Joe</quote
> knows how to open a folder, &etc;). Whenever Simon recognizes something it is given to <quote
>Karl</quote
> who then checks if this instruction is meant for him. If he doesn't know what to do with it, it is handed over to <quote
>Joe</quote
> and so on. If none of the loaded plugins know how to process the input it is ignored. The order in which the recognition result is given to the individual commands (people) is configurable in the command options (<guibutton
>Commands</guibutton
> 
> <guibutton
>Manage plugins</guibutton
>).</para>


<para>
<screenshot>
<screeninfo
>Einrichtung von Aktionen in Simon</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="configure_actions_1.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>Jedes Modul kann mit einem <quote
>Auslöser</quote
> verbunden werden. Mit Auslösern kann die Zuständigkeit der einzelnen Moduls besser aufgeteilt werden. </para>
<para
>Using the factory workers abstraction from above it could be compared to stating the name of who you mean to process your request. So instead of <quote
>Open my home folder</quote
> you say <quote
>Joe, open my home folder</quote
> and <quote
>Joe</quote
> (the plugin responsible for opening folders) will instantly know that the request is meant for him.</para>
<para
>In practice you could have commands like the executable command <quote
>Firefox</quote
> to open the popular browser and the place command <quote
>Google</quote
> to open the web search engine. If you assign the trigger <quote
>Start</quote
> to the executable plugin and the trigger <quote
>Open</quote
> to the place command you would have to say <quote
>Start Firefox</quote
> (instead of just <quote
>Firefox</quote
> if you don't use a trigger for the executable plugin) and <quote
>Open Google</quote
> to open the search engine (instead of just <quote
>Google</quote
>).</para>
<para
>Triggers are of course no requirement and you can easily use Simon without defining any plugin triggers (although many plugins come with a default trigger of <quote
>Computer</quote
> set which you would have to remove). But even if you use just one trigger for all your commands (like <quote
>Computer</quote
> to say <quote
>Computer, Firefox</quote
> and <quote
>Computer, Google</quote
> like) it has the advantage of greatly limiting the number of false-positives.</para>

<para
>Simon's <link linkend="command_dialog"
>command dialog</link
> displays the complete phrase associated with a command in the upper right corner of the command configuration.</para>

<para
>Sie können mehrere Instanzen eines Moduls pro Szenario laden. Jede Instanz kann unterschiedliche Modul-Auslöser verwenden.</para>

<para
>Each Command has a name (which will trigger its invocation), an icon and more fields depending on the type of the plugin (see below). </para>

<para
>Some command plugins might provide a configuration of the plugin itself (not the commands it contains). These configuration pages will be plugged directly into the action configuration dialog (below the <guimenuitem
>General</guimenuitem
> menu item) when you load the associated plugin. </para>

<para
>Plugins that provide a graphical user interface (like for example the <link linkend="input_number"
>input number command plugin</link
>) can be configured by configuring <guilabel
>Voice commands</guilabel
>. You can, for example, change the associated word that will trigger the button, but also change the displayed icon, &etc; If you remove all voice interface commands from a graphical element, the element will be hidden automatically. </para>

<para
>Voice interface commands are added just like normal commands through the command configuration.</para>

<para>
<screenshot>
<screeninfo
>Sprachbefehle verwalten</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="voice_interface_command_1.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>To add a new interface command to a function, just select the action you want to associate with a command, click <guibutton
>Create from Action template</guibutton
> and adapt the resulting command to your needs.</para>

<para
>Bei einigen Modulen (zum Beispiel beim <link linkend="desktopgrid"
>Desktopgitter</link
> oder dem <link linkend="calculator_command_plugin"
>Taschenrechner</link
> werden auch Einträge im Menü <guimenu
>Aktionen</guimenu
> angezeigt. </para>

<para>
<screenshot>
<screeninfo
>Befehl im Hauptfenster eingebettet</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="command_plug.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>Scenarios can optionally define one command that will immediately be run when the scenario is initialized. If you require more than one command to run automatically, consider the use of a <link linkend="composite_commands"
>composite command</link
>. <screenshot>
<screeninfo
>Autostart-Befehl</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="command_autorun.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>


<anchor id="command_arguments"/>
<para
>Command triggers can contain placeholders in the form of "%&lt;index&gt;", referring to any one word, or "%%&lt;index&gt;" describing one or more left out words. For example the recognition result "Next window" will be matched by the triggers "Next %1", "Next %%1" and "%%1" but <emphasis
>not</emphasis
> by the triggers "%1", "Next window %1", "%%1 Next window".</para>

<sect2 id="executable_commands">
<title
>Programm-Befehle</title>

<para
>Programm-Befehle sind mit einer ausführbaren Datei (<quote
>Programm</quote
>) verbunden, das gestartet wird, wenn der Befehl ausgelöst wird.</para>

<screenshot>
<screeninfo
>Programm-Befehle</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="command_program.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>

<para
>Argumente zu den ausführbaren Dateien werden unterstützt und an das Programm übergeben. Wenn der Pfad zur ausführbaren Datei oder die Argumente Leerzeichen beinhalten, <emphasis
>müssen</emphasis
> sie aber von Anführungszeichen umgeben werden.</para>

<para
>Nehmen wir als ausführbare Datei <filename
>C:\Programme\Mozilla Firefox\firefox.exe" "C:\test datei.html"</filename
> an, ist die korrekte Eingabe für das Feld <guilabel
>Ausführbare Datei</guilabel
> folgendes: <filename
>"C:\Programme\Mozilla Firefox\firefox.exe" "C:\test datei.html"</filename
>.</para>

<para
>Der Arbeitsordner bestimmt, in welchem Ordner der Prozess gestartet wird. Wenn der Arbeitsordner <filename
>C:\folder</filename
> ist und der Befehl <filename
>"C:\Programme\Mozilla Firefox\firefox.exe" file.html</filename
> gestartet wird, sucht Firefox nach der Datei <filename
>C:\folder\file.html</filename
>.</para>

<para
>Der Arbeitsordner muss normalerweise nicht ausdrücklich gesetzt werden und kann leer gelassen werden.</para>

<sect3 id="importing_executable_commands">
<title
>Programme importieren</title>
<para
>Simon bietet einen Dialog, mit dem Sie Programme auch direkt aus dem KDE-Menü auswählen können.</para>

<note
><para
>Diese Option ist unter Microsoft Windows nicht verfügbar.</para
></note>

<screenshot>
<screeninfo
>Programme importieren</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="command_program_import_1.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>

<para
>Der Dialog wird alle Programme aus dem KDE-Menü in ihrer entsprechenden Kategorie anzeigen.</para>

<para
>Unterkategorien werden nicht unterstützt und werden auf der selben Ebene wie ihre übergeordneten Kategorien angezeigt.</para>

<para
>Wählen Sie das Programm aus, das Sie importieren möchten und klicken Sie auf <guibutton
>Ok</guibutton
>. Die korrekten Werte für die ausführbare Datei und für den Arbeitsordner werden automatisch ausgefüllt.</para>

</sect3>

</sect2>

<sect2 id="place_commands">
<title
>Orte-Befehle</title>
<para
>With place commands you can allow Simon to open any given URL. Because Simon just hands the address over to the platforms URL handler, special Protocols like <quote
>remote:/</quote
> (on &Linux;/&kde;) or even &kde;'s <quote
>Web-Shortcuts</quote
> are supported.</para>
<para
>Neben herkömmlichen Ordnern können aber auch Dateien angegeben werden, die dann mit dem mit ihnen standardmäßig zugeordnetem Programm geöffnet werden, wenn der Befehl ausgelöst wird.</para>

<screenshot>
<screeninfo
>Orte</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="command_place.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>

<para
>To associate a specific URL with the command you can manually enter it in the URL field (select <guibutton
>Manual</guibutton
> first) or import it with the import place wizard.</para>


<sect3 id="importing_place_commands">
<title
>Orte importieren</title>

<para
>The import place dialog allows you to easily create the correct URL for the command.</para>

<para
>Um einen lokalen Ordner oder eine lokale Datei anzugeben, wählen Sie <guibutton
>Lokaler Ort</guibutton
> und wählen Sie den Ordner oder die Datei mit dem Feld aus. <screenshot>
<screeninfo
>Lokale Orte importieren</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="command_place_import_1.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>To add a remote URL (HTTP, FTP, &etc;) choose <guibutton
>Remote URL</guibutton
>.</para>

<screenshot>
<screeninfo
>Import Places: Remote</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="command_place_import_2.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>

<para
>Bitte beachten Sie, dass URLs mit Authentifizierungsinformation im Klartext gespeichert werden und das Passwort also unverschlüsselt vorliegt.</para>

</sect3>
</sect2>

<sect2 id="shortcut_commands">
<title
>Kurzbefehle</title>
<para
>Mit den Kurzbefehlen kann ein Benutzer Befehle mit Tastenkombinationen verbinden.</para>

<para
>Der Befehl kann Tasteneingaben simulieren, um Tastendrücke wie <keycombo
>&Ctrl;<keycap
>C</keycap
></keycombo
> or <keycombo
>&Alt;<keycap
>F4</keycap
></keycombo
> auszulösen.</para>
<para
>The plugin can press, release or press and release the configured key combination. <screenshot>
<screeninfo
>Kurzbefehle definieren</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="command_shortcut.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>To select the shortcut you wish to simulate just toggle the shortcut button and press the key combination on your keyboard.</para>
<para
>Simon wird das Tastenkürzel abfangen und mit dem Befehl assozieren.</para>
<para
>Due to technical limitations there are several shortcuts on Microsoft Windows that cannot be captured by Simon (this includes &eg; <keycombo
>&Ctrl;&Alt;<keycap
>Del</keycap
></keycombo
> and <keycombo
>&Alt;<keycap
>F4</keycap
></keycombo
>). These special shortcuts can be selected from a list below the aforementioned shortcut button.</para>

<note
><para
>Diese Auswahlliste ist im Bildschirmfoto nicht sichtbar, da sie nur unter Microsoft Windows angezeigt wird.</para
></note>
</sect2>

<sect2 id="text_macro_commands">
<title
>Text-Makro-Befehle</title>
<para
>Using text-macro commands, the user can associate text with a command. When the command is invoked, the associated text will be <quote
>written</quote
> by simulating keystrokes.</para>

<para>
<screenshot>
<screeninfo
>Text-Makro-Befehle definieren</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="command_text-macro.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>
</sect2>

<sect2 id="list_command">
<title
>Listen-Befehle</title>
<para
>The list command is designed to combine multiple commands (all types of commands are supported) into one list. The user can then select the n-th entry by saying the associated number (1-9).</para>

<para
>This is very useful to limit the amount of training required and provides the possibility to keep the vocabulary to a minimum.</para>

<para>
<screenshot>
<screeninfo
>Listen-Befehle definieren</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="command_list_1.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>List commands are especially useful when using commands with difficult triggers or commands that can be grouped under a general theme. A typical example would be a command <quote
>Startmenu</quote
> to present a list of programs to launch. That way the specific executable commands can still retain very descriptive names (like <quote
>OpenOffice.org Writer 3.1</quote
>) without the user having to include these words in his vocabulary and consider them in the grammar just to trigger them.</para>

<para
>Befehle unterschiedlicher Typen können in einer Liste gemischt werden.</para>

<sect3 id="list_command_display">
<title
>Anzeige von Listenbefehlen</title>

<para
>When invoked, the command will display the list centered on the screen. The list will automatically expand to accompany its items.</para>
<screenshot>
<screeninfo
>Listen-Befehle definieren</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="command_list_2.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
<para
>The user can invoke the commands contained in the list by simply saying their associated number (In this example: <quote
>One</quote
> to launch Mozilla Firefox). </para>

<para
>While a list command is active (displayed), all input that is not directed at the list itself (other commands, &etc;) will be rejected. The process can be canceled by pressing the <guibutton
>Cancel</guibutton
> button or by saying <quote
>Cancel</quote
>.</para>

<para
>If there are more than 9 items Simon will add <quote
>Next</quote
> and <quote
>Back</quote
> options to the list (<quote
>Zero</quote
> will be associated with <quote
>Back</quote
> and <quote
>Nine</quote
> with <quote
>Next</quote
>). <screenshot>
<screeninfo
>Listenbefehle mit vielen Einträgen</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="command_list_3.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>
</sect3>

<sect3 id="list_command_configure">
<title
>Einrichtung von Listenelementen</title>

<para
>Standardmäßig verwendet der Listenbefehl die folgenden Auslöser. Um Listenbefehle mit ihrem vollen Potential zu benutzen, stellen Sie sicher, dass Ihr Sprachmodell die folgenden „Sätze“ erkennt und erlaubt: <itemizedlist>
<listitem
><para
><quote
>Null</quote
></para
></listitem>
<listitem
><para
><quote
>Eins</quote
></para
></listitem>
<listitem
><para
><quote
>Zwei</quote
></para
></listitem>
<listitem
><para
><quote
>Drei</quote
></para
></listitem>
<listitem
><para
><quote
>Vier</quote
></para
></listitem>
<listitem
><para
><quote
>Fünf</quote
></para
></listitem>
<listitem
><para
><quote
>Sechs</quote
></para
></listitem>
<listitem
><para
><quote
>Sieben</quote
></para
></listitem>
<listitem
><para
><quote
>Acht</quote
></para
></listitem>
<listitem
><para
><quote
>Neun</quote
></para
></listitem>
<listitem
><para
><quote
>Abbrechen</quote
></para
></listitem>
</itemizedlist>
</para>

<para
>Natürlich können Sie diese Wörter in der Simon-Einrichtung anpassen: <itemizedlist>
    <listitem>
      <para
><guimenuitem
>Befehle</guimenuitem
> 
> <guibutton
>Module verwalten</guibutton
> 
> <guimenuitem
>Allgemein</guimenuitem
> 
> <guimenuitem
>Listen</guimenuitem
> für die szenarioweite Listenkonfiguration.</para>
    </listitem>
    <listitem>
      <para
><guimenu
>Einstellungen</guimenu
> 
> <guimenuitem
>Simon einrichten ...</guimenuitem
> 
> <guimenuitem
>Aktionen</guimenuitem
> 
> <guimenuitem
>Listen</guimenuitem
> für die globale Einstellung. Wenn Sie ein neues Szenario anlegen werden diese Einstellungen für die Listen des neuen Szenarios übernommen.</para>
    </listitem>
  </itemizedlist>
</para>

<para
>Listenbefehle werden intern auch von anderen Modulen wie z. B. dem <link linkend="desktopgrid"
>Desktopgitter</link
> verwendet. Die Einstellung der Auslöser beeinflusst auch deren angezeigte Listen. </para>

</sect3>

</sect2>

<sect2 id="composite_commands">
<title
>Kombinations-Befehle</title>
<para
>Kombinations-Befehle ermöglichen es dem Benutzer, mehrere Befehle automatisch hintereinander ablaufen zu lassen.</para>

<para
>When invoked the commands will be executed in order. Delays between commands can be inserted.</para>

<para
>Composite commands can also work as "transparent wrappers" by selecting <guibutton
>Pass recognition result through to other commands</guibutton
>. In that case, the recognition result will be treated as "unprocessed" even if the composite command was executed.</para>
<para
>For example, suppose you have a command to turn on the light in one scenario. Additionally to turning on the light, you now want to add some kind of reporting to the activity by invoking a script through a <link linkend="executable_commands"
>program plugin</link
>. You could then set up a reporting scenario that contains a transparent composite command with the same trigger as the command to turn on the light and make sure that this scenario is set before the original one in the scenario list. You can then activate and deactivate the reporting simply by loading and unloading this scenario.</para>

<para>
<screenshot>
<screeninfo
>Kombinations-Befehle definieren</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="command_composite_1.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>Using the composite command the user can compose complex <quote
>macros</quote
>. The screenshot above - for example - does the following: <itemizedlist>
<listitem
><para
>Kopete starten (Programm-Befehl)</para
></listitem>
<listitem
><para
>2000 ms warten, bis Kopete gestartet wird</para
></listitem>
<listitem
><para
>Type <quote
>Mathias</quote
> (Text-Macro Command) which will select Mathias in my contact list</para
></listitem>
<listitem
><para
>Eingabetaste drücken (Kurzbefehl)</para
></listitem>
<listitem
><para
>Wait 1000ms for the chat window to appear</para
></listitem>
<listitem
><para
>Write <quote
>Hi!</quote
> (Text-Macro Command); the text associated to this command contains a newline at the end so that the message will be send.</para
></listitem>
<listitem
><para
><keycombo
>&Alt;<keycap
>F4</keycap
></keycombo
> (Kurzbefehl) drücken, um das Chatfenster zu schließen.</para
></listitem>
<listitem
><para
><keycombo
>&Alt;<keycap
>F4</keycap
></keycombo
> (Tastenkürzel-Befehl), um das Kopete-Hauptfenster zu schließen.</para
></listitem>
</itemizedlist>
</para>

</sect2>

<sect2 id="desktopgrid">
<title
>Desktopgitter</title>
<para
>Das Desktopgitter erlaubt dem Benutzer, die Maus mit der Sprache zu steuern.</para>

<para>
<screenshot>
<screeninfo
>Das Desktopgitter</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="command_desktopgrid.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
The desktop grid divides the screen into nine parts which are numbered from 1-9. Saying one of these numbers will again divide the selected field into 9 fields again numbered from 1-9, &etc; This is repeated 3 times. After the fourth time the desktop grid will be closed and Simon will click in the middle of the selected area.</para>

<para
>The exact click action is configurable but defaults to asking the user. Therefore you will be presented with a list of possible click modes. When selecting Drag and Drop, the desktop grid will be displayed again to select the drop point.</para>

<para>
<screenshot>
<screeninfo
>Desktopgitter: Klickauswahl</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="desktop_grid_click_selection.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>While the desktop grid is active (displayed), all input that is not directed at the desktop grid itself (other commands, &etc;) will be rejected. Say <quote
>Cancel</quote
> at any time to abort the process. </para>

<para
>The desktop grid plugin registers a configuration screen right in the command configuration when it is loaded.</para>

<para>
<screenshot>
<screeninfo
>Einrichtung des Desktopgitters</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="desktopgrid_configure.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
The trigger that invokes the desktop grid is of course completely configurable. Moreover the user can use <quote
>real</quote
> or <quote
>fake</quote
> transparency. If your graphical environment allows for compositing effects (<quote
>desktop effects</quote
>) then you can safely use <quote
>real</quote
> transparency which will make the desktop grid transparent. If your platform does not support compositing Simon will simulate transparency by taking a screenshot of the screen before displaying the desktop grid and display that picture behind the desktop grid. </para>

<para
>If the desktop grid is configured to use real transparency and the system does not support compositing it will display a solid gray background.</para>

<para
>However, nearly all up-to-date systems will support compositing (real transparency). </para>
<para
>Das beinhaltet zum Beispiel: <itemizedlist>
<listitem
><para
>Microsoft Windows 2000 oder höher (XP, Vista, 7)</para
></listitem>
<listitem
><para
>GNU/Linux mit einem Composite Manager wie Compiz, KWin4, xcompgrc, &etc;</para
></listitem>
</itemizedlist>
</para>


<para
>Standardmäßig verwendet das Desktopgitter Zahlen, um die einzelnen Felder auszuwählen. Um das Desktopgitter zu benutzen, stellen Sie sicher, dass Ihr Sprachmodell folgende „Sätze“ enthält und ermöglicht: <itemizedlist>
<listitem
><para
><quote
>Eins</quote
></para
></listitem>
<listitem
><para
><quote
>Zwei</quote
></para
></listitem>
<listitem
><para
><quote
>Drei</quote
></para
></listitem>
<listitem
><para
><quote
>Vier</quote
></para
></listitem>
<listitem
><para
><quote
>Fünf</quote
></para
></listitem>
<listitem
><para
><quote
>Sechs</quote
></para
></listitem>
<listitem
><para
><quote
>Sieben</quote
></para
></listitem>
<listitem
><para
><quote
>Acht</quote
></para
></listitem>
<listitem
><para
><quote
>Neun</quote
></para
></listitem>
<listitem
><para
><quote
>Abbrechen</quote
></para
></listitem>
</itemizedlist>
</para>

<para
>Um diese Auslöser zu konfigurieren, verändern Sie einfach die Befehle, die mit dem Modul verbunden sind.</para>

<para>
<screenshot>
<screeninfo
>Desktopgitter: Listenelemente einrichten</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="desktop_grid_configure_list_elements.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

</sect2>

<sect2 id="input_number">
<title
>Zahl eingeben</title>
<para
>Using the input-number plugin the user can input large numbers easily.</para>


<para
>Using the Dictation or the Text-Macro plugin one could associate the numbers with their digits and use that as input method. However, to input larger numbers there are two ways that both have significant disadvantages: <itemizedlist>
<listitem
><para
><emphasis
>Die vollständigen Wörter hinzufügen: <quote
>Elf</quote
>, <quote
>Zwölf</quote
> &etc;</emphasis
></para>
<para
>While this seems like the most elegant solution as it would enable the user to say <quote
>fivehundredseventytwo</quote
> we can easily see that it would be quite a problem to add all these words - let alone train them. What about <quote
>twothousandninehundredtwo</quote
>? Where to stop?</para
></listitem>
<listitem
><para
><emphasis
>Spell out the number using the individual digits</emphasis
></para>
<para
>Obwohl das nicht ganz so elegant scheint wie die erste Lösung, ist das natürlich viel praktikabler.</para>
<para
>However, many applications (like the great mouseless browsing firefox addon) rely on the user to input large numbers without too much time passing between the individual keystrokes (mouseless browsing for example will wait exactly 500ms per default before it considers the input of the number complete). So if you want to enter 52 you would first say <quote
>Five (pause) Two</quote
>. Because of the needed pause, the application (like the mouseless browsing plugin) would consider the input of <quote
>Five</quote
> complete.</para
></listitem>
</itemizedlist>
</para>

<para
>The input number plugin - when triggered - presents a calculator-like interface for inputting a number. The input can be corrected by saying <quote
>Back</quote
>. It features a decimal point accessible by saying <quote
>Comma</quote
>. When saying <quote
>Ok</quote
> the number will be typed out. As all the voice-input and the correction is handled by the plugin itself the application that finally receive the input will only get couple of milliseconds between the individual digits. <screenshot>
<screeninfo
>Modul „Zahl eingeben“</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="command_input_number.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>While the input number plugin is active (the user currently inputs a number), all input that is not directed at the input number plugin (other commands, &etc;) will be rejected. Say <quote
>Cancel</quote
> at any time to abort the process. </para>

<para
>As there can no command instances be created of this plugin it is not listed in the <guilabel
>New Command</guilabel
> dialog. However, the input number plugin registers a configuration screen right in the command configuration when it is loaded.</para>

<screenshot>
<screeninfo
>Modul „Zahl eingeben“</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="input_number_configure.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>

<para
>The trigger defines what word or phrase that will trigger the display of the interface. </para>


<para
>By default the input number plugin uses numbers to select the individual digits and a couple of control words. To use the input number plugin, make sure that your language and acoustic model contains and allows for the following <quote
>sentences</quote
>: <itemizedlist>
<listitem
><para
><quote
>Null</quote
></para
></listitem>
<listitem
><para
><quote
>Eins</quote
></para
></listitem>
<listitem
><para
><quote
>Zwei</quote
></para
></listitem>
<listitem
><para
><quote
>Drei</quote
></para
></listitem>
<listitem
><para
><quote
>Vier</quote
></para
></listitem>
<listitem
><para
><quote
>Fünf</quote
></para
></listitem>
<listitem
><para
><quote
>Sechs</quote
></para
></listitem>
<listitem
><para
><quote
>Sieben</quote
></para
></listitem>
<listitem
><para
><quote
>Acht</quote
></para
></listitem>
<listitem
><para
><quote
>Neun</quote
></para
></listitem>
<listitem
><para
><quote
>Zurück</quote
></para
></listitem>
<listitem
><para
><quote
>Komma</quote
></para
></listitem>
<listitem
><para
><quote
>OK</quote
></para
></listitem>
<listitem
><para
><quote
>Abbrechen</quote
></para
></listitem>
</itemizedlist>
</para>

<para
>Um diese Auslöser zu konfigurieren, verändern Sie einfach die Befehle, die mit dem Modul verbunden sind.</para>

<para>
<screenshot>
<screeninfo
>Modul „Zahl eingeben“</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="configure_number_input_elements.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

</sect2>

<sect2 id="dictation_command_plugin">
<title
>Diktat</title>
<para
>The dictation plugin writes the recognition result it gets using simulated keystrokes.</para>

<para
>Assuming you didn't define a trigger for the dictation plugin it will accept all recognition results and just write them out. The written input will be considered as <quote
>processed input</quote
> and thus not be relayed to other plugins. This means that if you loaded the dictation plugin and defined no trigger for it, all plugins <emphasis
>below it</emphasis
> in the <guilabel
>Selected Plug-Ins</guilabel
> list in the command configuration will never receive any input.</para>

<para
>As there can no command instances be created of this plugin it is not listed in the <guilabel
>New Command</guilabel
> dialog.</para>

<para
>The dictation plugin can be configured to append texts after recognition results to for example add a space after each recognized word.</para>

<para>
<screenshot>
<screeninfo
>Diktat einrichten</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="configure_dictation.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>
</sect2>

<sect2 id="ai_command_plugin">
<title
>Künstliche Intelligenz</title>
<para
>The Artificial Intelligence is a just-for-fun plugin that emulates a human conversation.</para>

<para
>Using the <link linkend="text-to-speech_config"
>text to speech system</link
>, the computer can <quote
>talk</quote
> with the user.</para>

<para
>The plugin uses AIMLs for the actual <quote
>intelligence</quote
>. Most AIML sets should be supported. The popular <ulink url="http://www.pandorabots.com/pandora/talk?botid=f5d922d97e345aa1"
>A. L. I. C. E. bot</ulink
> and a German version work and are shipped with the plugin.</para>

<screenshot>
<screeninfo
>KI-Modul</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="ai_configure.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>

<para
>The plugin registers a configuration screen in the command configuration menu where you can choose which AIML set to load. </para>

<para
>Simon will look for AIML sets in the following folder: <itemizedlist
> <listitem
><para
>GNU/Linux: <filename
>`kde4-config --prefix`/share/apps/ai/aimls/</filename
></para
></listitem
> <listitem
><para
>Microsoft Windows: <filename
>[installation folder (C:\Program Files\simon 0.2\ by default)]\share\apps\ai\aimls\</filename
></para
></listitem
> </itemizedlist
> To add a new set just create a new folder with a descriptive name and copy the .aiml files into it. </para>

<para
>To adjust your bots personality have a look at the bot.xml and vars.xml files in the following folder: <itemizedlist>
<listitem
><para
>GNU/Linux: <filename
>`kde4-config --prefix`/share/apps/ai/util/</filename
></para
></listitem>
<listitem
><para
>Microsoft Windows: <filename
>[Installationsordner (C:\Programme\simon 0.2\ per default)]\share\apps\ai\util\</filename
></para
></listitem>
</itemizedlist>
</para>

<para
>As there can no command instances be created of this plugin it is not listed in the <guilabel
>New Command</guilabel
> dialog.</para>

<para
>It is recommended to not use any trigger for this plugin to provide a more natural <quote
>feel</quote
> for the conversation.</para>
</sect2>

<sect2 id="calculator_command_plugin">
<title
>Taschenrechner</title>
<para
>Das Taschenrechner-Modul ist ein simpler, sprachgesteuerter Taschenrechner.</para>

<para>
<screenshot>
<screeninfo
>Taschenrechner-Modul</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="calculator.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>Der Taschenrechner erweitert das Modul <link linkend="input_number"
>Zahl eingeben</link
> mit zusätzlichen Funktionen.</para>

<para
>Wenn das Modul geladen ist, wird eine Seite zur Moduleinrichtung hinzugefügt.</para>

<para>
<screenshot>
<screeninfo
>Taschenrechner-Modul: Einrichtung</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="calculator_configuration.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>There you can also configure the control mode of the calculator. Setting the mode to something else than <guimenuitem
>Full calculator</guimenuitem
> will hide options from the displayed widget.</para>

<para>
<screenshot>
<screeninfo
>Taschenrechner-Modul: Minimal</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="calculator_minimal.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

<para
>However, the hidden controls will, in contrast to simply removing all associated command from the functions, still react to the configured voice commands.</para>

<para
>When selecting <guibutton
>Ok</guibutton
>, the calculator will by default ask you what to do with the generated result. You can for example output the calculation, the result, both, &etc; Besides always selecting this from the displayed list after selecting the <guibutton
>Ok</guibutton
> button, this can also be set in the configuration options.</para>

<para>
<screenshot>
<screeninfo
>Taschenrechner-Modul: Ausgabemodus wählen</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="calculator_output_mode_selection.png" format="PNG"/>
    </imageobject>
  </mediaobject>
</screenshot>
</para>

</sect2>

<sect2 id="filter_command_plugin">
  <title
>Filter</title>
  <para
>Mit dem Filter-Modul können Sie Erkennungsergebnisse abfangen, bevor Sie andere Module erreichen. Mit diesem Modul können Sie beispielsweise die Erkennung über die Sprache pausieren.</para>
  <para
>The filter command plugin registers a configuration screen in the command configuration where you can change what results should be filtered. </para>

  <para>
  <screenshot>
  <screeninfo
>Filter-Modul: Einrichtung</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="filter_configuration.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
  </para>

  <para
>Der Filter ist ein regulärer Ausdruck, der zur Laufzeit ausgewertet wird, sobald ein Erkennungsergebnis das Modul erreicht.</para>

  <para
>Das Modul registert Spracheingabebefehle zum Aktivieren und Deaktivieren des Filters.</para>

  <para
>In total, the filter therefore has three states: <itemizedlist>
      <listitem>
        <para
>Inaktiv</para>
        <para
>Der Standardzustand. Alle Erkennungsergebnisse werden weitergereicht.</para>
      </listitem>
      <listitem>
        <para
>Half-active (if <guibutton
>Two stage activation</guibutton
> is selected)</para>
        <para
><itemizedlist>
	<listitem
><para
>If the next command is the "Deactivate filter" command, the filter will enter the "Inactive" state.</para
></listitem>
	<listitem
><para
>If, however, the next result is something else and <guibutton
>Relay results in stage one of two stage activation</guibutton
> is selected, this result will be passed on to other plugins. The filter will reset to "Active" afterwards.</para
></listitem>
	</itemizedlist
></para>
      </listitem>
      <listitem>
        <para
>Aktiv</para>
        <para
>When activated, the filter will <quote
>eat</quote
> all results that match the configured pattern. By default this means every result that Simon recognizes will be accepted by the filter and therefore not relayed to any of the plugins following the filter plugin.</para>
	<para
>If <guibutton
>Two stage activation</guibutton
> is enabled and the filter plugin receives the command to directly enter the "Inactive" state, this command is ignored. In other ways: If two stage activation is enabled, the filter can only be disabled by going through the intermediate stage.</para>
      </listitem>
    </itemizedlist>
  </para>
</sect2>

<sect2 id="pronunciation_training_command_plugin">
  <title
>Aussprachetraining</title>

  <para
>Das Aussprachetraining, kombiniert mit einem guten <link linkend="base_model"
>statischen Basismodell</link
>, kann ein hilfreiches Werkzeug sein, um die Aussprache einer Fremdsprache zu trainieren.</para>

  <para>
  <screenshot>
  <screeninfo
>Aussprachetraining</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="pronunciation_training.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
  </para>

  <para
>Essentially, the plugin will prompt you to say specific words. The recognition will then recognize your pronunciation of the word and compare it to your speech model which should be a base model of native speakers for this to work correctly. Then Simon will display the recognition rate (how similar your version was to the stored base model).</para>

  <para
>Je ähnlicher Sie zu den Muttersprachlern klingen, desto höher ist der angezeigte Wert.</para>

  <para
>Das Modul fügt einen Eintrag zum Menü <guimenu
>Befehle</guimenu
> hinzu, damit kann das Aussprache-Training zu starten.</para>

  <para
>The training itself consists of multiple pages. Each page contains one word fetched from your active vocabulary. They are identified by a category which needs to be selected in the command configuration before starting the training.</para>

  <para>
  <screenshot>
  <screeninfo
>Aussprachetraining: Einrichtung</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="pronunciation_training_configuration.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
  </para>
</sect2>

<sect2 id="keyboard_command_plugin">
  <title
>Tastatur</title>

  <para
>Das Tastatur-Modul zeigt eine virtuelle, sprachgesteuerte Tastatur.</para>

  <para>
  <screenshot>
  <screeninfo
>Tastatur</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="keyboard_1.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
  </para>

  <para
>The keyboard consists of multiple tabs, each possibly containing many keys. The entirety of tabs and keys are collected in <quote
>sets</quote
>.</para>

  <para
>You can select sets in the configuration but also create new ones from scratch in the keyboard command configuration.</para>

  <para>
  <screenshot>
  <screeninfo
>Tastatur: Einrichtung</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="keyboard_2.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
  </para>

  <para
>Keys are usually mapped to single characters but can also hold long texts and even shortcuts. Because of this, keyboard sets can contain special keys like a <quote
>select all</quote
> key or a <quote
>Password</quote
> key (typing your password).</para>

  <para
>Next to the tabs that hold the keys of your set, the keyboard may also show special keys like &Ctrl;, &Shift;, &etc; Those keys are provided as voice interface commands and are displayed regardless of what tab of the set is currently active.</para>
  <para
>As with all voice triggers, removing the associated command, hides the buttons as well.</para>

  <para
>Die Tastatur bietet außerdem einen Nummernblock, der angezeigt werden kann, indem die entsprechende Option in den Einstellungen gesetzt wird.</para>

  <para>
  <screenshot>
  <screeninfo
>Keyboard: Keypad</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="keyboard_3.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
  </para>

  <para
>Next to the number keys and the delete key for the number input field (<guibutton
>Number backspace</guibutton
>), the numpad provides two options on what to do with the entered number.</para>
  <para
>When selecting <guibutton
>Write number</guibutton
>, the entered number will be written out using simulated key presses. Selecting <guibutton
>Select number</guibutton
> tries to find a key or tab in the currently active set that has this number as a trigger. This way you can control a complete keyboard just using numbers.</para>

  <para>
  <screenshot>
  <screeninfo
>Keyboard: Number based</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="keyboard_4.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
  </para>

  <para
>The keys on the num pad are configurable voice interface commands.</para>
</sect2>

<sect2 id="dialog_command_plugin">
  <title
>Dialog</title>
  
  <para
>The dialog plugin enables users to engage in a scripted dialog with &kmyapplication;.</para>

  <sect3 id="dialog_design">
  <title
>Dialogentwurf</title>

  <para
>&kmyapplication; treats dialogs as a succession of different states. Each state can have a text and several associated options.</para>

  <para>
  <screenshot>
  <screeninfo
>Dialogentwurf</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="dialog_design.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
  </para>


  <para
>Dialogs can have more than one text variants - one of which will be randomly picked when the dialog is displayed. This can help to make dialogs feel more natural by providing several, alternative formulations.</para>

  <para
>The texts can use <link linkend="dialog_bound_values"
>bound values</link
> and <link linkend="dialog_template_options"
>template options</link
>.</para>

  <para>
  <screenshot>
  <screeninfo
>Dialogdesign; Optionen</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="dialog_design_options.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
  </para>

  <para
>Dialog options capsule the logic of the conversation. They are the active components of the dialog.</para>

  <para>
  <screenshot>
  <screeninfo
>Dialogentwurf: Hinzufügen einer Option</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="dialog_design_options_new.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
  </para>

  <para
>Similar to commands, dialog options have a name (trigger) that, when recognized while the dialog is active and in the option's parent state, will cause this option to activate. Alternatively, options can also be configured to trigger automatically after a set time period. This time is relative to when the state is entered.</para>

  <para
>Dialog options, when shown through the <link linkend="dialog_output"
>graphical output module</link
> can show an arbitrary text (that will most likely be equivalent to the trigger but doesn't have to be) and, optionally, an icon. If the text-to-speech output module is used, the text (not the trigger) will be read aloud unless this is disabled by selecting the <guibutton
>Silent</guibutton
> option.</para>

  <para
>Every state can also optionally have an avatar that will be displayed when using the <link linkend="dialog_output"
>graphical output module</link
>.</para>

  <para>
  <screenshot>
  <screeninfo
>Dialogentwurf: Avatar</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="dialog_design_avatar.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
  </para>

  </sect3>

  <sect3 id="dialog_bound_values">
  <title
>Dialog: Gebundene Werte</title>
  <para
>The text of dialog states can contain variables - so called "bound values" - that will be filled in during runtime.</para>

  <para
>For example, the dialog text "This is a $variable$" would replace "$variable$" with the result of a bound value called "variable".</para>

  <para>
  <screenshot>
  <screeninfo
>Gebundene Werte</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="dialog_bound_values.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
  </para>

  <para
>There are four types of bound values: <itemizedlist>
  <listitem>
    <para
>Statisch</para>
    <para>
    <screenshot>
    <screeninfo
>Bound values: Static</screeninfo>
      <mediaobject>
        <imageobject>
          <imagedata fileref="dialog_bound_value_add_static.png" format="PNG"/>
        </imageobject>
      </mediaobject>
    </screenshot>
    </para>
    <para
>Static bound values will always be resolved to the same text. They are useful to provide configuration options to be filled in to personalize the dialog (&eg;, the name of the user).</para>
  </listitem>
  <listitem>
    <para
>QtScript</para>
    <para>
    <screenshot>
    <screeninfo
>Bound values: QtScript</screeninfo>
      <mediaobject>
        <imageobject>
          <imagedata fileref="dialog_bound_value_add_qtscript.png" format="PNG"/>
        </imageobject>
      </mediaobject>
    </screenshot>
    </para>
    <para
>QtScript bound values resolve to the result of the entered <ulink url="http://doc.qt.digia.com/qt/ecmascript.html"
>QtScript</ulink
> code.</para>
  </listitem>
  <listitem>
    <para
>Befehlszeilenargumente</para>
    <para>
    <screenshot>
    <screeninfo
>Bound values: Command arguments</screeninfo>
      <mediaobject>
        <imageobject>
          <imagedata fileref="dialog_bound_value_add_argument.png" format="PNG"/>
        </imageobject>
      </mediaobject>
    </screenshot>
    </para>
    <para
>If the dialog trigger command (the &kmyapplication; command that initiates the dialog) uses <link linkend="command_arguments"
>placeholders</link
>, they can be accessed through command argument bound values. The <guilabel
>Argument</guilabel
> number refers to the index of the placeholder you want to access.</para>
    <para
>For example, if your dialog is started with the command "Call %1", and "name" is a command argument bound value, then launching the dialog by recognizing "Call Peter", will turn the dialog text "Are you sure you want to call $name$?" into "Are you sure you want to call Peter?".</para>
  </listitem>
  <listitem>
    <para
>Plasma-Datentreiber</para>
    <para>
    <screenshot>
    <screeninfo
>Bound values: Plasma data engine</screeninfo>
      <mediaobject>
        <imageobject>
          <imagedata fileref="dialog_bound_value_add_plasma.png" format="PNG"/>
        </imageobject>
      </mediaobject>
    </screenshot>
    </para>
    <para
>This type of bound value can readily access a wide array of high-level information through plasma data engines.</para>
  </listitem>
  </itemizedlist>
  </para>
  </sect3>

  <sect3 id="dialog_template_options">
  <title
>Vorlageneinstellungen</title>
  <para
>Dialog texts can further be parametrized through template options.</para>

  <para>
  <screenshot>
  <screeninfo
>Vorlageneinstellungen</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="dialog_template_options.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
  </para>
  <para
>These boolean values choose between different or optional text snippets.</para>

  <para
>For example, the template option "formal" above, would change the dialog text "Would you please {{{formal}}be quiet{{elseformal}}shut up{{endformal}}" to "Would you please be quit" or "Would you please shut up" depending on if the template option is set to true or false. The else-path can be omitted if it is not required (&eg; "Would you {{formal}}please {{endformal}}be quiet").</para>
  </sect3>

  <sect3 id="dialog_avatars">
  <title
>Avatare</title>
  <para
>Every state can potentially show a different avatar.</para>

  <para
>These images can range from the picture of a (simulated) speaker to an image of something topically appropriate.</para>

  <para>
  <screenshot>
  <screeninfo
>Dialog: Atavare</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="dialog_avatars.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
  </para>
  <para
>To use an avatar, first add it here and later define where to use it in the <link linkend="dialog_design"
>dialog design section</link
>.</para>
  </sect3>

  <sect3 id="dialog_output">
  <title
>Ausgabe</title>
  <para
>Dialogs can be displayed graphically, use text-to-speech or combine both approaches.</para>

  <para>
  <screenshot>
  <screeninfo
>Dialog: Ausgabe</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="dialog_output.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
  </para>

  <para
>The <guilabel
>Separator to options</guilabel
> will be spoken between the dialog text and the current state's options (if there are any). If there are no options to this state or all are configured to be silent, this will not be said. The option to listen to the whole announcement again is triggered when saying one of the configured <guilabel
>Repeat on trigger</guilabel
>. Additionally, the text-to-speech output can optionally be configured to repeat the listing of the available options (including the configured separator) when the user says a command that does not match any of the available dialog options.</para>
  </sect3>
</sect2>

<sect2 id="akonadi_command_plugin">
  <title
>Akonadi</title>
  
  <para
>The Akonadi plugin allows &kmyapplication; to plug into KDE's PIM infrastructure.</para>

  <para>
  <screenshot>
  <screeninfo
>Akonadi command configuration</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="akonadi_command_configuration.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
  </para>

  <para
>The plugin fulfills two major purposes: <itemizedlist>
    <listitem>
      <para
>Execute Simon commands at scheduled times</para>
      <para
>The Akonadi plugin can monitor a specific collection (calendar) and react on entries whose summary start with a specific prefix. Per default, this prefix is "[simon-command]", meaning that events of the form "[simon-command] &lt;plugin name&gt;//&lt;command name&gt;" will trigger the appropriate &kmyapplication; command at the "start time" of the event.</para>

      <para
>The name of the plugins and commands are equivalent to the ones shown in the <link linkend="commands"
>command dialog</link
> and do not necessarily need to reference commands in the same scenario as the Akonadi plugin instance.</para>
    </listitem>
    <listitem>
      <para
>Show reminders for events in the given calendar</para>
      <para
>If configured to do so, the Akonadi plugin can show reminders for calendar events with a set alarm flag. These reminders will be shown through the &kmyapplication; <link linkend="dialog_command_plugin"
>dialog engine</link
>.</para>
   </listitem>
    </itemizedlist>
  </para>
</sect2>

<sect2 id="dbus_command_plugin">
  <title
>D-Bus</title>
  
  <para
>With the D-Bus command, Simon can call exported methods in 3rd party applications directly.</para>

  <para
>The screenshot below, for example, calls the "Pause" method of the MPRIS interface of the Tomahawk music playing software.</para>

  <para>
  <screenshot>
  <screeninfo
>D-Bus-Befehl</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="dbus_command.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
  </para>
</sect2>

<sect2 id="json_command_plugin">
  <title
>JSON</title>
  
  <para
>Similar to the <link linkend="dbus_command_plugin"
>D-Bus command plugin</link
>, the JSON plugin also allows to contact 3rd party applications to directly invoke functionality (instead of simulating user activity).</para>

  <para>
  <screenshot>
  <screeninfo
>JSON-Befehl</screeninfo>
    <mediaobject>
      <imageobject>
        <imagedata fileref="json_command.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </screenshot>
  </para>
</sect2>

<!--
     Not included in this version of Simon
<sect2 id="atspi_command_plugin">
  <title
>AT-SPI</title>
  
</sect2>
-->

</sect1>



</chapter>



<chapter id="faq">
<title
>Fragen und Antworten</title>

<para
>Um diesen Abschnitt immer aktuell zu halten, wird dieser Teil des Handbuchs in unserem <ulink url="http://userbase.kde.org/Special:myLanguage/Simon/Troubleshooting_Guide"
>Wiki</ulink
> veröffentlicht. </para>

</chapter>

<chapter id="credits">

<title
>Danksagungen und Lizenz</title>

<para
>&kmyapplication; </para>
<para
>Programm Copyright 2006-2009 Peter Grasch <email
>peter.grasch@bedahr.org</email
>, Phillip Goriup, Tschernegg Susanne, Bettina Sturmann, Martin Gigerl </para>

<para
>Dokumentation Copyright &copy; 2009 Peter Grasch <email
>peter.grasch@bedahr.org</email
> </para>

<para
>Übersetzung Copyright &copy; 2009 Peter Grasch <email
>grasch@simon-listens.org</email
></para
> 
&underFDL; &underGPL; </chapter>

<appendix id="installation">
<title
>Installation</title>
<para
>Im <ulink url="http://userbase.kde.org/Special:myLanguage/Simon/Installation"
>Wiki</ulink
> finden Sie eine detaillierte Installationsanleitung.</para>

</appendix>

&documentation.index;
</book>

<!--
Local Variables:
mode: xml
sgml-minimize-attributes:nil
sgml-general-insert-case:lower
sgml-indent-step:0
sgml-indent-data:nil
End:

vim:tabstop=2:shiftwidth=2:expandtab
kate: space-indent on; indent-width 2; tab-width 2; indent-mode none;
-->
