Giter Site home page Giter Site logo

elleo / pied Goto Github PK

View Code? Open in Web Editor NEW
83.0 4.0 2.0 811 KB

Pied makes it simple to install and manage text-to-speech Piper voices for use with Speech Dispatcher.

Home Page: https://pied.mikeasoft.com

License: GNU General Public License v3.0

Dart 86.22% CMake 8.06% C++ 4.47% C 0.63% Makefile 0.21% Shell 0.40%
accessibility screenreader tts

pied's Introduction

Pied

A happy little pied wagtail

Pied makes it simple to install and manage text-to-speech Piper voices for use with Speech Dispatcher. Pied installs and configures the Piper neural text-to-speech engine to work with Speech Dispatcher. It can then be used to download and manage different voices.

A screenshot showing the voice selection page in Pied

Get it from the Snap Store Install Flatpak

pied's People

Contributors

elleo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

pied's Issues

Local configuration stomps on system-wide configuration

I have Fedora 39 with espeak-ng and Voxin installed system wide. Before installing pied:

$ spd-say -O
OUTPUT MODULES
voxin
espeak-ng-mbrola
espeak-ng

After installing pied:

$ spd-say -O
OUTPUT MODULES
piper

Removing ~/.config/speech-dispatcher/speechd.conf solved the immediate problem of restoring espeak-ng and voxin.

I'd like to be able to have piper with speech-dispatcher, co-existing with voxin and espeak-ng and anything else I might have installed.

I'm also the maintainer of the Orca screen reader. I'd like to get feedback from Orca users on the responsiveness of piper. Pied looks like a great tool to make this possible. But I don't want to wind up with end users losing access to their other synthesizers which they might want/need to modify or restore configurations, etc. So anything you can do to ensure all installed synthesizers remain available as output modules would be great.

Thanks in advance!

Request: Support more than one voice for language switching

Related to #7 , my use case is different. I would like to use Firefox Narrate feature to read for me aloud articles.

Right now, once Pied is set up, I can already do that changing the selected voice at Pie, and returning to Firefox, but it would be awesome to let Firefox list all the available voices. As far as I understand, the challenge is to write a generic command for the GenericExecuteSynth option and then list as many AddVoice as voices installed, right?

Really, it's been years desiring some human sounding voices in Debian and this is just awesome. Thank you a lot for building this humble bridge between piper and speech-dispatcher :)

Just a little more and this tool would be gorgeous for me.

By the way, I don't depend on this to read, so if there are tasks that can improve the experience for non-reading people, I suggest you to prioritise them.

TTS Simply doesn't work

Hi,
I am on Ubuntu 23.10 and have installed the latest version of pied through Snapcraft.

I have used pied to install some UK and US voices, and activated one of them. I have tried using them with the Screen Reader and my web browser's (Firefox) TTS, but this did not produce any sound.

Things I've checked:

  • Volume is on, and works properly on music and videos
  • Rebooted my computer
  • changed the language of my laptop to match voice
  • Screen reader voice previously worked

Did I miss anything? Did this happen to anyone else?

Long pauses between sentences

I'm not sure if it's a speech dispatcher problem or if it's something with the configuration, but when I run the following command, I get fairly short pauses between sentences, but when I run the phrase with spd-say, the pauses become very long, disrupting the flow of the reading.

echo "Then I realized that far from being lost, the details of these beers \
had been carefully stored in archives and brewery store rooms across Britain. \
Discovering the secrets of these lost beers was a possibility. All that was \ 
required was a bit of effort and determination."  | \
piper -m /home/noaxp/.var/app/com.mikeasoft.pied/data/pied/models/en_US-lessac-high.onnx \
--output_raw  | aplay -r 22050 -f S16_LE -t raw -

I've tried changing the configuration file piper.conf to include the flag --sentence_silence, but it doesn't seem to have any effect whatsoever, not to make it shorter or longer.

Still haven't checked how it's working with other output modules.

Playback Speed

Is there any way to change the global reading speed? I tried modifying the speech-dispatcher "DefaultRate", but there was no change. I'm on Kubunutu LTS.

[Request] Instructions to build appimage or normal installation package or pip install

I am on Manjaro Linux and I don't know how to build appimage. Can you provide some instructions how to build appimage or normal package that installs like all other packages. I prefer smaller packages than all this Flatpak ecosystem.
Does it need to be run in some virtual environment like env or something?

Or perhaps pip install? I installed piper via pip
pip install piper-tts
Pip would be the best because is so easy to install.

Request: support usage of multiple voices

I use pied on ubuntu 22.04 with orca screenreader. I would like to use multiple Piper voices, e.g. Lessac in the web browser and Ryan in the terminal.
Please help me on how to achieve this with pied

Management of installed voices (list, delete)

It'd be great to be able to see a list of the installed voices in one place and being able to remove them with a single click. Currently to see what voices are installed you need to navigate through each language and from what I see it isn't possible to remove installed voices from the GUI.

PS: Thanks for making this project, I've been trying to get some good TTS working on my system for the last few months, however for some reason almost nothing worked (with the speech-dispatcher service not even starting until now for whatever reason ๐Ÿ˜…) - until I found this project mentioned on the Arch Wiki (an edit from ~2 weeks ago ๐Ÿ™). I've downloaded the Flathub file and after installing, it was basically a plug&play experience for which I'm extremely glad for!

Kind regards, Daruyami.

spd-say -L returns Failed to get voice list

I'm on Ubuntu 20.04, and I have Speech Dispatcher 0.9.1 installed.

After installing Pied and downloading a voice, I could confirm that spd-say "test" worked fine, but spd-say -L returned the Failed to get voice list. error. For this particular version of Speech Dispatcher, an empty voice list prevents Firefox's Reader View mode from functioning normally. https://support.mozilla.org/en-US/kb/speechd-setup

I noticed that spd-say -o piper -L didn't have this issue, so it hinted that the Piper module was probably not being selected as the default output. I then tried adding DefaultModule piper to ~/.config/speech-dispatcher/speechd.conf, and it fixed the issue:

$ killall speech-dispatcher
$ spd-say -L
                     NAME                 LANGUAGE                  VARIANT
                    Piper                    en-us                    MALE1

This issue is most likely specific to older versions of Speech Dispatcher, before this fix was released. An alternative solution is to find a backported binary or to build the binary manually, but for me, this was the quickest fix, so I thought I should share it here in case someone else faces the same issue.

Publish to Flathub

Hi there, thanks a lot for making Pied! I was able to install and run it from the Flatpak bundle and it reconfigured speech-dispatcher without a problem (though it took me a few minutes to realize I had to download the first voice and then manually click again to activate it).

Any chance you might publish it to Flathub? I'm unlikely to remember to manually check for updates, and I'd love to have an easy way to recommend it to other people :)

FR - Ability to switch voices in terminal

I want to be able to switch voices in terminal.
Eg. By default, my settings use english but sometimes I need the german voice aswell.

spd-say -o piper -l de-DE "Hallo alle zusammen"

My code should work, but it doesn't, as the speech dispatcher uses the configuration in ~/.config/speech-dispatcher/piper.conf

I could save both voice configurations (en & de settings) separately and rewrite the default piper.conf through a shell script, still i'd like to hear your opinion first. Maybe Pied offers other features I am not aware of.

Speech dispatcher doesn't work after after installing.

After installing and changing the config, speech dispatcher no longer works for me.
When i run spd-say "This is a test", it doesn't give me an audio output.

Can I revert the changes somehow?

System Information
OS: Fedora 39
Package format: Flatpak

Very limited choice of voices

Thanks for your work on this project.
I have all the standard compatible onnx voices downloaded from hugginface but can not use them with this implementation.

I tried altering the data in config/speech-dispatcher/modules/piper.conf to point to my preferred voice but this is rejected by speechd.
AFAIK, out of nearly 30 choices, there are only two download options for UK/US voices in the pied app, why is this?

I really want to use the Alba voice (en_GB-alba-medium.onnx) how do I do this?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.