ruby_speech 2.1.0-java

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.
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: