Skip to content

Settings

Global settings control Vinput’s base runtime environment, independent of ASR engine or scene selection.

Corresponding config:

{
"global": {
"default_language": "en",
"capture_device": "rnnoise_source",
"duck_output_while_recording": false,
"duck_output_volume": 0.25
},
"asr": {
"normalize_audio": true,
"input_gain": 5.0,
"vad": {
"enabled": true
}
}
}

Select the microphone input source. Vinput captures audio via PipeWire — this lists available capture devices on your system.

In Vinput GUI, select the device on the Control page.

Terminal window
vinput device list # List available capture devices
vinput device use <name> # Set active device

input_gain controls the recording volume multiplier. Increase this if your microphone is too quiet for good recognition.

Terminal window
vinput config set /asr/input_gain 5.0

normalize_audio normalizes the audio signal for more consistent volume levels.

Terminal window
vinput config set /asr/normalize_audio true

VAD detects whether someone is speaking. When enabled, silent segments are filtered out automatically, reducing unnecessary recognition attempts.

Terminal window
vinput config set /asr/vad/enabled true

When duck_output_while_recording is enabled, Vinput lowers the system output volume while recording and restores it afterwards. This helps when you use speakers and a microphone at the same time — for example listening to music while dictating — so that speaker sound leaking into the microphone does not degrade recognition.

duck_output_volume is the fraction of the current output volume kept while recording (0.25 keeps 25%). It is clamped to the 0.01.0 range. This feature is off by default.

Volume is adjusted through WirePlumber (wpctl), so it matches the system volume and is fully restored afterwards. If WirePlumber is not available (for example inside some sandboxes), the feature is silently skipped.

Terminal window
vinput config set /global/duck_output_while_recording true
vinput config set /global/duck_output_volume 0.25

Both options are also available on the Control page in Vinput GUI, under the Audio section.

default_language sets the default language, affecting UI display and some model behavior.

Terminal window
vinput config set /global/default_language zh
Terminal window
vinput config get <JSON Pointer> # Read any config value
vinput config set <JSON Pointer> <val> # Write any config value
vinput config edit core # Edit core config (config.json)
vinput config edit fcitx # Edit Fcitx addon config (vinput.conf)
vinput daemon restart # Restart daemon to apply changes