Hosaka v3.0rc3 beta (19th January 2026)
=======================================

Hosaka command-line software can be used to manipulate brainwaves using
audiovisual stimulus (pictures) and machine learning.

Software uses only CPU. You MUST have *FAST* CPU for the optimization step
which takes hours. You need to 1) measure EEG database or responses to pictures,
sounds and keywords (1 hour measurements, multiple times a day), 2) optimize
machine learning models so you can: 3) execute stimulus to try to increase
PLV (default) or other targets.

To test stimulation/measurements, use commands:

hosaka3.exe --measure --device=mindmonitor
hosaka3.exe --measure --device=lsl
hosaka3.exe --measure --device=random

Software can either read Mind Monitor App EEG readings using OSC (UDP) protocol
to port 4545 to IP of your computer (Interaxon Muse) or read LSL protocol
(the default is to use the first found LSL stream) EEG readings.

You can also set other targets for optimization than phase lag index (ICA-PLI)
using --target command. (21 comma separated values between 0 and 1,
use -1 for values that are not used).

In the commands below you must change -1 values to values between 0 and 1 (typically 0 or 1). The used
target below sets target to be PLI and PLV of ICA signals. It is recommended to use ICA signals
because their metrics are of higher quality than raw EEG signals.

hosaka3.exe --measure --device=mindmonitor --target=-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1
hosaka3.exe --measure --device=lsl --target=-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1

To optimize with given target use commands:

hosaka3.exe --optimize --device=mindmonitor --target=-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1
hosaka3.exe --optimize --device=lsl --target=-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1

You can save measurements/models to a directory. To store measurements use "--model-dir=".
This also enables using the previous measurements and models instead of starting from scratch.

Use "--help" for command-line parameters. Pressing ESC or ENTER stops the program.

To execute stimulus (tries to move to target EEG state) use commands:

hosaka3.exe --execute --device=mindmonitor --target=-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1
hosaka3.exe --execute --device=lsl --target=-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1

IMPORTANT: Software is currently experimental and sometimes software fails to have
any wanted effect on the EEG. Effects are sometimes small and about 5% change in
EEG-metrics would mean really significant effect to EEG.

To see how EEG changes, use ./get_error.sh command in bash shell (MSYS2).
The command lists average error (distance) to target in 60 seconds steps.
Quite often values decrease after the start.


Tomas Ukkonen, M.Sc. <tomas.ukkonen@iki.fi>


LICENSE:

Software is freeware but closed source. Links with non-GPL libraries.

