Implement good-enough TTS without machine learning.
This commit is contained in:
parent
8262d78b54
commit
cd43d98fb6
7 changed files with 116 additions and 122 deletions
20
readme.md
20
readme.md
|
@ -20,6 +20,7 @@ Joyful is ideal for Linux gamers who enjoy space and flight sims and miss the fe
|
|||
* Axis -> Relative Axis mapping, for converting a joystick axis to mouse movement and scrollwheel events.
|
||||
* Configure per-rule configurable deadzones for axes, with multiple ways to specify deadzones.
|
||||
* Define multiple modes with per-mode behavior.
|
||||
* Text-to-speech engine that announces the current mode when it changes.
|
||||
|
||||
### Possible Future Features
|
||||
|
||||
|
@ -47,23 +48,18 @@ Pressing `<enter>` in the running terminal window will reload the `rules` sectio
|
|||
|
||||
## 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:
|
||||
To build joyful, first use your distribution's package manager to install the following packages:
|
||||
* `go`
|
||||
* `alsa-lib` - this may be `libasound2-dev` or `libasound2-devel` depending on your distribution
|
||||
* `espeak-ng` - if you want text-to-speech to announce mode changes
|
||||
|
||||
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 ./...
|
||||
```
|
||||
Finally, copy the files in the `build/` directory to somewhere in your `$PATH`. (details depend on your setup, but typically somewhere like `/usr/local/bin` or `~/bin`)
|
||||
|
||||
## Technical details
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue