Add text-to-speech for announcing mode changes.
This commit is contained in:
parent
3e4367f5e7
commit
8262d78b54
8 changed files with 209 additions and 32 deletions
33
readme.md
33
readme.md
|
@ -29,6 +29,7 @@ Joyful is ideal for Linux gamers who enjoy space and flight sims and miss the fe
|
|||
* Hat support
|
||||
* HIDRAW support for more button options.
|
||||
* Sensitivity Curves.
|
||||
* Packaged builds for Arch and possibly other distributions.
|
||||
|
||||
## Configuration
|
||||
|
||||
|
@ -44,19 +45,29 @@ After building (see below) and writing your configuration (see above), just run
|
|||
|
||||
Pressing `<enter>` in the running terminal window will reload the `rules` section of your config files, so you can make changes to your rules without restarting the application. Applying any changes to `devices` or `modes` requires exiting and re-launching the program.
|
||||
|
||||
## Build & Install
|
||||
|
||||
To build joyful, first use your distribution's package manager to install `go` and `alsa-lib` (this may be `libasound2-dev` or `libasound2-devel` depending on your distribution), then run:
|
||||
|
||||
```
|
||||
go build -o build/ ./...
|
||||
```
|
||||
|
||||
Next, copy the binaries in the `build/` directory to somewhere in your `$PATH`. (details depend on your setup, but typically somewhere like `/usr/local/bin` or `~/bin`)
|
||||
|
||||
### Machine Learning Disclosure
|
||||
|
||||
Joyful's text-to-speech support is dependent on [Piper](https://github.com/rhasspy/piper), which uses an offline Machine Learning (ML) model for speech synthesis. The project authors are extremely skeptical of ML/AI technologies in general, but consider speech synthesis, especially offline/local speech synthesis, to be one of the most defensible use cases for it. Since it is very difficult to find text-to-speech systems that don't use ML under the hood (especially that have extant golang wrappers or bindings), this is considered a necessary tradeoff.
|
||||
|
||||
However, if you don't want any ML running on your system, you can optionally choose to skip TTS support at compile-time by building with this command:
|
||||
|
||||
```
|
||||
go build -o build -tags notts ./...
|
||||
```
|
||||
|
||||
## Technical details
|
||||
|
||||
Joyful is written in golang, and uses evdev/uinput to manage devices. See `cmd/joyful/main.go` for the program's entry point.
|
||||
|
||||
### Build & Install
|
||||
|
||||
To build joyful, install `go` via your package manager, then run:
|
||||
|
||||
```
|
||||
CGO_ENABLED=0 go build -o build/ ./...
|
||||
```
|
||||
|
||||
Copy the binaries in the `build/` directory to somewhere in your `$PATH`. (details depend on your setup, but typically somewhere like `/usr/local/bin` or `~/bin`)
|
||||
Joyful is written in golang, and uses `evdev`/`uinput` to manage devices, `piper` and `oto` for TTS. See [cmd/joyful/main.go](cmd/joyful/main.go) for the program's entry point.
|
||||
|
||||
### Contributing
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue