win32-loquendo 1.0.1-x86-mingw32 → 1.1.0-x86-mingw32
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.
- checksums.yaml +8 -8
- data/README.md +24 -1
- data/Rakefile +5 -0
- data/bin/say +48 -0
- data/lib/win32/loquendo/version.rb +1 -1
- data/win32-loquendo.gemspec +2 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZWRhNmQ0OGYxZjA1M2Q0NWEzYWJlZjQ2ZGE1ZDRkNzViY2NhMzU5Nw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NGJlMDgwODE3YTJmZTA1MTVmMTMzNDRiZDI4NTZmYTI4MjAxYTVhMw==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NTkyNjFhMTgxNTMxZmY4YzJiOGE3NGE2MTJiZmIzNjA3YzBlZDQzODAxNzJj
|
10
|
+
MGYxMDE3MjFmM2QyNGU5MDEwNjZhNTlkM2E3OTRmYjk1MzQwZTUzNTViMTMx
|
11
|
+
NDdlZjE0OGJiNDE0ZmQ1NGE4YjgzNGEzNmRhOTEwMWVmOGY5Y2I=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
OGNiN2RkMGMxYTVlNjE3ZTQ3YzBjNGFmNGRlNTk0MjVmM2JkY2NmZWFiMTlj
|
14
|
+
MTJlMzg5YTQ0NDE0MzZjNDJiZjBkNmNlZjYwZmFjYTk4MzFmMjBkMzI1ZWNj
|
15
|
+
OGU3YWM2NjEyNmI2YmQ1YzQxMzZhODQwMGY1YzM2MDMzOWNiNTA=
|
data/README.md
CHANGED
@@ -2,6 +2,9 @@
|
|
2
2
|
|
3
3
|
Ruby interface to the Loquendo speech synthesis (text to speech / TTS) program.
|
4
4
|
|
5
|
+
It also ships a command line utility `say` which allows you to get spoken
|
6
|
+
text directly from the console.
|
7
|
+
|
5
8
|
This gem only runs on Microsoft Windows as it relies both on the Win32 API as
|
6
9
|
well as the DLL files used by the Loquendo distribution. For that reason it
|
7
10
|
has been name spaced in the win32 module to make it abundantly clear which
|
@@ -16,7 +19,7 @@ platform it supports.
|
|
16
19
|
|
17
20
|
$ gem install win32-loquendo
|
18
21
|
|
19
|
-
##
|
22
|
+
## API usage
|
20
23
|
|
21
24
|
Basic example showing the three types of use
|
22
25
|
|
@@ -75,4 +78,24 @@ If used from different threads it will cause undefined behavior (errors,
|
|
75
78
|
hangs, crashes), since the library interact with C-code over FFI and such
|
76
79
|
interactions are not thread safe.
|
77
80
|
|
81
|
+
## Command line usage
|
82
|
+
|
83
|
+
The command line program is named `say`
|
84
|
+
|
85
|
+
Usage: say [OPTIONS] [TEXT]
|
86
|
+
|
87
|
+
TEXT is the text you want to be spoken
|
88
|
+
|
89
|
+
Options:
|
90
|
+
-c (1|2) audio channels to use
|
91
|
+
-f FILE write audio to FILE instead of speaking it aloud
|
92
|
+
-h show this help text
|
93
|
+
-l lists the available voices
|
94
|
+
-s N sample rate in Hz
|
95
|
+
-v voice is the voice to use for speaking
|
96
|
+
|
97
|
+
To speak a phrase with the default voice, it's as easy as
|
98
|
+
|
99
|
+
say My PC can now speak, just like my Mac!
|
100
|
+
|
78
101
|
[*]: http://en.wikipedia.org/wiki/X-SAMPA
|
data/Rakefile
CHANGED
data/bin/say
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'win32/loquendo'
|
3
|
+
|
4
|
+
def usage
|
5
|
+
puts "Usage: #{File.basename $0} [OPTIONS] [TEXT]","",
|
6
|
+
"TEXT is the text you want to be spoken","",
|
7
|
+
"Options:",
|
8
|
+
" -c (1|2) audio channels to use",
|
9
|
+
" -f FILE write audio to FILE instead of speaking it aloud",
|
10
|
+
" -h show this help text",
|
11
|
+
" -l lists the available voices",
|
12
|
+
" -s N sample rate in Hz",
|
13
|
+
" -v voice is the voice to use for speaking"
|
14
|
+
exit(1)
|
15
|
+
end
|
16
|
+
|
17
|
+
def parse_opts
|
18
|
+
h = {:text=>[], :cmd=>:speak, :channels=>2, :sample_rate=>32000, :file=>nil}
|
19
|
+
while arg = ARGV.shift
|
20
|
+
case arg
|
21
|
+
when /^-(h|\?)/i then usage
|
22
|
+
when '-l' then h[:cmd] = :list
|
23
|
+
when '-c' then h[:channels] = ARGV.shift.to_i
|
24
|
+
when '-s' then h[:sample_rate] = ARGV.shift.to_i
|
25
|
+
when '-v' then h[:voice] = ARGV.shift
|
26
|
+
else
|
27
|
+
h[:text] << arg
|
28
|
+
end
|
29
|
+
end
|
30
|
+
h[:text] = h[:text].flatten.join(" ")
|
31
|
+
h
|
32
|
+
end
|
33
|
+
|
34
|
+
usage if ARGV.empty?
|
35
|
+
opts = parse_opts
|
36
|
+
|
37
|
+
trap(:INT){ exit(1) }
|
38
|
+
|
39
|
+
reader = Win32::Loquendo::Reader.new(opts)
|
40
|
+
if opts[:cmd] == :list
|
41
|
+
puts reader.voices.join(", ")
|
42
|
+
else
|
43
|
+
if opts[:file]
|
44
|
+
reader.write(opts[:file], opts[:text])
|
45
|
+
else
|
46
|
+
reader.say(opts[:text])
|
47
|
+
end
|
48
|
+
end
|
data/win32-loquendo.gemspec
CHANGED
@@ -19,6 +19,8 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
20
20
|
spec.require_paths = ["lib"]
|
21
21
|
|
22
|
+
spec.executables << "say"
|
23
|
+
|
22
24
|
spec.add_dependency "ffi"
|
23
25
|
|
24
26
|
spec.rdoc_options += ['-m', 'README.md', '-x', 'lib/win32/(?!loquendo.rb).*',
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: win32-loquendo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: x86-mingw32
|
6
6
|
authors:
|
7
7
|
- Jonas Tingeborn
|
@@ -69,7 +69,8 @@ dependencies:
|
|
69
69
|
description: Ruby for the Win32 API of Loquendo speech synthesis programs
|
70
70
|
email:
|
71
71
|
- tinjon@gmail.com
|
72
|
-
executables:
|
72
|
+
executables:
|
73
|
+
- say
|
73
74
|
extensions: []
|
74
75
|
extra_rdoc_files: []
|
75
76
|
files:
|
@@ -79,6 +80,7 @@ files:
|
|
79
80
|
- LICENSE.txt
|
80
81
|
- README.md
|
81
82
|
- Rakefile
|
83
|
+
- bin/say
|
82
84
|
- lib/win32/loquendo.rb
|
83
85
|
- lib/win32/loquendo/version.rb
|
84
86
|
- win32-loquendo.gemspec
|