speaker 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +83 -2
- data/lib/speaker.rb +1 -1
- data/lib/speaker/base.rb +9 -1
- data/lib/speaker/version.rb +1 -1
- metadata +5 -5
data/README.md
CHANGED
@@ -1,6 +1,13 @@
|
|
1
1
|
# Speaker
|
2
2
|
|
3
|
-
Flexible text to speech using Google Translator
|
3
|
+
Flexible text to speech using Google Translator.
|
4
|
+
|
5
|
+
One nice touch of Speaker is that you can transform *texts of any size* to audio.
|
6
|
+
Google Translator API limits texts to 100 characters. Speaker deals with that for you.
|
7
|
+
|
8
|
+
But, of course, good sense is always appreciated. The longer the text is, the longer will take to transform it to audio.
|
9
|
+
|
10
|
+
All said, enjoyt it!
|
4
11
|
|
5
12
|
## Installation
|
6
13
|
|
@@ -18,7 +25,81 @@ Or install it yourself as:
|
|
18
25
|
|
19
26
|
## Usage
|
20
27
|
|
21
|
-
|
28
|
+
All you need to start is to create a new Speaker object passing the text you want to transform in audio:
|
29
|
+
|
30
|
+
```ruby
|
31
|
+
speaker = Speaker.new(text: "My name is Bond. James Bond")
|
32
|
+
```
|
33
|
+
|
34
|
+
Now you can just do "text to speech":
|
35
|
+
|
36
|
+
```ruby
|
37
|
+
speaker.tts # It will say "My name is Bond. James Bond"
|
38
|
+
```
|
39
|
+
|
40
|
+
If you want to listen it again:
|
41
|
+
|
42
|
+
```ruby
|
43
|
+
speaker.play # Do not create the audio again. Instead, just play it.
|
44
|
+
```
|
45
|
+
|
46
|
+
If you want, you can create the audio and play it in two steps. (This is exactly what the tts method does):
|
47
|
+
|
48
|
+
```ruby
|
49
|
+
speaker.to_audio # Creates the audio
|
50
|
+
speaker.play # Play it
|
51
|
+
```
|
52
|
+
|
53
|
+
Whenever a new Speaker object is created, there is no more audio file to play until you want it. So, if you create a new Speaker object and try to play it, there will be no audio file to play and Speaker will let you know that:
|
54
|
+
|
55
|
+
```ruby
|
56
|
+
speaker = Speaker.new
|
57
|
+
speaker.play # It will return the string: "There is no audio file yet"
|
58
|
+
```
|
59
|
+
|
60
|
+
You can check if there is an audio file by typing:
|
61
|
+
|
62
|
+
```ruby
|
63
|
+
speaker.has_audio? # It returns true or false
|
64
|
+
```
|
65
|
+
|
66
|
+
You can create and play you text in one line by doing:
|
67
|
+
|
68
|
+
```ruby
|
69
|
+
Speaker.new(text: "My name is Bond. James Bond").tts
|
70
|
+
```
|
71
|
+
|
72
|
+
By default, the audio file will be created inside the root path where the gem is running. But, of course, you can change it:
|
73
|
+
|
74
|
+
```ruby
|
75
|
+
Speaker.configure do |config|
|
76
|
+
config.audio_file_path = '/new/path' # i.e.: /myapp/media
|
77
|
+
end
|
78
|
+
```
|
79
|
+
|
80
|
+
To check what is the current audio file path:
|
81
|
+
|
82
|
+
```ruby
|
83
|
+
Speaker.configuration.audio_file_path
|
84
|
+
```
|
85
|
+
|
86
|
+
If you want to create tts in anothers languages:
|
87
|
+
|
88
|
+
```ruby
|
89
|
+
speaker = Speaker.new(language: 'pt', text: 'Olá meu amigo')
|
90
|
+
speaker.tts # It will say 'Olá meu amigo', which is 'Hello my friend' in portuguese.
|
91
|
+
```
|
92
|
+
|
93
|
+
If you want to return the text and the language:
|
94
|
+
|
95
|
+
```ruby
|
96
|
+
speaker.text # It will return 'Olá meu amigo'
|
97
|
+
speaker.language # I will return 'pt'
|
98
|
+
```
|
99
|
+
|
100
|
+
English is the default language.
|
101
|
+
|
102
|
+
If you create a new Speaker object without passing any information, Speaker will create an object with the text 'Nothing to say'.
|
22
103
|
|
23
104
|
## Contributing
|
24
105
|
|
data/lib/speaker.rb
CHANGED
data/lib/speaker/base.rb
CHANGED
@@ -39,7 +39,7 @@ module Speaker
|
|
39
39
|
|
40
40
|
def play
|
41
41
|
if has_audio?
|
42
|
-
|
42
|
+
`#{player} #{audio_file}`
|
43
43
|
@text
|
44
44
|
else
|
45
45
|
"There is no audio file yet"
|
@@ -123,6 +123,14 @@ module Speaker
|
|
123
123
|
File.delete(audio_file) if has_audio?
|
124
124
|
end
|
125
125
|
|
126
|
+
def player
|
127
|
+
if RUBY_PLATFORM.include?("darwin")
|
128
|
+
'afplay'
|
129
|
+
else
|
130
|
+
'mpg123'
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
126
134
|
end
|
127
135
|
|
128
136
|
end
|
data/lib/speaker/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: speaker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-10-
|
12
|
+
date: 2012-10-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: mechanize
|
@@ -18,7 +18,7 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
21
|
+
version: 2.5.1
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ! '>='
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
29
|
+
version: 2.5.1
|
30
30
|
description: Flexible text to speech using Google Translator
|
31
31
|
email:
|
32
32
|
- david@webhall.com.br
|
@@ -41,7 +41,7 @@ files:
|
|
41
41
|
- LICENSE
|
42
42
|
- Rakefile
|
43
43
|
- README.md
|
44
|
-
homepage:
|
44
|
+
homepage: https://github.com/davidwilliam/speaker
|
45
45
|
licenses: []
|
46
46
|
post_install_message:
|
47
47
|
rdoc_options: []
|