Module: SsmlBuilder::String
- Included in:
- String
- Defined in:
- lib/ssml_builder/core_extensions/string.rb
Instance Method Summary collapse
- #ssml_address ⇒ Object
- #ssml_amazon_noun ⇒ Object
- #ssml_amazon_participle ⇒ Object
- #ssml_amazon_sense(sense = 1) ⇒ Object
- #ssml_amazon_verb ⇒ Object
- #ssml_audio ⇒ Object
- #ssml_break(length = "medium") ⇒ Object
- #ssml_cardinal ⇒ Object
- #ssml_characters ⇒ Object
- #ssml_date ⇒ Object
- #ssml_digits ⇒ Object
- #ssml_emphasis(level = "moderate") ⇒ Object
- #ssml_expletive ⇒ Object
- #ssml_fraction ⇒ Object
- #ssml_interjection ⇒ Object
- #ssml_number ⇒ Object
- #ssml_ordinal ⇒ Object
- #ssml_p ⇒ Object
- #ssml_paragraph ⇒ Object
- #ssml_pause(length = "medium") ⇒ Object
- #ssml_phone ⇒ Object
- #ssml_phoneme(alphabet = "ipa", ph = "") ⇒ Object
- #ssml_pitch(pitch = "medium") ⇒ Object
- #ssml_prosody ⇒ Object
- #ssml_rate(rate = "medium") ⇒ Object
- #ssml_say ⇒ Object
- #ssml_sentence ⇒ Object
- #ssml_spell_out ⇒ Object
- #ssml_sub(alias_str) ⇒ Object
- #ssml_telephone ⇒ Object
- #ssml_time ⇒ Object
- #ssml_unit ⇒ Object
- #ssml_volume(volume = "medium") ⇒ Object
- #ssml_whisper ⇒ Object
- #to_ssml ⇒ Object
Instance Method Details
#ssml_address ⇒ Object
118 119 120 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 118 def ssml_address return "<say-as interpret-as=\"address\">" + self + "</say-as>" end |
#ssml_amazon_noun ⇒ Object
146 147 148 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 146 def ssml_amazon_noun return "<w role=\"amazon:NN\">" + self + "</w>" end |
#ssml_amazon_participle ⇒ Object
142 143 144 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 142 def ssml_amazon_participle return "<w role=\"amazon:VBD\">" + self + "</w>" end |
#ssml_amazon_sense(sense = 1) ⇒ Object
150 151 152 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 150 def ssml_amazon_sense(sense = 1) return "<w role=\"SENSE_" + sense.to_s + "\">" + self + "</w>" end |
#ssml_amazon_verb ⇒ Object
138 139 140 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 138 def ssml_amazon_verb return "<w role=\"amazon:VB\">" + self + "</w>" end |
#ssml_audio ⇒ Object
65 66 67 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 65 def ssml_audio return "<audio src=\"" + self + "\"/>" end |
#ssml_break(length = "medium") ⇒ Object
56 57 58 59 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 56 def ssml_break(length = "medium") # ALIAS for ssml_pause return self.ssml_pause(length) end |
#ssml_cardinal ⇒ Object
77 78 79 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 77 def ssml_cardinal return "<say-as interpret-as=\"cardinal\">" + self + "</say-as>" end |
#ssml_characters ⇒ Object
73 74 75 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 73 def ssml_characters return "<say-as interpret-as=\"characters\">" + self + "</say-as>" end |
#ssml_date ⇒ Object
101 102 103 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 101 def ssml_date return "<say-as interpret-as=\"date\">" + self + "</say-as>" end |
#ssml_digits ⇒ Object
89 90 91 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 89 def ssml_digits return "<say-as interpret-as=\"digits\">" + self + "</say-as>" end |
#ssml_emphasis(level = "moderate") ⇒ Object
61 62 63 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 61 def ssml_emphasis(level = "moderate") return "<emphasis level=\"" + level + "\">" + self + "</emphasis>" end |
#ssml_expletive ⇒ Object
126 127 128 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 126 def ssml_expletive return "<say-as interpret-as=\"expletive\">" + self + "</say-as>" end |
#ssml_fraction ⇒ Object
93 94 95 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 93 def ssml_fraction return "<say-as interpret-as=\"fraction\">" + self + "</say-as>" end |
#ssml_interjection ⇒ Object
122 123 124 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 122 def ssml_interjection return "<say-as interpret-as=\"interjection\">" + self + "</say-as>" end |
#ssml_number ⇒ Object
81 82 83 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 81 def ssml_number return "<say-as interpret-as=\"number\">" + self + "</say-as>" end |
#ssml_ordinal ⇒ Object
85 86 87 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 85 def ssml_ordinal return "<say-as interpret-as=\"ordinal\">" + self + "</say-as>" end |
#ssml_p ⇒ Object
11 12 13 14 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 11 def ssml_p # ALIAS for paragraph return self.ssml_paragraph end |
#ssml_paragraph ⇒ Object
7 8 9 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 7 def ssml_paragraph return "<p>" + ssml_remove_special_characters(self) + "</p>" end |
#ssml_pause(length = "medium") ⇒ Object
48 49 50 51 52 53 54 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 48 def ssml_pause(length = "medium") if ["none", "x-weak", "weak", "medium", "strong", "x-strong"].include?(length.downcase) return "<break strength=\"" + length.downcase + "\"/>" else return "<break time=\"" + length + "\"/>" end end |
#ssml_phone ⇒ Object
113 114 115 116 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 113 def ssml_phone # ALIAS of telephone return self.ssml_telephone end |
#ssml_phoneme(alphabet = "ipa", ph = "") ⇒ Object
154 155 156 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 154 def ssml_phoneme(alphabet = "ipa",ph = "") return "<phoneme alphabet=\"" + alphabet + "\" ph=\"" + ph + "\">" + self + "</phoneme>" end |
#ssml_pitch(pitch = "medium") ⇒ Object
27 28 29 30 31 32 33 34 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 27 def ssml_pitch(pitch = "medium") if !["x-low", "low", "medium", "high", "x-high"].include?(pitch) pitch = pitch.to_f > -33.3 ? pitch.to_f : -33.3 pitch = (pitch.to_f < 50.0 ? pitch : 50.0) pitch = pitch > 0 ? "+%g%" % ("%.2f" % pitch) : "%g%" % ("%.2f" % pitch) end return "<prosody pitch=\"" + pitch + "\">" + ssml_remove_special_characters(self) + "</prosody>" end |
#ssml_prosody ⇒ Object
44 45 46 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 44 def ssml_prosody # UNKOWN HOW I WANT TO USE end |
#ssml_rate(rate = "medium") ⇒ Object
20 21 22 23 24 25 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 20 def ssml_rate(rate = "medium") if !["x-slow", "slow", "medium", "fast", "x-fast"].include?(rate) rate = (rate.to_i > 20 ? rate.to_i : 20).to_s + "%" end return "<prosody rate=\"" + rate + "\">" + ssml_remove_special_characters(self) + "</prosody>" end |
#ssml_say ⇒ Object
3 4 5 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 3 def ssml_say return ssml_remove_special_characters(self) end |
#ssml_sentence ⇒ Object
16 17 18 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 16 def ssml_sentence return "<s>" + ssml_remove_special_characters(self) + "</s>" end |
#ssml_spell_out ⇒ Object
69 70 71 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 69 def ssml_spell_out return "<say-as interpret-as=\"spell-out\">" + self + "</say-as>" end |
#ssml_sub(alias_str) ⇒ Object
130 131 132 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 130 def ssml_sub(alias_str) return "<sub alias=\"" + alias_str + "\">" + self + "</sub>" end |
#ssml_telephone ⇒ Object
109 110 111 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 109 def ssml_telephone return "<say-as interpret-as=\"telephone\">" + self + "</say-as>" end |
#ssml_time ⇒ Object
105 106 107 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 105 def ssml_time return "<say-as interpret-as=\"time\">" + self + "</say-as>" end |
#ssml_unit ⇒ Object
97 98 99 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 97 def ssml_unit return "<say-as interpret-as=\"unit\">" + self.gsub(/ /,'') + "</say-as>" end |
#ssml_volume(volume = "medium") ⇒ Object
36 37 38 39 40 41 42 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 36 def ssml_volume(volume = "medium") if !["silent", "x-soft", "soft", "medium", "loud", "x-loud"].include?(volume) volume = volume.to_f < 4.08 ? volume.to_f : 4.08 volume = volume > 0 ? "+%gdB" % ("%.2f" % volume) : "%gdB" % ("%.2f" % volume) end return "<prosody volume=\"" + volume + "\">" + ssml_remove_special_characters(self) + "</prosody>" end |
#ssml_whisper ⇒ Object
134 135 136 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 134 def ssml_whisper return "<amazon:effect name=\"whispered\">" + self + "</amazon:effect>" end |
#to_ssml ⇒ Object
158 159 160 |
# File 'lib/ssml_builder/core_extensions/string.rb', line 158 def to_ssml return "<speak>" + self + "</speak>" end |