tts 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +1 -7
- data/Gemfile.lock +8 -10
- data/README.rdoc +18 -14
- data/Rakefile +8 -8
- data/VERSION +1 -1
- data/lib/tts.rb +7 -7
- data/spec/tts_spec.rb +16 -1
- data/tts.gemspec +10 -16
- metadata +84 -66
- data/README +0 -0
- data/test/helper.rb +0 -18
- data/test/test_tts.rb +0 -7
data/Gemfile
CHANGED
@@ -1,13 +1,7 @@
|
|
1
1
|
source "http://rubygems.org"
|
2
|
-
# Add dependencies required to use your gem here.
|
3
|
-
# Example:
|
4
|
-
# gem "activesupport", ">= 2.3.5"
|
5
2
|
|
6
|
-
# Add dependencies to develop your gem here.
|
7
|
-
# Include everything needed to run rake, tests, features, etc.
|
8
3
|
group :development do
|
9
|
-
gem "
|
10
|
-
gem "rspec", ">= 0"
|
4
|
+
gem "rspec", "~> 2.6"
|
11
5
|
gem "bundler", "~> 1.0.0"
|
12
6
|
gem "jeweler", "~> 1.6.2"
|
13
7
|
gem "rcov", ">= 0"
|
data/Gemfile.lock
CHANGED
@@ -9,15 +9,14 @@ GEM
|
|
9
9
|
rake
|
10
10
|
rake (0.9.2)
|
11
11
|
rcov (0.9.9)
|
12
|
-
rspec (2.
|
13
|
-
rspec-core (~> 2.
|
14
|
-
rspec-expectations (~> 2.
|
15
|
-
rspec-mocks (~> 2.
|
16
|
-
rspec-core (2.
|
17
|
-
rspec-expectations (2.
|
12
|
+
rspec (2.6.0)
|
13
|
+
rspec-core (~> 2.6.0)
|
14
|
+
rspec-expectations (~> 2.6.0)
|
15
|
+
rspec-mocks (~> 2.6.0)
|
16
|
+
rspec-core (2.6.4)
|
17
|
+
rspec-expectations (2.6.0)
|
18
18
|
diff-lcs (~> 1.1.2)
|
19
|
-
rspec-mocks (2.
|
20
|
-
shoulda (2.11.3)
|
19
|
+
rspec-mocks (2.6.0)
|
21
20
|
|
22
21
|
PLATFORMS
|
23
22
|
ruby
|
@@ -26,5 +25,4 @@ DEPENDENCIES
|
|
26
25
|
bundler (~> 1.0.0)
|
27
26
|
jeweler (~> 1.6.2)
|
28
27
|
rcov
|
29
|
-
rspec
|
30
|
-
shoulda
|
28
|
+
rspec (~> 2.6)
|
data/README.rdoc
CHANGED
@@ -1,19 +1,23 @@
|
|
1
1
|
= tts
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
== Contributing to tts
|
6
|
-
|
7
|
-
* Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
|
8
|
-
* Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
|
9
|
-
* Fork the project
|
10
|
-
* Start a feature/bugfix branch
|
11
|
-
* Commit and push until you are happy with your contribution
|
12
|
-
* Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
|
13
|
-
* Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
|
3
|
+
Google translate tts has most available languages and reasonable synthesizer.
|
14
4
|
|
15
|
-
|
5
|
+
This TTS(text to speech) is using google translate as the engine. submit your sentance and specified language to google and download the mp3 voice file.
|
6
|
+
|
7
|
+
== install
|
8
|
+
gem install tts
|
9
|
+
|
10
|
+
== usage
|
11
|
+
"hello world!".to_file "en"
|
12
|
+
|
13
|
+
"人民代表代表人民".to_file "zh"
|
16
14
|
|
17
|
-
|
18
|
-
|
15
|
+
This will download the correspoding files to your excuting directory.
|
16
|
+
|
17
|
+
You can also save the file with the path/filename you desired:
|
18
|
+
|
19
|
+
"ruby is awesome".to_file "en", "~/rubyyyy.mp3"
|
20
|
+
|
21
|
+
== Copyright
|
19
22
|
|
23
|
+
Copyright (c) 2011 Yiling Cao.
|
data/Rakefile
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# encoding: utf-8
|
2
|
-
|
3
2
|
require 'rubygems'
|
4
3
|
require 'bundler'
|
4
|
+
|
5
5
|
begin
|
6
6
|
Bundler.setup(:default, :development)
|
7
7
|
rescue Bundler::BundlerError => e
|
@@ -25,11 +25,13 @@ Jeweler::Tasks.new do |gem|
|
|
25
25
|
end
|
26
26
|
Jeweler::RubygemsDotOrgTasks.new
|
27
27
|
|
28
|
-
require '
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
28
|
+
require 'rspec/core/rake_task'
|
29
|
+
|
30
|
+
task :default => :spec
|
31
|
+
|
32
|
+
RSpec::Core::RakeTask.new(:spec) do |t|
|
33
|
+
t.pattern = Dir.glob('spec/**/*_spec.rb')
|
34
|
+
t.rspec_opts = '--format progress -c'
|
33
35
|
end
|
34
36
|
|
35
37
|
require 'rcov/rcovtask'
|
@@ -40,8 +42,6 @@ Rcov::RcovTask.new do |test|
|
|
40
42
|
test.rcov_opts << '--exclude "gems/*"'
|
41
43
|
end
|
42
44
|
|
43
|
-
task :default => :test
|
44
|
-
|
45
45
|
require 'rake/rdoctask'
|
46
46
|
Rake::RDocTask.new do |rdoc|
|
47
47
|
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.3
|
data/lib/tts.rb
CHANGED
@@ -1,20 +1,20 @@
|
|
1
1
|
module Tts
|
2
2
|
def to_url lang
|
3
3
|
require 'uri'
|
4
|
-
langs = ["zh", "en"]
|
5
|
-
raise "Not accepted language, accpeted are #{langs * ","}" unless langs.include? lang
|
4
|
+
langs = ["zh", "en", "it", "fr"]
|
5
|
+
#raise "Not accepted language, accpeted are #{langs * ","}" unless langs.include? lang
|
6
6
|
base = "http://translate.google.com/translate_tts?tl=#{lang}&q=#{URI.escape self}"
|
7
7
|
end
|
8
8
|
|
9
|
-
def to_file lang,
|
9
|
+
def to_file lang, file_name=nil
|
10
10
|
require 'open-uri'
|
11
|
-
|
11
|
+
file_name = self +".mp3" if file_name.nil?
|
12
12
|
url = self.to_url(lang)
|
13
13
|
ua = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.68 Safari/534.24"
|
14
14
|
content = open(url, "User-Agent" => ua).read
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
File.open(file_name, "wb") do |f|
|
16
|
+
f.puts content
|
17
|
+
end
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
data/spec/tts_spec.rb
CHANGED
@@ -1,8 +1,23 @@
|
|
1
1
|
require File.expand_path("../../lib/tts", __FILE__)
|
2
2
|
require "rspec"
|
3
3
|
|
4
|
-
describe '
|
4
|
+
describe 'to_url method' do
|
5
5
|
it "to_url should return a correct string" do
|
6
6
|
"hello".to_url("en").should == "http://translate.google.com/translate_tts?tl=en&q=hello"
|
7
7
|
end
|
8
8
|
end
|
9
|
+
|
10
|
+
describe 'to_file method' do
|
11
|
+
it "to_file should generate a mp3 file for a correct string" do
|
12
|
+
"hello".to_file("en")
|
13
|
+
File.exist?("hello.mp3").should be_true
|
14
|
+
File.delete("hello.mp3")
|
15
|
+
end
|
16
|
+
|
17
|
+
it "to_file should generate a mp3 file with given name for a correct string" do
|
18
|
+
"hello".to_file("en", "my_hello.mp3")
|
19
|
+
File.exist?("my_hello.mp3").should be_true
|
20
|
+
File.delete("my_hello.mp3")
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
data/tts.gemspec
CHANGED
@@ -5,23 +5,21 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{tts}
|
8
|
-
s.version = "0.2.
|
8
|
+
s.version = "0.2.3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = [
|
12
|
-
s.date = %q{2011-06-
|
11
|
+
s.authors = ["Yiling Cao"]
|
12
|
+
s.date = %q{2011-06-18}
|
13
13
|
s.description = %q{easy way to generate a voice file based on text prvoided.}
|
14
14
|
s.email = %q{yiling.cao@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE.txt",
|
17
|
-
"README",
|
18
17
|
"README.rdoc"
|
19
18
|
]
|
20
19
|
s.files = [
|
21
20
|
"Gemfile",
|
22
21
|
"Gemfile.lock",
|
23
22
|
"LICENSE.txt",
|
24
|
-
"README",
|
25
23
|
"README.rdoc",
|
26
24
|
"Rakefile",
|
27
25
|
"VERSION",
|
@@ -29,35 +27,31 @@ Gem::Specification.new do |s|
|
|
29
27
|
"pkg/tts-.gem",
|
30
28
|
"pkg/tts-0.0.1.gem",
|
31
29
|
"spec/tts_spec.rb",
|
32
|
-
"test/helper.rb",
|
33
|
-
"test/test_tts.rb",
|
34
30
|
"tts.gemspec"
|
35
31
|
]
|
36
32
|
s.homepage = %q{http://github.com/c2h2/tts}
|
37
|
-
s.licenses = [
|
38
|
-
s.require_paths = [
|
39
|
-
s.rubygems_version = %q{1.
|
33
|
+
s.licenses = ["MIT"]
|
34
|
+
s.require_paths = ["lib"]
|
35
|
+
s.rubygems_version = %q{1.3.7}
|
40
36
|
s.summary = %q{a text to speech file tool}
|
41
37
|
|
42
38
|
if s.respond_to? :specification_version then
|
39
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
43
40
|
s.specification_version = 3
|
44
41
|
|
45
42
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
46
|
-
s.add_development_dependency(%q<
|
47
|
-
s.add_development_dependency(%q<rspec>, [">= 0"])
|
43
|
+
s.add_development_dependency(%q<rspec>, ["~> 2.6"])
|
48
44
|
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
49
45
|
s.add_development_dependency(%q<jeweler>, ["~> 1.6.2"])
|
50
46
|
s.add_development_dependency(%q<rcov>, [">= 0"])
|
51
47
|
else
|
52
|
-
s.add_dependency(%q<
|
53
|
-
s.add_dependency(%q<rspec>, [">= 0"])
|
48
|
+
s.add_dependency(%q<rspec>, ["~> 2.6"])
|
54
49
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
55
50
|
s.add_dependency(%q<jeweler>, ["~> 1.6.2"])
|
56
51
|
s.add_dependency(%q<rcov>, [">= 0"])
|
57
52
|
end
|
58
53
|
else
|
59
|
-
s.add_dependency(%q<
|
60
|
-
s.add_dependency(%q<rspec>, [">= 0"])
|
54
|
+
s.add_dependency(%q<rspec>, ["~> 2.6"])
|
61
55
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
62
56
|
s.add_dependency(%q<jeweler>, ["~> 1.6.2"])
|
63
57
|
s.add_dependency(%q<rcov>, [">= 0"])
|
metadata
CHANGED
@@ -1,84 +1,97 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: tts
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 17
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 2
|
9
|
+
- 3
|
10
|
+
version: 0.2.3
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- Yiling Cao
|
9
14
|
autorequire:
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
+
|
18
|
+
date: 2011-06-18 00:00:00 +08:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
17
23
|
none: false
|
18
|
-
requirements:
|
19
|
-
- -
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
|
24
|
+
requirements:
|
25
|
+
- - ~>
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
hash: 15
|
28
|
+
segments:
|
29
|
+
- 2
|
30
|
+
- 6
|
31
|
+
version: "2.6"
|
22
32
|
type: :development
|
23
|
-
prerelease: false
|
24
|
-
version_requirements: *11990240
|
25
|
-
- !ruby/object:Gem::Dependency
|
26
33
|
name: rspec
|
27
|
-
requirement: &12008740 !ruby/object:Gem::Requirement
|
28
|
-
none: false
|
29
|
-
requirements:
|
30
|
-
- - ! '>='
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: '0'
|
33
|
-
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
36
|
-
- !ruby/object:Gem::Dependency
|
37
|
-
|
38
|
-
requirement: &12008260 !ruby/object:Gem::Requirement
|
35
|
+
version_requirements: *id001
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
39
38
|
none: false
|
40
|
-
requirements:
|
39
|
+
requirements:
|
41
40
|
- - ~>
|
42
|
-
- !ruby/object:Gem::Version
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
hash: 23
|
43
|
+
segments:
|
44
|
+
- 1
|
45
|
+
- 0
|
46
|
+
- 0
|
43
47
|
version: 1.0.0
|
44
48
|
type: :development
|
49
|
+
name: bundler
|
45
50
|
prerelease: false
|
46
|
-
version_requirements: *
|
47
|
-
- !ruby/object:Gem::Dependency
|
48
|
-
|
49
|
-
requirement: &12007780 !ruby/object:Gem::Requirement
|
51
|
+
version_requirements: *id002
|
52
|
+
- !ruby/object:Gem::Dependency
|
53
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
50
54
|
none: false
|
51
|
-
requirements:
|
55
|
+
requirements:
|
52
56
|
- - ~>
|
53
|
-
- !ruby/object:Gem::Version
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
hash: 11
|
59
|
+
segments:
|
60
|
+
- 1
|
61
|
+
- 6
|
62
|
+
- 2
|
54
63
|
version: 1.6.2
|
55
64
|
type: :development
|
65
|
+
name: jeweler
|
56
66
|
prerelease: false
|
57
|
-
version_requirements: *
|
58
|
-
- !ruby/object:Gem::Dependency
|
59
|
-
|
60
|
-
requirement: &12007300 !ruby/object:Gem::Requirement
|
67
|
+
version_requirements: *id003
|
68
|
+
- !ruby/object:Gem::Dependency
|
69
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
61
70
|
none: false
|
62
|
-
requirements:
|
63
|
-
- -
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
-
|
71
|
+
requirements:
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
hash: 3
|
75
|
+
segments:
|
76
|
+
- 0
|
77
|
+
version: "0"
|
66
78
|
type: :development
|
79
|
+
name: rcov
|
67
80
|
prerelease: false
|
68
|
-
version_requirements: *
|
81
|
+
version_requirements: *id004
|
69
82
|
description: easy way to generate a voice file based on text prvoided.
|
70
83
|
email: yiling.cao@gmail.com
|
71
84
|
executables: []
|
85
|
+
|
72
86
|
extensions: []
|
73
|
-
|
87
|
+
|
88
|
+
extra_rdoc_files:
|
74
89
|
- LICENSE.txt
|
75
|
-
- README
|
76
90
|
- README.rdoc
|
77
|
-
files:
|
91
|
+
files:
|
78
92
|
- Gemfile
|
79
93
|
- Gemfile.lock
|
80
94
|
- LICENSE.txt
|
81
|
-
- README
|
82
95
|
- README.rdoc
|
83
96
|
- Rakefile
|
84
97
|
- VERSION
|
@@ -86,35 +99,40 @@ files:
|
|
86
99
|
- pkg/tts-.gem
|
87
100
|
- pkg/tts-0.0.1.gem
|
88
101
|
- spec/tts_spec.rb
|
89
|
-
- test/helper.rb
|
90
|
-
- test/test_tts.rb
|
91
102
|
- tts.gemspec
|
103
|
+
has_rdoc: true
|
92
104
|
homepage: http://github.com/c2h2/tts
|
93
|
-
licenses:
|
105
|
+
licenses:
|
94
106
|
- MIT
|
95
107
|
post_install_message:
|
96
108
|
rdoc_options: []
|
97
|
-
|
109
|
+
|
110
|
+
require_paths:
|
98
111
|
- lib
|
99
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
112
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
100
113
|
none: false
|
101
|
-
requirements:
|
102
|
-
- -
|
103
|
-
- !ruby/object:Gem::Version
|
104
|
-
|
105
|
-
segments:
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
hash: 3
|
118
|
+
segments:
|
106
119
|
- 0
|
107
|
-
|
108
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
120
|
+
version: "0"
|
121
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
109
122
|
none: false
|
110
|
-
requirements:
|
111
|
-
- -
|
112
|
-
- !ruby/object:Gem::Version
|
113
|
-
|
123
|
+
requirements:
|
124
|
+
- - ">="
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
hash: 3
|
127
|
+
segments:
|
128
|
+
- 0
|
129
|
+
version: "0"
|
114
130
|
requirements: []
|
131
|
+
|
115
132
|
rubyforge_project:
|
116
|
-
rubygems_version: 1.
|
133
|
+
rubygems_version: 1.3.7
|
117
134
|
signing_key:
|
118
135
|
specification_version: 3
|
119
136
|
summary: a text to speech file tool
|
120
137
|
test_files: []
|
138
|
+
|
data/README
DELETED
File without changes
|
data/test/helper.rb
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'bundler'
|
3
|
-
begin
|
4
|
-
Bundler.setup(:default, :development)
|
5
|
-
rescue Bundler::BundlerError => e
|
6
|
-
$stderr.puts e.message
|
7
|
-
$stderr.puts "Run `bundle install` to install missing gems"
|
8
|
-
exit e.status_code
|
9
|
-
end
|
10
|
-
require 'test/unit'
|
11
|
-
require 'shoulda'
|
12
|
-
|
13
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
14
|
-
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
15
|
-
require 'tts'
|
16
|
-
|
17
|
-
class Test::Unit::TestCase
|
18
|
-
end
|