Skip to content

papoteur-mga/elograf

Repository files navigation

Elograf

This program is an utility for launching and configuring nerd-dictation for voice recognition.

Usage

It is intended to be launched at start of the desktop environnement to display an icon in the icons tray. Use your favorite desktop settings manager to add the command 'elograf' launched at start.

The icon when pressed with right click has a menu with command to start and stop the dictation. It has also an entry to configure the model and other options.

When selecting the option "Active direct click on icon", and after a restart, a click on the icon launches nerd-dictation. A new press stops it. With right click, the utility can be exited or configured.

The icon reflects the state of the dictation.

The configuration dialogue contains a table list of all models which are installed on the system and which can be selected.
Models can be directly downloaded from alphacei website and stored either in the user or system space. For storing in the system space, root credentials are asked through polkit mechanism.
You can also select a directory where a model resides. You have to give it a unique name.
The configuration dialog is displayed if no model has been set previously.
In Advanced dialogue, you can set an optionnal precommand which is launched before nerd-dictation itself. Another line is for optionnal postcommand which is launched after nerd-dictation is stopped.
You can also select or define some options which are passed to nerd-dictation.
You can select the input simulation tool in XDOTOOL (used by default) and DOTOOL. DOTOOL should be used for Wayland environment and you have to specify the keyboord layout code with a two letters code like 'fr' or 'de' if you don't use the 'us' layout.

The start can take a long time, according to the size of the model.

Options
    -l, --log <level>   : output information according to the level, where <level> is a standard level in Python
    -s, --start         : launch the dictation directly. This is possible only if the model has already been configured. This can for example be associated with a shortcut.


Installation
In command line, as root for system wide installation, or as user for a local installation
pip install .
In case of local installation, be sure that ~/.local/bin is in the PATH variable.
nerd-dictation is not included and needs to be installed separately.
Python modules requirements:
- ujson
- Qt6

Under the hood

This tool is written in Python 3 and use Qt6.
Configuration file is ~/.config/Elograf/Elograf.conf
In user space, models are stored in ~/.config/vosk-models
In system space, models are stored in /usr/share/vosk-models
Translations files are expected in /usr/share/elograf/translations