ruby_speech 2.1.0-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. data/.gitignore +12 -0
  2. data/.rspec +3 -0
  3. data/.travis.yml +17 -0
  4. data/CHANGELOG.md +144 -0
  5. data/Gemfile +3 -0
  6. data/Guardfile +9 -0
  7. data/LICENSE.md +20 -0
  8. data/README.md +314 -0
  9. data/Rakefile +34 -0
  10. data/assets/grammar-core.xsd +317 -0
  11. data/assets/grammar.xsd +37 -0
  12. data/assets/synthesis-core.xsd +445 -0
  13. data/assets/synthesis.xsd +63 -0
  14. data/assets/xml.xsd +287 -0
  15. data/ext/ruby_speech/RubySpeechGRXMLMatcher.java +64 -0
  16. data/ext/ruby_speech/RubySpeechService.java +23 -0
  17. data/ext/ruby_speech/extconf.rb +7 -0
  18. data/ext/ruby_speech/ruby_speech.c +97 -0
  19. data/lib/ruby_speech/generic_element.rb +169 -0
  20. data/lib/ruby_speech/grxml/element.rb +29 -0
  21. data/lib/ruby_speech/grxml/grammar.rb +189 -0
  22. data/lib/ruby_speech/grxml/item.rb +144 -0
  23. data/lib/ruby_speech/grxml/match.rb +16 -0
  24. data/lib/ruby_speech/grxml/matcher.rb +126 -0
  25. data/lib/ruby_speech/grxml/max_match.rb +6 -0
  26. data/lib/ruby_speech/grxml/no_match.rb +10 -0
  27. data/lib/ruby_speech/grxml/one_of.rb +31 -0
  28. data/lib/ruby_speech/grxml/potential_match.rb +10 -0
  29. data/lib/ruby_speech/grxml/rule.rb +73 -0
  30. data/lib/ruby_speech/grxml/ruleref.rb +69 -0
  31. data/lib/ruby_speech/grxml/tag.rb +29 -0
  32. data/lib/ruby_speech/grxml/token.rb +31 -0
  33. data/lib/ruby_speech/grxml.rb +39 -0
  34. data/lib/ruby_speech/nlsml/builder.rb +34 -0
  35. data/lib/ruby_speech/nlsml/document.rb +120 -0
  36. data/lib/ruby_speech/nlsml.rb +18 -0
  37. data/lib/ruby_speech/ruby_speech.jar +0 -0
  38. data/lib/ruby_speech/ssml/audio.rb +47 -0
  39. data/lib/ruby_speech/ssml/break.rb +62 -0
  40. data/lib/ruby_speech/ssml/desc.rb +24 -0
  41. data/lib/ruby_speech/ssml/element.rb +23 -0
  42. data/lib/ruby_speech/ssml/emphasis.rb +44 -0
  43. data/lib/ruby_speech/ssml/mark.rb +43 -0
  44. data/lib/ruby_speech/ssml/p.rb +25 -0
  45. data/lib/ruby_speech/ssml/phoneme.rb +72 -0
  46. data/lib/ruby_speech/ssml/prosody.rb +172 -0
  47. data/lib/ruby_speech/ssml/s.rb +25 -0
  48. data/lib/ruby_speech/ssml/say_as.rb +100 -0
  49. data/lib/ruby_speech/ssml/speak.rb +27 -0
  50. data/lib/ruby_speech/ssml/sub.rb +42 -0
  51. data/lib/ruby_speech/ssml/voice.rb +108 -0
  52. data/lib/ruby_speech/ssml.rb +39 -0
  53. data/lib/ruby_speech/version.rb +3 -0
  54. data/lib/ruby_speech/xml/language.rb +13 -0
  55. data/lib/ruby_speech/xml.rb +11 -0
  56. data/lib/ruby_speech.rb +36 -0
  57. data/ruby_speech.gemspec +42 -0
  58. data/spec/ruby_speech/grxml/grammar_spec.rb +341 -0
  59. data/spec/ruby_speech/grxml/item_spec.rb +192 -0
  60. data/spec/ruby_speech/grxml/match_spec.rb +15 -0
  61. data/spec/ruby_speech/grxml/matcher_spec.rb +688 -0
  62. data/spec/ruby_speech/grxml/max_match_spec.rb +17 -0
  63. data/spec/ruby_speech/grxml/no_match_spec.rb +17 -0
  64. data/spec/ruby_speech/grxml/one_of_spec.rb +49 -0
  65. data/spec/ruby_speech/grxml/potential_match_spec.rb +17 -0
  66. data/spec/ruby_speech/grxml/rule_spec.rb +125 -0
  67. data/spec/ruby_speech/grxml/ruleref_spec.rb +55 -0
  68. data/spec/ruby_speech/grxml/tag_spec.rb +41 -0
  69. data/spec/ruby_speech/grxml/token_spec.rb +62 -0
  70. data/spec/ruby_speech/grxml_spec.rb +339 -0
  71. data/spec/ruby_speech/nlsml_spec.rb +353 -0
  72. data/spec/ruby_speech/ssml/audio_spec.rb +121 -0
  73. data/spec/ruby_speech/ssml/break_spec.rb +100 -0
  74. data/spec/ruby_speech/ssml/desc_spec.rb +57 -0
  75. data/spec/ruby_speech/ssml/emphasis_spec.rb +110 -0
  76. data/spec/ruby_speech/ssml/mark_spec.rb +53 -0
  77. data/spec/ruby_speech/ssml/p_spec.rb +96 -0
  78. data/spec/ruby_speech/ssml/phoneme_spec.rb +65 -0
  79. data/spec/ruby_speech/ssml/prosody_spec.rb +309 -0
  80. data/spec/ruby_speech/ssml/s_spec.rb +92 -0
  81. data/spec/ruby_speech/ssml/say_as_spec.rb +71 -0
  82. data/spec/ruby_speech/ssml/speak_spec.rb +166 -0
  83. data/spec/ruby_speech/ssml/sub_spec.rb +57 -0
  84. data/spec/ruby_speech/ssml/voice_spec.rb +200 -0
  85. data/spec/ruby_speech/ssml_spec.rb +285 -0
  86. data/spec/ruby_speech_spec.rb +124 -0
  87. data/spec/spec_helper.rb +21 -0
  88. data/spec/support/match_examples.rb +43 -0
  89. data/spec/support/matchers.rb +46 -0
  90. metadata +405 -0
@@ -0,0 +1,46 @@
1
+ def be_a_valid_grxml_document
2
+ SpeechDocMatcher.new 'GRXML', GRXML_SCHEMA
3
+ end
4
+
5
+ def be_a_valid_ssml_document
6
+ SpeechDocMatcher.new 'SSML', SSML_SCHEMA
7
+ end
8
+
9
+ class SpeechDocMatcher
10
+ attr_reader :subject, :type, :schema
11
+
12
+ def initialize(type, schema)
13
+ @type, @schema = type, schema
14
+ end
15
+
16
+ def subject=(s)
17
+ @subject = Nokogiri::XML(s.to_xml)
18
+ end
19
+
20
+ def failure_message
21
+ " expected #{subject} to be a valid #{type} document\n#{errors}"
22
+ end
23
+
24
+ def negative_failure_message
25
+ " expected #{subject} not to be a valid #{type} document"
26
+ end
27
+
28
+ def description
29
+ "to be a valid #{type} document"
30
+ end
31
+
32
+ def matches?(s)
33
+ self.subject = s
34
+ schema.valid? subject
35
+ end
36
+
37
+ def does_not_match?(s)
38
+ !matches? s
39
+ end
40
+
41
+ private
42
+
43
+ def errors
44
+ schema.validate(subject).map(&:message).join "\n"
45
+ end
46
+ end
metadata ADDED
@@ -0,0 +1,405 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ruby_speech
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 2.1.0
6
+ platform: java
7
+ authors:
8
+ - Ben Langfeld
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-05-08 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: niceogiri
16
+ version_requirements: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '1.1'
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.1.2
24
+ none: false
25
+ requirement: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '1.1'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.1.2
33
+ none: false
34
+ prerelease: false
35
+ type: :runtime
36
+ - !ruby/object:Gem::Dependency
37
+ name: nokogiri
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '1.5'
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: 1.5.6
46
+ none: false
47
+ requirement: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - "~>"
50
+ - !ruby/object:Gem::Version
51
+ version: '1.5'
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 1.5.6
55
+ none: false
56
+ prerelease: false
57
+ type: :runtime
58
+ - !ruby/object:Gem::Dependency
59
+ name: activesupport
60
+ version_requirements: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: 3.0.7
65
+ none: false
66
+ requirement: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: 3.0.7
71
+ none: false
72
+ prerelease: false
73
+ type: :runtime
74
+ - !ruby/object:Gem::Dependency
75
+ name: bundler
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: 1.0.0
81
+ none: false
82
+ requirement: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ version: 1.0.0
87
+ none: false
88
+ prerelease: false
89
+ type: :development
90
+ - !ruby/object:Gem::Dependency
91
+ name: rspec
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '2.7'
97
+ none: false
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '2.7'
103
+ none: false
104
+ prerelease: false
105
+ type: :development
106
+ - !ruby/object:Gem::Dependency
107
+ name: ci_reporter
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: 1.6.3
113
+ none: false
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: 1.6.3
119
+ none: false
120
+ prerelease: false
121
+ type: :development
122
+ - !ruby/object:Gem::Dependency
123
+ name: yard
124
+ version_requirements: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - ">="
127
+ - !ruby/object:Gem::Version
128
+ version: 0.7.0
129
+ none: false
130
+ requirement: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ version: 0.7.0
135
+ none: false
136
+ prerelease: false
137
+ type: :development
138
+ - !ruby/object:Gem::Dependency
139
+ name: rake
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: !binary |-
145
+ MA==
146
+ none: false
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: !binary |-
152
+ MA==
153
+ none: false
154
+ prerelease: false
155
+ type: :development
156
+ - !ruby/object:Gem::Dependency
157
+ name: guard
158
+ version_requirements: !ruby/object:Gem::Requirement
159
+ requirements:
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ version: 0.9.0
163
+ none: false
164
+ requirement: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - ">="
167
+ - !ruby/object:Gem::Version
168
+ version: 0.9.0
169
+ none: false
170
+ prerelease: false
171
+ type: :development
172
+ - !ruby/object:Gem::Dependency
173
+ name: guard-rspec
174
+ version_requirements: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - ">="
177
+ - !ruby/object:Gem::Version
178
+ version: !binary |-
179
+ MA==
180
+ none: false
181
+ requirement: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - ">="
184
+ - !ruby/object:Gem::Version
185
+ version: !binary |-
186
+ MA==
187
+ none: false
188
+ prerelease: false
189
+ type: :development
190
+ - !ruby/object:Gem::Dependency
191
+ name: ruby_gntp
192
+ version_requirements: !ruby/object:Gem::Requirement
193
+ requirements:
194
+ - - ">="
195
+ - !ruby/object:Gem::Version
196
+ version: !binary |-
197
+ MA==
198
+ none: false
199
+ requirement: !ruby/object:Gem::Requirement
200
+ requirements:
201
+ - - ">="
202
+ - !ruby/object:Gem::Version
203
+ version: !binary |-
204
+ MA==
205
+ none: false
206
+ prerelease: false
207
+ type: :development
208
+ - !ruby/object:Gem::Dependency
209
+ name: guard-rake
210
+ version_requirements: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - ">="
213
+ - !ruby/object:Gem::Version
214
+ version: !binary |-
215
+ MA==
216
+ none: false
217
+ requirement: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - ">="
220
+ - !ruby/object:Gem::Version
221
+ version: !binary |-
222
+ MA==
223
+ none: false
224
+ prerelease: false
225
+ type: :development
226
+ - !ruby/object:Gem::Dependency
227
+ name: rake-compiler
228
+ version_requirements: !ruby/object:Gem::Requirement
229
+ requirements:
230
+ - - ">="
231
+ - !ruby/object:Gem::Version
232
+ version: !binary |-
233
+ MA==
234
+ none: false
235
+ requirement: !ruby/object:Gem::Requirement
236
+ requirements:
237
+ - - ">="
238
+ - !ruby/object:Gem::Version
239
+ version: !binary |-
240
+ MA==
241
+ none: false
242
+ prerelease: false
243
+ type: :development
244
+ description: Prepare SSML and GRXML documents with ease
245
+ email:
246
+ - ben@langfeld.me
247
+ executables: []
248
+ extensions: []
249
+ extra_rdoc_files: []
250
+ files:
251
+ - ".gitignore"
252
+ - ".rspec"
253
+ - ".travis.yml"
254
+ - CHANGELOG.md
255
+ - Gemfile
256
+ - Guardfile
257
+ - LICENSE.md
258
+ - README.md
259
+ - Rakefile
260
+ - assets/grammar-core.xsd
261
+ - assets/grammar.xsd
262
+ - assets/synthesis-core.xsd
263
+ - assets/synthesis.xsd
264
+ - assets/xml.xsd
265
+ - ext/ruby_speech/RubySpeechGRXMLMatcher.java
266
+ - ext/ruby_speech/RubySpeechService.java
267
+ - ext/ruby_speech/extconf.rb
268
+ - ext/ruby_speech/ruby_speech.c
269
+ - lib/ruby_speech.rb
270
+ - lib/ruby_speech/generic_element.rb
271
+ - lib/ruby_speech/grxml.rb
272
+ - lib/ruby_speech/grxml/element.rb
273
+ - lib/ruby_speech/grxml/grammar.rb
274
+ - lib/ruby_speech/grxml/item.rb
275
+ - lib/ruby_speech/grxml/match.rb
276
+ - lib/ruby_speech/grxml/matcher.rb
277
+ - lib/ruby_speech/grxml/max_match.rb
278
+ - lib/ruby_speech/grxml/no_match.rb
279
+ - lib/ruby_speech/grxml/one_of.rb
280
+ - lib/ruby_speech/grxml/potential_match.rb
281
+ - lib/ruby_speech/grxml/rule.rb
282
+ - lib/ruby_speech/grxml/ruleref.rb
283
+ - lib/ruby_speech/grxml/tag.rb
284
+ - lib/ruby_speech/grxml/token.rb
285
+ - lib/ruby_speech/nlsml.rb
286
+ - lib/ruby_speech/nlsml/builder.rb
287
+ - lib/ruby_speech/nlsml/document.rb
288
+ - lib/ruby_speech/ssml.rb
289
+ - lib/ruby_speech/ssml/audio.rb
290
+ - lib/ruby_speech/ssml/break.rb
291
+ - lib/ruby_speech/ssml/desc.rb
292
+ - lib/ruby_speech/ssml/element.rb
293
+ - lib/ruby_speech/ssml/emphasis.rb
294
+ - lib/ruby_speech/ssml/mark.rb
295
+ - lib/ruby_speech/ssml/p.rb
296
+ - lib/ruby_speech/ssml/phoneme.rb
297
+ - lib/ruby_speech/ssml/prosody.rb
298
+ - lib/ruby_speech/ssml/s.rb
299
+ - lib/ruby_speech/ssml/say_as.rb
300
+ - lib/ruby_speech/ssml/speak.rb
301
+ - lib/ruby_speech/ssml/sub.rb
302
+ - lib/ruby_speech/ssml/voice.rb
303
+ - lib/ruby_speech/version.rb
304
+ - lib/ruby_speech/xml.rb
305
+ - lib/ruby_speech/xml/language.rb
306
+ - ruby_speech.gemspec
307
+ - spec/ruby_speech/grxml/grammar_spec.rb
308
+ - spec/ruby_speech/grxml/item_spec.rb
309
+ - spec/ruby_speech/grxml/match_spec.rb
310
+ - spec/ruby_speech/grxml/matcher_spec.rb
311
+ - spec/ruby_speech/grxml/max_match_spec.rb
312
+ - spec/ruby_speech/grxml/no_match_spec.rb
313
+ - spec/ruby_speech/grxml/one_of_spec.rb
314
+ - spec/ruby_speech/grxml/potential_match_spec.rb
315
+ - spec/ruby_speech/grxml/rule_spec.rb
316
+ - spec/ruby_speech/grxml/ruleref_spec.rb
317
+ - spec/ruby_speech/grxml/tag_spec.rb
318
+ - spec/ruby_speech/grxml/token_spec.rb
319
+ - spec/ruby_speech/grxml_spec.rb
320
+ - spec/ruby_speech/nlsml_spec.rb
321
+ - spec/ruby_speech/ssml/audio_spec.rb
322
+ - spec/ruby_speech/ssml/break_spec.rb
323
+ - spec/ruby_speech/ssml/desc_spec.rb
324
+ - spec/ruby_speech/ssml/emphasis_spec.rb
325
+ - spec/ruby_speech/ssml/mark_spec.rb
326
+ - spec/ruby_speech/ssml/p_spec.rb
327
+ - spec/ruby_speech/ssml/phoneme_spec.rb
328
+ - spec/ruby_speech/ssml/prosody_spec.rb
329
+ - spec/ruby_speech/ssml/s_spec.rb
330
+ - spec/ruby_speech/ssml/say_as_spec.rb
331
+ - spec/ruby_speech/ssml/speak_spec.rb
332
+ - spec/ruby_speech/ssml/sub_spec.rb
333
+ - spec/ruby_speech/ssml/voice_spec.rb
334
+ - spec/ruby_speech/ssml_spec.rb
335
+ - spec/ruby_speech_spec.rb
336
+ - spec/spec_helper.rb
337
+ - spec/support/match_examples.rb
338
+ - spec/support/matchers.rb
339
+ - lib/ruby_speech/ruby_speech.jar
340
+ homepage: https://github.com/benlangfeld/ruby_speech
341
+ licenses: []
342
+ post_install_message:
343
+ rdoc_options: []
344
+ require_paths:
345
+ - lib
346
+ required_ruby_version: !ruby/object:Gem::Requirement
347
+ requirements:
348
+ - - ">="
349
+ - !ruby/object:Gem::Version
350
+ segments:
351
+ - 0
352
+ hash: 2
353
+ version: !binary |-
354
+ MA==
355
+ none: false
356
+ required_rubygems_version: !ruby/object:Gem::Requirement
357
+ requirements:
358
+ - - ">="
359
+ - !ruby/object:Gem::Version
360
+ segments:
361
+ - 0
362
+ hash: 2
363
+ version: !binary |-
364
+ MA==
365
+ none: false
366
+ requirements: []
367
+ rubyforge_project: ruby_speech
368
+ rubygems_version: 1.8.24
369
+ signing_key:
370
+ specification_version: 3
371
+ summary: A Ruby library for TTS & ASR document preparation
372
+ test_files:
373
+ - spec/ruby_speech/grxml/grammar_spec.rb
374
+ - spec/ruby_speech/grxml/item_spec.rb
375
+ - spec/ruby_speech/grxml/match_spec.rb
376
+ - spec/ruby_speech/grxml/matcher_spec.rb
377
+ - spec/ruby_speech/grxml/max_match_spec.rb
378
+ - spec/ruby_speech/grxml/no_match_spec.rb
379
+ - spec/ruby_speech/grxml/one_of_spec.rb
380
+ - spec/ruby_speech/grxml/potential_match_spec.rb
381
+ - spec/ruby_speech/grxml/rule_spec.rb
382
+ - spec/ruby_speech/grxml/ruleref_spec.rb
383
+ - spec/ruby_speech/grxml/tag_spec.rb
384
+ - spec/ruby_speech/grxml/token_spec.rb
385
+ - spec/ruby_speech/grxml_spec.rb
386
+ - spec/ruby_speech/nlsml_spec.rb
387
+ - spec/ruby_speech/ssml/audio_spec.rb
388
+ - spec/ruby_speech/ssml/break_spec.rb
389
+ - spec/ruby_speech/ssml/desc_spec.rb
390
+ - spec/ruby_speech/ssml/emphasis_spec.rb
391
+ - spec/ruby_speech/ssml/mark_spec.rb
392
+ - spec/ruby_speech/ssml/p_spec.rb
393
+ - spec/ruby_speech/ssml/phoneme_spec.rb
394
+ - spec/ruby_speech/ssml/prosody_spec.rb
395
+ - spec/ruby_speech/ssml/s_spec.rb
396
+ - spec/ruby_speech/ssml/say_as_spec.rb
397
+ - spec/ruby_speech/ssml/speak_spec.rb
398
+ - spec/ruby_speech/ssml/sub_spec.rb
399
+ - spec/ruby_speech/ssml/voice_spec.rb
400
+ - spec/ruby_speech/ssml_spec.rb
401
+ - spec/ruby_speech_spec.rb
402
+ - spec/spec_helper.rb
403
+ - spec/support/match_examples.rb
404
+ - spec/support/matchers.rb
405
+ has_rdoc: