alt-shift-m Voice input (language depends on the current layout)
alt-shift-o Voice input with transfer to Ollama (language depends on the current layout)
alt-shift-c Transfer selected text to Ollama
alt-shift-s Read selected text aloud (language selection in a pop-up window)
alt-shift-t Translation from the primary language to the secondary language or vice versa
alt-shift-x Terminate the current task/action
If the hotkeys aren't working, make sure they haven't been reassigned in Options - Shortcut - Plugin. You can also reassign other keys there.
1. Piper TTS (speech synthesis engine)
Download: https://github.com/rhasspy/piper/releases
For example, piper_windows_amd64.zip — unzip it to any folder.
2. Piper Voice Models (.onnx files)
English: https://huggingface.co/rhasspy/piper-voices/tree/main/en/en_US
Russian: https://huggingface.co/rhasspy/piper-voices/tree/main/ru/ru_RU
Download the .onnx model file and .json config file and place it in any folder.
3. Vosk Speech Recognition Models
Download: https://alphacephei.com/vosk/models
Recommended: vosk-model-small-ru-0.22 and vosk-model-small-en-us-0.15
Unzip each into a separate folder.
4. Ollama (optional, for AI responses)
Download and install: https://ollama.com/download
Load the model through the Ollama interface or via the command line,
for example: ollama pull owl/t-lite
Ollama must be running (tray icon) before use.
5. Installing the plugin <If installing the plugin manually>
Unzip the NppVoicePlugin.<version>.x64.zip archive downloaded from GitHub into
the NppVoicePlugin folder in the Notepad++ plugins folder.
Path: Plugins > Open plugins folder in the Notepad++ menu.
Result: C:\Program Files\Notepad++\plugins\NppVoicePlugin\files
6. First launch
Launch Notepad++. 6 plugin buttons will appear on the toolbar.
Open Settings (Plugins > NppVoicePlugin > Settings...) and specify:
STT — paths to Vosk model folders
TTS — path to piper.exe and voice model files (.onnx)
Ollama — click "Check and select model" to connect
1) Select "2+2" in the text, for example, and say "Count"
2) Select previous questions and answers to Ollama and ask a follow-up question using voice.
To use a text file as context, specify the full path to the context file in the current file, for example: d:\For_plugin\Test\1.txt.
You can use multiple files, with or without separators:
d:\For_plugin\Test\1.tx
d:\For_plugin\Test\2.tx, d:\For_plugin\Test\3.tx d:\For_plugin\Test\4.tx
Next, select these paths and give the AI the task verbally.
Or, write the task in text format, select it along with the paths, and send it to the AI.
Several options are available for determining the language used for voice recognition and reading:
Primary language (automatically selected from settings)
Secondary language (automatically selected from settings)
Ask for language
By keyboard layout
These settings are selected separately for SST and TTS.
Primary language
In this case, the recognition or reading language will always be the one you set as the Primary language in the settings.
Secondary language
In this case, the recognition or reading language will always be the one you set as the Secondary language in the settings.
Ask for language
When this option is selected, a window will appear each time you run commands, prompting you to select a language for recognition or reading. In addition to the primary and secondary languages, you can select any of the models for which you have downloaded and configured.
Pressing Enter when this window appears quickly allows you to select the primary language.
By Keyboard Layout
The SST or TTS language will be automatically selected based on your current keyboard layout.
Make sure you have downloaded and configured all the appropriate languages for the keyboard layouts available on your system.
To abort the current action (recognition, reading, or waiting for a local AI response), you can press Alt+Shift+X (default) or the cross button (❌️) on the NPP panel .
Current actions are indicated in the left side of the NPP window status bar (the bottom line of the program).
The status bar displays the plugin's current activity.
The status bar is located at the bottom of the program window. The plugin displays its information messages on the left side of the status bar.
For SST:
[RECORDING] [RU] (59) - [5] - Voice recognition in Russian is in progress. 59 seconds remain until the end of dictation. 5 seconds remain until the end of silence recording.
For TTS:
[TTS...] [EN] - Reading progress indicator. Reading is in English.
For local AI:
[Ollama] 170s - Request to local AI in progress. 170 seconds remain until the request timeout.
[Ollama] - Local AI responds.
[Translation] 170s - Request to local AI for translation of the selected text in progress. 170 seconds remain until the request timeout.
AI, especially local AI, is unpredictable. Even a local model successfully tailored to one type of question may be useless for another. It's important to select a model based on your individual needs and the hardware capabilities of your computer.
If you've just launched NPP and haven't yet accessed the AI, or have just selected a different AI model, the first request first loads the model into memory and only then responds. The timeout for the first request is always higher than for subsequent requests.
Here you can view and select official models for Ollama. The plugin is specialized for local (non-cloud) models.
Starting with version 1.5, the plugin adds the ability to use small text files as context for the AI.
In future versions, I'll try to add the ability to upload images to the local AI (vision).
To understand the risk of using weak local models:
1 + 2 =
Ollama: 3.
Ollama: 5.
Ollama: 3.
Ollama: 5.
Ollama: 5.
To understand the risk of using large local models:
1 + 2 =
Ollama: Ollama timeout exceeded. Choose a different model or increase the timeout in the settings.
To understand the risk of using chatty local models:
1 + 2 =
Ollama: Solving the problem 1 + 2 = ?.
You must submit the answer 3.
Answer: **3**
To understand the risk of using weak and poorly trained local models for a specific language:
Explain the Three Laws of Robotics
Ollama: The following principles underlie the Three Laws of Robotics:
1. **Инercialное закон**: Роботы naturalaneously preserve their motion unless acted upon by внешних приложений. Это означает, что при измене траектории или скорости robots без外界ного驱ения их от silentlyContinues unchanged.....