class SSMD::Processors::ProsodyProcessor

Public Instance Methods

regex() click to toggle source
# File lib/ssmd/processors/prosody_processor.rb, line 13
def regex
  @regex ||= Regex.prosody
end
result() click to toggle source
# File lib/ssmd/processors/prosody_processor.rb, line 5
def result
  with_volume || with_rate || with_pitch
end
text() click to toggle source
# File lib/ssmd/processors/prosody_processor.rb, line 9
def text
  match.captures.compact.first
end

Private Instance Methods

pitch_keys() click to toggle source
# File lib/ssmd/processors/prosody_processor.rb, line 45
def pitch_keys
  ['x-low', 'low', 'high', 'x-high']
end
rate_keys() click to toggle source
# File lib/ssmd/processors/prosody_processor.rb, line 41
def rate_keys
  ['x-slow', 'slow', 'fast', 'x-fast']
end
volume_keys() click to toggle source
# File lib/ssmd/processors/prosody_processor.rb, line 37
def volume_keys
  ['silent', 'x-soft', 'soft', 'loud', 'x-loud']
end
with_pitch() click to toggle source
# File lib/ssmd/processors/prosody_processor.rb, line 31
def with_pitch
  name, text = pitch_keys.map { |k| [k, match[k]] }.find { |k, v| !v.nil? }

  "<prosody pitch=\"#{name}\">#{text}</prosody>" if name && text
end
with_rate() click to toggle source
# File lib/ssmd/processors/prosody_processor.rb, line 25
def with_rate
  name, text = rate_keys.map { |k| [k, match[k]] }.find { |k, v| !v.nil? }

  "<prosody rate=\"#{name}\">#{text}</prosody>" if name && text
end
with_volume() click to toggle source
# File lib/ssmd/processors/prosody_processor.rb, line 19
def with_volume
  name, text = volume_keys.map { |k| [k, match[k]] }.find { |k, v| !v.nil? }

  "<prosody volume=\"#{name}\">#{text}</prosody>" if name && text
end