espeak
espeak
espeak is a small Crystal API for utilizing espeak and lame to create Text-To-Speech mp3 files. It can also just speak (without saving). Port of the espeak-ruby gem.
Installation
-
Add the dependency to your
shard.yml
:dependencies: espeak: github: szTheory/espeak
-
Run
shards install
Usage
require "espeak"
Examples
# Speaks "YO!"
speech = Espeak::Speech.new("YO!")
speech.speak # invokes espeak
# Creates hello-de.mp3 file
speech = Espeak::Speech.new("Hallo Welt", voice: "de")
speech.save("hello-de.mp3") # invokes espeak + lame
# Lists voices
Espeak::Voice.all.map { |v| v.language } # ["af", "bs", "ca", "cs", "cy", "da", "de", "el", "en", "en-sc", "en-uk", "en-uk-north", "en-uk-rp", "en-uk-wmids", "en-us", "en-wi", "eo", "es", "es-la", "fi", "fr", "fr-be", "grc", "hi", "hr", "hu", "hy", "hy", "id", "is", "it", "jbo", "ka", "kn", "ku", "la", "lv", "mk", "ml", "nci", "nl", "no", "pap", "pl", "pt", "pt-pt", "ro", "ru", "sk", "sq", "sr", "sv", "sw", "ta", "tr", "vi", "zh", "zh-yue"]
# Find particular voice
Espeak::Voice.find_by_language('en') #<Espeak::Voice:0x007fe1d3806be8 @language="en", @name="default", @gender="M", @file="default">
Features
Currently only subset of espeak features is supported.
voice: 'en', # use voice file of this name from espeak-data/voices
pitch: 50, # pitch adjustment, 0 to 99
speed: 170, # speed in words per minute, 80 to 370
capital: 170, # increase emphasis (pitch) of capitalized words, 1 to 40 (for natural sound, can go higher)
These are default values, and they can be easily overridden:
Speech.new("Zdravo svete", voice: "sr", pitch: 90, speed: 200).speak
Installing dependencies
OS X
brew install espeak lame
Ubuntu
apt-get install espeak lame
Related
- espeak-ruby - original Ruby gem that this Crystal version was ported from
- espeak-http - Micro web app for Text-To-Speech conversion via HTTP powered by Ruby, Sinatra, lame, espeak and espeak-ruby
Licence
espeak is released under the MIT License.
Contributing
- Fork it (https://github.com/szTheory/espeak/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Contributors
- szTheory - creator and maintainer
- dejan - creator of the original espeak-ruby
Repository
espeak
Owner
Statistic
- 0
- 0
- 0
- 0
- 4
- about 5 years ago
- September 17, 2019
License
MIT License
Links
Synced at
Sun, 24 Nov 2024 06:09:42 GMT
Languages