tortoise-tts
espeak-ng
tortoise-tts | espeak-ng | |
---|---|---|
145 | 28 | |
12,193 | 3,850 | |
- | 24.6% | |
7.7 | 7.1 | |
about 1 month ago | about 13 hours ago | |
Jupyter Notebook | C | |
Apache License 2.0 | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
tortoise-tts
-
ESpeak-ng: speech synthesizer with more than one hundred languages and accents
The quality also depends on the type of model. I'm not really sure what ESpeak-ng actually uses? The classical TTS approaches often use some statistical model (e.g. HMM) + some vocoder. You can get to intelligible speech pretty easily but the quality is bad (w.r.t. how natural it sounds).
There are better open source TTS models. E.g. check https://github.com/neonbjb/tortoise-tts or https://github.com/NVIDIA/tacotron2. Or here for more: https://www.reddit.com/r/MachineLearning/comments/12kjof5/d_...
- FLaNK Stack Weekly 12 February 2024
-
OpenVoice: Versatile Instant Voice Cloning
I use Tortoise TTS. It's slow, a little clunky, and sometimes the output gets downright weird. But it's the best quality-oriented TTS I've found that I can run locally.
https://github.com/neonbjb/tortoise-tts
- [discussion] text to voice generation for textbooks
- DALL-E 3: Improving image generation with better captions [pdf]
-
Open Source Libraries
neonbjb/tortoise-tts
-
Running Tortoise-TTS - IndexError: List out of range
EDIT: It appears to be the exact same issue as this
-
My Deep Learning Rig
It was primarily being used to train TTS models (see https://github.com/neonbjb/tortoise-tts), which largely fit into a single GPUs memory. So, for data parallelism, x8 PCIe isn't that much of a concern.
-
PlayHT2.0: State-of-the-Art Generative Voice AI Model for Conversational Speech
Previously TortoiseTTS was associated with PlayHT in some way, although the exact connection is a bit vague [0].
From the descriptions here it sounds a lot like AudioLM / SPEAR TTS / some of Meta's recent multilingual TTS approaches, although those models are not open source, sounds like PlayHT's approach is in a similar spirit. The discussion of "mel tokens" is closer to what I would call the classic TTS pipeline in many ways... PlayHT has generally been kind of closed about what they used, would be interesting to know more.
I assume the key factor here is high quality, emotive audio with good data cleaning processes. Probably not even a lot of data, at least in the scale of "a lot" in speech, e.g. ASR (millions of hours) or TTS (hundreds to thousands). As opposed to some radically new architectural piece never before seen in the literature, there are lots of really nice tools for emotive and expressive TTS buried in recent years of publications.
Tacotron 2 is perfectly capable of this type of stuff as well, as shown by Dessa [1] a few years ago (this writeup is a nice intro to TTS concepts). With the limit largely being, at some point you haven't heard certain phonetic sounds before in a voice, and need to do something to get plausible outcomes for new voices.
[0] Discussion here https://github.com/neonbjb/tortoise-tts/issues/182#issuecomm...
[1] https://medium.com/dessa-news/realtalk-how-it-works-94c1afda...
-
Comparing Tortoise and Bark for Voice Synthesis
Tortoise GitHub repo - Source code, documentation, and usage guide
espeak-ng
-
ESpeak-ng: speech synthesizer with more than one hundred languages and accents
After some brief research it seems the issue you're seeing may be a known bug in at least some versions/release of espeak-ng.
Here's some potentially related links if you'd like to dig deeper:
* "questions about mandarin data packet #1044": https://github.com/espeak-ng/espeak-ng/issues/1044
* "ESpeak NJ-1.51’s Mandarin pronunciation is corrupted #12952": https://github.com/nvaccess/nvda/issues/12952
* "The pronunciation of Mandarin Chinese using ESpeak NJ in NVDA is not normal #1028": https://github.com/espeak-ng/espeak-ng/issues/1028
* "When espeak-ng translates Chinese (cmn), IPA tone symbols are not output correctly #305": https://github.com/rhasspy/piper/issues/305
* "Please default ESpeak NG's voice role to 'Chinese (Mandarin, latin as Pinyin)' for Chinese to fix #12952 #13572": https://github.com/nvaccess/nvda/issues/13572
* "Cmn voice not correctly translated #1370": https://github.com/espeak-ng/espeak-ng/issues/1370
-
IAMA senior javascript dev, ask me anything
I'm skeptical about a senior JavaScript developer claiming to be bored. Nonetheless, let's see. How would you go about modifying [this](ng/blob/master/emscripten/espeakng_glue.idl) IDL file, this C++ glue code, and the relevant Make file to compile eSpeak NG to JavaScript with Emscripten with SSML support enabled?
-
Is there a good text to speech program for linux?
eSpeak NG supports running on Linux, BSD, Mac, Android, Windows, has been compiled to WASM with Emscripten. See also espeak and meSpeak.js.
-
Vietnamese Phonology
I may have a solution, BUT I'm at an airport right now, so... Perhaps tonight I can give you some ideas. There is a program I used to make a few presets for myself. https://github.com/espeak-ng/espeak-ng/blob/master/docs/languages.md
-
[P] Balacoon: Fastest neural text-to-speech on CPU
For this one, I used espeak (https://github.com/espeak-ng/espeak-ng) as a text processor. It is almost 17 years old software and is pretty lacking, unfortunately. On the other hand, it's super fast and supports tens of languages. Long story short, punctuation introduces phrase break with a pause of fixed length, and capitalization is ignored.
-
Balacoon: python package for text-to-speech
I didnt not release trainy parts to build voices. I am considering, but there is so many packages already (coqui, espnet, piper, nemo, fairseq to name a few) that i focused on usability for now. Support for new languages is a different question. Everyone wants to train fancy neural nets. But support for new language is about writing rules and having language expertise. I did it for English (https://github.com/balacoon/en_us_normalization/tree/c1019cf878aa6baf25d6fff719cf418cca5a3107/production/classify). Doing it for all the other languages would probably take me a lifetime. Other speech synthesis solutions use 17-years old espeak for this purpose (https://github.com/espeak-ng/espeak-ng/blob/master/docs/languages.md). I introduced the fallback to it in Balacoon too. But generally, it is outdated technology and I believe we should do better.
-
Is there a good audio-to-IPA phone app that doesn’t assume a particular language?
espeak-ng works by first converting text to IPA and then pronouncing that. But im not sure im aware of a way to input arbitrary IPA, and also the quality is probably too low for you.
-
I Created A Web Speech API NPM Package Called SpeechKit
There are espeak-ng https://github.com/espeak-ng/espeak-ng and pocketsphinx https://github.com/cmusphinx/pocketsphinx which can be used locally without making external requests.
-
Which languages have readily available IPA equivalents to learn from?
There are automatic tools to convert a written form of a language to IPA, I'm personally aware of espeak-ng, which supports* a lot of languages.
-
Ask HN: Are there any good open source Text-to-Speech tools?
I've had good luck with https://github.com/espeak-ng/espeak-ng (for very specific purposes, and I was willing to wrangle IPA)
What are some alternatives?
TTS - 🐸💬 - a deep learning toolkit for Text-to-Speech, battle-tested in research and production
RHVoice - a free and open source speech synthesizer for Russian and other languages
bark - 🔊 Text-Prompted Generative Audio Model
Real-Time-Voice-Cloning - Clone a voice in 5 seconds to generate arbitrary speech in real-time
piper - A fast, local neural text to speech system
scrcpy - Display and control your Android device
tacotron2 - Tacotron 2 - PyTorch implementation with faster-than-realtime inference
aeneas - aeneas is a Python/C library and a set of tools to automagically synchronize audio and text (aka forced alignment)
larynx - End to end text to speech system using gruut and onnx
SAM - Software Automatic Mouth - Tiny Speech Synthesizer