1.6.7. Speech Visualizer¶
Contents
1.6.7.1. Speech Hypotheses Visualizer¶
Used to show results from speech recognition.
1.6.7.1.2. Interfaces¶
Currently there are two interaction islands, the kitchen and entrance.
Scope (Listener) | Type |
---|---|
<location>/speechhypotheses |
SpeechHypotheses , DialogAct |
<location>/situation/result |
ClassificationResultMap |
<location>/saytask/SAY |
TaskState |
<location>/flobi/speakingstate |
String |
<location>/speechhypotheses/visualization/debugmode |
String |
1.6.7.1.3. Debug Mode¶
Debugmode can be enabled and disabled via cmdline-properties or an rsb-event.
The scope of the debugmode-listener is always speech-hypotheses-scope + /visualization/debugmode
.
The rsb-event to handle debugmode must contain a string-message ON
or OFF
, not case-sensitive.
Enabling debugmode entails:
- a textFrame for grammarTrees shows up.
- grammarTrees (if available) are shown.
- type of incoming dialogact is printed to terminal.
1.6.7.1.4. Examples¶
- start some speech-recognition-software, that sends its sprechhypothese or dialogacts via rsb.
- start visualizer with scope to listen to
./speechvisualizer -s /result_scope/
If you give no scope, default will be “/citec/csra/home/hallway/entrance/speechhypotheses”.
- see what recognizer sends as result.
A small bar at the bottom of the screen appears. The results from the speech-recognition will be posted there. The current hypothesis is shown in the first line, below is the history of last hypotheses.
If the result is not final yet, the text will be greyed out. If it is final, the text is black. Filler-words will only be shown as long as they are not final.
You can also let the visualizer show the speaking and attention / listening state of the robot-system. Therefore you can invoke it with the command -p, which tells the visualizer to show if the robot speaks on a certain scope.
There is a small section at the right end which becomes colored if the system is speaking.
Also, you can invoke it with the parameters -a and -d to to show the attention and addressee state of the system. When the backgroundcolour of the textbox is blue, the system has attention to something.
When the backgroundcolour of the textbox is green, the system has attention and an addressee.
If you enable debug-mode, you will see a second frame above the recognition-bar. It will show grammar-trees from incoming SpeechHypotheses or DialogAct.
1.6.7.2. Grammar Helper¶
Used to show possible speech commands for an interaction with the dialogsystem.
1.6.7.2.1. Related resources¶
Component repository:speech-visualization.
System startup:
The start script grammar-helper.sh can be found at <prefix>/opt/speech-visualizer/bin/grammar-helper.sh
.
The program can be invoked with the following parameter:
-r, --scp-scope Set the rsb-scope where you want to call the Speech Command Proposer. -d, --debug debug-mode, shows more information. -l, --dialog-act Set the scope where dialogacts should be published.
Related projects:
1.6.7.2.2. Interfaces¶
The property of -r
or --scp-scope
serves as prefix.
Scope (Listener) | Type |
---|---|
prefix/grammarhelper/debugmode |
String |
prefix/grammarhelper/rulechange |
String |
The scope for rulechange is used to inform the grammarhelper that active rules have changed. It is used by the Speech Command Proposer.
1.6.7.2.3. Debug Mode¶
Debugmode can be enabled and disabled via cmdline-properties or an rsb-event.
The scope of the debugmode-listener is always scp-scope + /grammarhelper/debugmode
.
The rsb-event to handle debugmode must contain a string-message ON
or OFF
, not case-sensitive.
Enabling debugmode entails:
- the grammar-helper frame will be switched to debugmode.
- grammar control section lets you set and ask for the jsgf-grammar the Speech Command Proposer uses.
- two
getRules
buttons to grab rule-lists from the Speech Command Proposer.
1.6.7.2.4. Examples and Screenshots¶
1.6.7.2.4.1. Basic usage¶
./speech-command-proposer -s /ScopeToMyServer/ -g /path/to/my/grammar.gram
./grammar-helper -r /ScopeToMyServer/
1.6.7.2.4.2. Example for debugmode¶
Note
Active rules are handled by the Speech Command Proposer!
Note
The scope for sending dialogActs is passed through to the speech-command-proposer. The scp will also send the dialogActs.