Tacotron: A Fully End-to-End Text-To-Speech Synthesis Model
google.github.io
google.github.io
Perfect speech synthesis from unannotated text will require much more complex system. It will need database of common knowledge in some form, ability to relate text to that database, ability to retain and use this semantic information to guide synthesis. That is, it should be a step closer to artificial general intelligence.
Still, the quality is such that I'm only observing this in the spirit of scientific analysis. It's some good quality.
[0]https://deepmind.com/blog/wavenet-generative-model-raw-audio...
"WaveNet (van den Oord et al., 2016) is a powerful generative model of audio. It works well for TTS, but is slow due to its sample-level autoregressive nature. It also requires conditioning on linguistic features from an existing TTS frontend, and thus is not end-to-end: it only replaces the vocoder and acoustic model. Another recently-developed neural model is DeepVoice (Arik et al., 2017), which replaces every component in a typical TTS pipeline by a corresponding neural network. However, each component is independently trained, and it’s nontrivial to change the system to train in an end-to-end fashion."
How difficult would it be to duplicate these results with TensorFlow? Would something like this require more than the building blocks that TF and other toolkits provide? I have zero experience with machine learning, so I'm just curious.
Very difficult:
1.Machine learning is pretty data dependent, and make those datasets are very expensive. Google is not likely to give them away for free, because it is their competitive advantage.
2.The infrastructure to train those models are hard to get outside of Google. Pretty sure it is 10s or 100s of GPUs, with Infinity Band connected PS server, running for days and weeks.
Even with source code published, people will still have to scratch their head to duplicate Google's performance. Until the day, some equivalent organization as GNU that democratize data access to the public and some mighty algorithm being discovered dramatically reduced the computational requirement for training those models, Google succeeds by just being Google is unlikely going to change.
2. You can rent out a 96GB GDDR5 GPU instance from Google's cloud for pretty cheap. (https://cloud.google.com/compute/docs/gpus/) I don't think you need anything more powerful than that (but feel free to prove me wrong).
I think your last paragraph is totally misguided/uninformed. You can download models for cheap/free (for non-commercial/edu use) from UPenn (https://www.ldc.upenn.edu/language-resources/data/obtaining). People don't give away models for free with 0 strings attached because they're a pain to make.
And if you want something you can run on a home computer for cheap/free, you can try DeepSpeech: https://github.com/mozilla/DeepSpeech. All you need is an Nvidia GPU.
2.96GB GDDR5 instances on GCE costs 4166.4 dollars per month. Though it is within affordable range, but definitely not CHEAP. I don't know whether this is powerful or not, but Google used 96 GPUs for their GNMT work. Thus, I don't think I have the confidence to say a 4-GPU machine is all you need, and it will surely cause much more if you go beyond that.
But, you have a very good idea. Since it is Google Home, will it be possible that some people just buy hundreds of them, and infinitely ask them question to gather the training data? That will be interesting to see.
> Given <text, audio> pairs, the model can be trained completely from scratch with random initialization.So why is it on Github?
Still no source code...
I've wanted to build this app just for myself for years, but it's only very recently that it seems the state of the art is close enough for it to be palatable to users.
Edit: It would seem they only need 25 hours of audio to train the model, so it would probably be easy to find or make alternate datasets.
> We train Tacotron on an internal North American English dataset, which contains about 24.6 hours of speech data spoken by a professional female speaker
In the case of David Attenborough, I'm pretty sure that amount of data is available with subtitled BBC content.
I honestly wouldn't be surprised if you could find a really feature rich sentence (say 5 words long) that you could use to crack pretty much all voice-activated biometric password systems.
[1] http://www.washingtonpost.com/wp-srv/national/dotmil/arkin02...
But damn, the rest of it is astounding
If anything, it sounds like "quiley".
* Is this open source?
* What hardware would one need to run this?
* If specialist hardware is required (e.g. reasonably high end GPU) would that simply be for building and training the system or its operation?
I have my reasons.
Would it be easier for a neural network to "control" an emulated throat/mouth and train against the sound output?
Emitting and post-processing waveforms entirely in neural networks seems like putting a lot of responsibilities into neural networks.
ML is strongly related to solving inverse problems but it does not tend to be emphasised enough, in my opinion.
In reality, speech organs (a relatively low dimensional system) generate high dimensional data (speech). This is an example of the so called curse of dimensionality.
What ML does is to invert this process and create a model of the generation process.
My favorite example is quantum mechanics. Physicists made lot of measurements and created a model (quantum mechanics) that reproduces those measurements (and even works on test data, not only on training data).
This is an example of a solution of an inverse problem. ML does the same.
So in one way or an other, every working TTS has a model that accurately describes the speech organs and how the brain uses them to create speech from text.
Could you provide some links/publications please?
IMO, it actually performs pretty robustly on these examples. Is Apple still using just diphones, or are they post-processing in some way?
[0]: https://en.wikipedia.org/wiki/PlainTalk#Text-to-speech_in_Ma...
I hope we will have decent TTS for linux too.
[0] https://deepmind.com/blog/wavenet-generative-model-raw-audio... [1] http://www.festvox.org/
Saying you don't need to know anything about TTS is like developing a self-driving car and saying you don't need to know anything about the rules of the road. For one thing, how are you supposed to know when you got it wrong? And what things it is important to get right?
There will be a tensorflow implementation tomorrow though.