module SsmlBuilder::String

Public Instance Methods

ssml_address() click to toggle source
# 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() click to toggle source
# 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() click to toggle source
# 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) click to toggle source
# 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() click to toggle source
# File lib/ssml_builder/core_extensions/string.rb, line 138
def ssml_amazon_verb
  return "<w role=\"amazon:VB\">" + self + "</w>"
end
ssml_audio() click to toggle source
# File lib/ssml_builder/core_extensions/string.rb, line 65
def ssml_audio
  return "<audio src=\"" + self + "\"/>"
end
ssml_break(length = "medium") click to toggle source
# 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() click to toggle source
# 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() click to toggle source
# 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() click to toggle source
# 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() click to toggle source
# 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") click to toggle source
# File lib/ssml_builder/core_extensions/string.rb, line 61
def ssml_emphasis(level = "moderate")
  return "<emphasis level=\"" + level + "\">" + self + "</emphasis>"
end
ssml_expletive() click to toggle source
# 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() click to toggle source
# 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() click to toggle source
# 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() click to toggle source
# 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() click to toggle source
# 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() click to toggle source
# File lib/ssml_builder/core_extensions/string.rb, line 11
def ssml_p
  # ALIAS for paragraph
  return self.ssml_paragraph
end
ssml_paragraph() click to toggle source
# 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") click to toggle source
# 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() click to toggle source
# 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 = "") click to toggle source
# 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") click to toggle source
# 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() click to toggle source
# File lib/ssml_builder/core_extensions/string.rb, line 44
def ssml_prosody
  # UNKOWN HOW I WANT TO USE
end
ssml_rate(rate = "medium") click to toggle source
# 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() click to toggle source
# File lib/ssml_builder/core_extensions/string.rb, line 3
def ssml_say
  return ssml_remove_special_characters(self)
end
ssml_sentence() click to toggle source
# 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() click to toggle source
# 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) click to toggle source
# 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() click to toggle source
# 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() click to toggle source
# 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() click to toggle source
# 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") click to toggle source
# 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() click to toggle source
# File lib/ssml_builder/core_extensions/string.rb, line 134
def ssml_whisper
  return "<amazon:effect name=\"whispered\">" + self + "</amazon:effect>"
end
to_ssml() click to toggle source
# File lib/ssml_builder/core_extensions/string.rb, line 158
def to_ssml
  return "<speak>" + self + "</speak>"
end

Private Instance Methods

ssml_remove_special_characters(string) click to toggle source
# File lib/ssml_builder/core_extensions/string.rb, line 164
def ssml_remove_special_characters(string)
  return string.gsub(/['"`]/,'')
end