You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Arsen6331 ee76c1afc5 Fix module path 4 months ago
plugins Switch TTS from mimic to flite 5 months ago
.envrc Initial Commit 5 months ago
.gitignore Initial Commit 5 months ago
LICENSE Initial Commit 5 months ago
Makefile Initial Commit 5 months ago
README.md Switch TTS from mimic to flite 5 months ago
action.go Initial Commit 5 months ago
activate.wav Initial Commit 5 months ago
audio.go Fix done condition in playActivationSound and improve timing of loops 5 months ago
config.go Add SayWithVoice to yaegi symbols 5 months ago
go.mod Fix module path 4 months ago
go.sum Switch TTS from mimic to flite 5 months ago
logging.go Initial Commit 5 months ago
main.go Add SayWithVoice to yaegi symbols 5 months ago
plugins.go Add SayWithVoice to yaegi symbols 5 months ago
symbols.go Add SayWithVoice to yaegi symbols 5 months ago
trident.example.toml Initial Commit 5 months ago

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.