Go to file
Elara ee76c1afc5 Fix module path 2021-05-03 10:53:18 -07:00
plugins Switch TTS from mimic to flite 2021-04-22 20:10:40 -07:00
.envrc Initial Commit 2021-04-21 19:29:14 -07:00
.gitignore Initial Commit 2021-04-21 19:29:14 -07:00
LICENSE Initial Commit 2021-04-21 19:29:14 -07:00
Makefile Initial Commit 2021-04-21 19:29:14 -07:00
README.md Switch TTS from mimic to flite 2021-04-22 20:10:40 -07:00
action.go Initial Commit 2021-04-21 19:29:14 -07:00
activate.wav Initial Commit 2021-04-21 19:29:14 -07:00
audio.go Fix done condition in playActivationSound and improve timing of loops 2021-04-22 20:00:02 -07:00
config.go Add SayWithVoice to yaegi symbols 2021-04-22 20:13:47 -07:00
go.mod Fix module path 2021-05-03 10:53:18 -07:00
go.sum Switch TTS from mimic to flite 2021-04-22 20:10:40 -07:00
logging.go Initial Commit 2021-04-21 19:29:14 -07:00
main.go Add SayWithVoice to yaegi symbols 2021-04-22 20:13:47 -07:00
plugins.go Add SayWithVoice to yaegi symbols 2021-04-22 20:13:47 -07:00
symbols.go Add SayWithVoice to yaegi symbols 2021-04-22 20:13:47 -07:00
trident.example.toml Initial Commit 2021-04-21 19:29:14 -07:00

README.md

Trident

Personal voice assistant written in go using DeepSpeech. This was mainly created for personal use, so there may be some edge cases unaccounted for.


Prerequisites

The prerequisites for trident are:

  • libdeepspeech and DeepSpeech models (speech to text)
  • flite (text to speech)
  • go

libdeepspeech along with its models can be found in its github releases. Be sure to download the native_client tarball for your platform and the .pbmm and .scorer files.

flite can be installed via your distribution's repositories:

  • Debian/Ubuntu: sudo apt install flite-dev
  • Fedora: sudo dnf install flite-devel
  • Arch: sudo pacman -S flite festival-us

Installation

Move the previously downloaded models (.pbmm and .scorer) into this repo as deepspeech.pbmm and deepspeech.scorer. Then, follow the next steps.

To build trident, run:

make

After that, install by running:

sudo make install

Customization

To change the activation tone, replace the activate.wav file with any valid wav file and rebuild. The file will be embedded in the executable via //go:embed.

Trident has a config file called trident.toml. It will first look for it in <user config directory>/trident.toml (config directory as defined by os.UserConfigDir()), then it will look for it in the same directory as the executable.