Module: SsmlBuilder::String

Included in:
String
Defined in:
lib/ssml_builder/core_extensions/string.rb

Instance Method Summary collapse

Instance Method Details

#ssml_addressObject



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_nounObject



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_participleObject



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_verbObject



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_audioObject



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_cardinalObject



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_charactersObject



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_dateObject



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_digitsObject



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_expletiveObject



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_fractionObject



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_interjectionObject



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_numberObject



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_ordinalObject



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_pObject



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_paragraphObject



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_phoneObject



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_prosodyObject



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_sayObject



3
4
5
# File 'lib/ssml_builder/core_extensions/string.rb', line 3

def ssml_say
  return ssml_remove_special_characters(self)
end

#ssml_sentenceObject



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_outObject



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_telephoneObject



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_timeObject



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_unitObject



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_whisperObject



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_ssmlObject



158
159
160
# File 'lib/ssml_builder/core_extensions/string.rb', line 158

def to_ssml
  return "<speak>" + self + "</speak>"
end