Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/williamragstad/voicecommander

An expandable tool for voice activated commands with infinite possibilities!
https://github.com/williamragstad/voicecommander

Last synced: 10 days ago
JSON representation

An expandable tool for voice activated commands with infinite possibilities!

Awesome Lists containing this project

README

        


VoiceCommander


GitHub release (latest by date)

# VoiceCommander
An expandable tool for voice activated commands with infinite possibilities!

# Usage

## Introduction

**VoiceCommander** is a tool that provides fullt customizable, programmable and extendable real-time voice recognition to command execution. It has support for a voice selector if you have multiple voices installed, and therefore configs in different languages. Everything is interpreted in **English** at the moment, but if it is requested this can be broadened.

When you start the program, you are first prompted to select a voice synthesizer and voice recognizer if your system has more than 1 installed. Then all [configs](#Configs) will be loaded. After that, you are good to go! Try to say something from the installed configs command palette.

## Configs

The configurations is located in the `C:\Users\[USERNAME]\AppData\Roaming\VoiceCommander\Configs` folder.
All config files are [JSON](https://en.wikipedia.org/wiki/JSON) formatted and follow the structure below:

```json
{
"Name": "Example Title",
"Description": "Example configuration created 2020 by John.",
"Elements": [
{
"Phrase": "Phrase",
"Action": "Action",
"ActionData": [
"Arg1",
"Arg2",
"..."
]
}
],
"Groups": [
{
"Phrase": "Group phrase",
"Elements": [ ],
"Groups": [ ]
}
]
}
```

### Elements

Provides a new configuration which holds all data about the voice command.

#### Phrase

Which phrase to be linked with the command. Multiple commands can share phrases which creates a chain of executions.
This must be pronounceable in any language and is combined with any parent group phrases (to create a "sentence").

#### Action

This decides which action to be made at execution time, the currently available actions are:

> #### Say
> Say something to audio output.
>
> ActionData: `text`, `text`, `...`.

> #### SayRandom
> Say one of a set of random strings.
>
> ActionData: `text`, `text`, `...`.

> #### OpenFile
> Opens a file on the local system.
>
> ActionData: `Filepath`.

> #### Shell
> Runs a shellcommand as if it was runned from the terminal.
>
> ActionData: `command`, `command`, `...`.

> #### PowerShell
> Runs a powershell command as if it was runned from the terminal.
>
> ActionData: `command`, `command`, `...`.

> #### SayCode
> Say evaluated C# code result to audio output.
>
> ActionData: `expression`.

> #### Code
> Evaluates and runs C# code.
>
> ActionData: `code line`, `code line`, `...`.

> #### CodeFileCS
> Evaluates and runs a .cs C# project file.
> File **can** be located in the config folder and referenced using just the file name or relative file paths from there.
>
> ActionData: `source file`.

#### ActionData

This is essentially the arguments used by the action. Often the **First** argument is most important to provide.

### Groups

Holds child elements and/or groups, together with any phrases (can be left out).