diff --git a/app/controllers/ru_captcha/captcha_controller.rb b/app/controllers/ru_captcha/captcha_controller.rb
index deca92b..bb020ac 100644
--- a/app/controllers/ru_captcha/captcha_controller.rb
+++ b/app/controllers/ru_captcha/captcha_controller.rb
@@ -4,8 +4,13 @@ module RuCaptcha
return head :ok if request.head?
headers['Cache-Control'] = 'no-cache, no-store, max-age=0, must-revalidate'
headers['Pragma'] = 'no-cache'
- data = generate_rucaptcha
- opts = { disposition: 'inline', type: 'image/gif' }
+ if params[:format] == "wav" and RuCaptcha.espeak?
+ data = generate_speech_rucaptcha
+ opts = { disposition: 'inline', type: 'audio/wav' }
+ else
+ data = generate_rucaptcha
+ opts = { disposition: 'inline', type: 'image/gif' }
+ end
send_data data, opts
end
end
diff --git a/config/initializers/rucaptcha.rb b/config/initializers/rucaptcha.rb
index d774728..5e261bd 100644
--- a/config/initializers/rucaptcha.rb
+++ b/config/initializers/rucaptcha.rb
@@ -18,4 +18,18 @@ RuCaptcha.configure do
# self.strikethrough = true
# enable/disable Outline style
# self.outline = false
+ # eSpeak
+ self.espeak do |espeak|
+ # Amplitude, 0 to 200
+ espeak.amplitude = 80..120
+
+ # Word gap. Pause between words
+ espeak.gap = 80
+
+ # Pitch adjustment, 0 to 99
+ espeak.pitch = 30..70
+
+ # Use voice file of this name from espeak-data/voices
+ espeak.voice = 'en-us'
+ end
end
diff --git a/lib/rucaptcha.rb b/lib/rucaptcha.rb
index 93cca50..e4aa81d 100644
--- a/lib/rucaptcha.rb
+++ b/lib/rucaptcha.rb
@@ -2,6 +2,7 @@ require 'rails'
require 'action_controller'
require 'active_support/all'
require 'rucaptcha/rucaptcha'
+require 'rucaptcha/espeak'
require 'rucaptcha/version'
require 'rucaptcha/configuration'
require 'rucaptcha/controller_helpers'
@@ -35,6 +36,15 @@ module RuCaptcha
config.instance_exec(&block)
end
+ def espeak(&block)
+ @espeak ||= @config.instance_variable_get(:@espeak)
+ @espeak ||= false
+ end
+
+ def espeak?
+ not espeak === false
+ end
+
def generate()
style = config.style == :colorful ? 1 : 0
length = config.length
diff --git a/lib/rucaptcha/configuration.rb b/lib/rucaptcha/configuration.rb
index 42f4d8c..6ffc1ef 100644
--- a/lib/rucaptcha/configuration.rb
+++ b/lib/rucaptcha/configuration.rb
@@ -15,5 +15,20 @@ module RuCaptcha
attr_accessor :outline
# skip_cache_store_check, default: false
attr_accessor :skip_cache_store_check
+ def espeak=(state)
+ if state === true
+ @espeak = Espeak.new
+ else
+ @espeak = false
+ end
+ end
+
+ def espeak(&block)
+ if block_given?
+ @espeak = Espeak.new &block
+ else
+ @espeak ||= false
+ end
+ end
end
end
diff --git a/lib/rucaptcha/controller_helpers.rb b/lib/rucaptcha/controller_helpers.rb
index 6f335ec..2be7c0e 100644
--- a/lib/rucaptcha/controller_helpers.rb
+++ b/lib/rucaptcha/controller_helpers.rb
@@ -28,6 +28,20 @@ module RuCaptcha
RuCaptcha.cache.write(rucaptcha_sesion_key_key, session_val, expires_in: RuCaptcha.config.expires_in)
res[1]
end
+ def generate_speech_rucaptcha
+ raise RuntimeError, "espeak disabled" unless RuCaptcha.espeak?
+ wav_file = Tempfile.new("#{current_captcha_code}.wav")
+ RuCaptcha.espeak.generate(current_captcha_code, wav_file.path)
+ File.read(wav_file.path)
+ end
+ def current_captcha_code
+ if @code
+ @code
+ else
+ store_info = RuCaptcha.cache.read(rucaptcha_sesion_key_key)
+ @code = store_info[:code]
+ end
+ end
# Verify captcha code
#
diff --git a/lib/rucaptcha/espeak.rb b/lib/rucaptcha/espeak.rb
new file mode 100644
index 0000000..2af5fac
--- /dev/null
+++ b/lib/rucaptcha/espeak.rb
@@ -0,0 +1,87 @@
+module RuCaptcha
+ # espeak wrapper
+ class Espeak
+ require 'fileutils'
+ EspeakDataDir = "#{ENV['HOME']}/espeak-ng-data"
+ EspeakBuildDir = "#{ENV['HOME']}/.espeak_build"
+ EspeakLibDir = "#{ENV['HOME']}/shared_library"
+ unless Dir.exist?(EspeakDataDir)
+ FileUtils.cp_r(File.expand_path("../../../resources/espeak-ng-data", __FILE__), EspeakDataDir)
+ end
+ if Dir.exist?(EspeakBuildDir)
+ unless Dir.exist?(EspeakLibDir)
+ FileUtils.cp_r(File.expand_path("../../../resources/espeak_build/shared_library", __FILE__), EspeakLibDir)
+ end
+ else
+ FileUtils.cp_r(File.expand_path("../../../resources/espeak_build", __FILE__), EspeakBuildDir)
+ end
+ # generator for captcha images
+ def initialize(&block)
+ defaults
+ yield self if block_given?
+ end
+
+ # set default values
+ def defaults
+ @amplitude = 80..120
+ @pitch = 30..70
+ @gap = 80
+ @voice = nil
+ end
+
+ attr_writer :amplitude, :pitch, :gap, :voice
+
+ # return amplitude
+ def amplitude
+ if @amplitude.is_a? Range
+ @amplitude.to_a.sort_by { rand }.first
+ else
+ @amplitude.to_i
+ end
+ end
+
+ # return amplitude
+ def pitch
+ if @pitch.is_a? Range
+ @pitch.to_a.sort_by { rand }.first
+ else
+ @pitch.to_i
+ end
+ end
+
+ def gap
+ @gap.to_i
+ end
+
+ def voice
+ if @voice.is_a? Array
+ v = @voice.sort_by { rand }.first
+ else
+ v = @voice
+ end
+
+ v.try :gsub, /[^A-Za-z0-9\-\+]/, ""
+ end
+
+ # generate wav file by captcha
+ def generate(captcha, wav_file)
+ # get code
+ if captcha.is_a? String
+ code = captcha
+ else
+ raise ArgumentError, "invalid captcha"
+ end
+ # add spaces
+ code = code.each_char.to_a.join(" ")
+ cmd = "~/.espeak_build/espeak-ng -g 10"
+ cmd << " -a #{amplitude}" unless @amplitude.nil?
+ cmd << " -p #{pitch}" unless @pitch.nil?
+ cmd << " -g #{gap}" unless @gap.nil?
+ cmd << " -v '#{voice}'" unless @voice.nil?
+ cmd << " -w #{wav_file} ' #{code}'"
+ system({'LD_LIBRARY_PATH'=>"#{ENV['HOME']}/.espeak_build/shared_library"}, cmd)
+ true
+ end
+
+ end
+end
diff --git a/lib/rucaptcha/view_helpers.rb b/lib/rucaptcha/view_helpers.rb
index 1e93d43..8314014 100644
--- a/lib/rucaptcha/view_helpers.rb
+++ b/lib/rucaptcha/view_helpers.rb
@@ -13,11 +13,17 @@ module RuCaptcha
def rucaptcha_image_tag(opts = {})
opts[:class] = opts[:class] || 'rucaptcha-image'
- opts[:src] = ru_captcha.root_path
- opts[:onclick] = "this.src = '#{ru_captcha.root_path}?t=' + Date.now();"
+ opts[:src] = ru_captcha.root_path(:locale=>nil)
+ opts[:onclick] = "this.t=Date.now();this.src = '#{opts[:src]}?t=' + this.t;this.audio=document.getElementById('captcha_audio');this.audio ? this.audio.src= '#{opts[:src]}?format=wav&t=' + this.t : null;"
+ if RuCaptcha.espeak? && opts[:espeak]
+ opts[:onload] = "this.already_load ? null : ($(this).after('#{rucaptcha_audio_tag}') && (this.already_load = true));"
+ opts.delete(:espeak)
+ end
tag(:img, opts)
end
-
+ def rucaptcha_audio_tag()
+ "".html_safe
+ end
def gotcha(opts = {})
if opts[:placeholder].blank?
opts[:placeholder] = I18n.t('rucaptcha.placeholder')
@@ -28,7 +34,8 @@ module RuCaptcha
if opts[:alt].blank?
opts[:alt] = I18n.t('rucaptcha.captcha')
end
- rucaptcha_image_tag(opts)
+ captcha_html = rucaptcha_image_tag(opts)
+ captcha_html
end
end
diff --git a/resources/espeak-ng-data/en_dict b/resources/espeak-ng-data/en_dict
new file mode 100644
index 0000000..d62b770
Binary files /dev/null and b/resources/espeak-ng-data/en_dict differ
diff --git a/resources/espeak-ng-data/intonations b/resources/espeak-ng-data/intonations
new file mode 100644
index 0000000..ca2d4b3
Binary files /dev/null and b/resources/espeak-ng-data/intonations differ
diff --git a/resources/espeak-ng-data/lang/aav/vi b/resources/espeak-ng-data/lang/aav/vi
new file mode 100644
index 0000000..7808128
--- /dev/null
+++ b/resources/espeak-ng-data/lang/aav/vi
@@ -0,0 +1,8 @@
+name Vietnamese (Northern)
+language vi
+
+words 1 2
+pitch 95 175
+
+
+tone 100 225 800 100 2000 50 5400 75 8000 200
diff --git a/resources/espeak-ng-data/lang/aav/vi-VN-x-central b/resources/espeak-ng-data/lang/aav/vi-VN-x-central
new file mode 100644
index 0000000..6d2b9ed
--- /dev/null
+++ b/resources/espeak-ng-data/lang/aav/vi-VN-x-central
@@ -0,0 +1,11 @@
+name Vietnamese (Central)
+language vi-vn-x-central
+phonemes vi-hue
+dictrules 1
+
+words 1
+pitch 82 118 //80 118
+//breath 75 75 60 40 15 10
+ //breathw 150 150 200 200 400 400
+ voicing 90 //18
+ flutter 20
diff --git a/resources/espeak-ng-data/lang/aav/vi-VN-x-south b/resources/espeak-ng-data/lang/aav/vi-VN-x-south
new file mode 100644
index 0000000..b1da9a5
--- /dev/null
+++ b/resources/espeak-ng-data/lang/aav/vi-VN-x-south
@@ -0,0 +1,11 @@
+name Vietnamese (Southern)
+language vi-vn-x-south
+phonemes vi-sgn
+dictrules 2
+
+words 1
+pitch 82 118 //80 118
+//breath 75 75 60 40 15 10
+ //breathw 150 150 200 200 400 400
+ voicing 90 //18
+ flutter 20
diff --git a/resources/espeak-ng-data/lang/art/eo b/resources/espeak-ng-data/lang/art/eo
new file mode 100644
index 0000000..e47501f
--- /dev/null
+++ b/resources/espeak-ng-data/lang/art/eo
@@ -0,0 +1,4 @@
+name Esperanto
+language eo
+
+apostrophe 2
diff --git a/resources/espeak-ng-data/lang/art/ia b/resources/espeak-ng-data/lang/art/ia
new file mode 100644
index 0000000..6a14728
--- /dev/null
+++ b/resources/espeak-ng-data/lang/art/ia
@@ -0,0 +1,2 @@
+name Interlingua
+language ia
diff --git a/resources/espeak-ng-data/lang/art/io b/resources/espeak-ng-data/lang/art/io
new file mode 100644
index 0000000..c50f9fa
--- /dev/null
+++ b/resources/espeak-ng-data/lang/art/io
@@ -0,0 +1,5 @@
+name Ido
+language io
+phonemes eo
+status testing
+
diff --git a/resources/espeak-ng-data/lang/art/jbo b/resources/espeak-ng-data/lang/art/jbo
new file mode 100644
index 0000000..9cf2f30
--- /dev/null
+++ b/resources/espeak-ng-data/lang/art/jbo
@@ -0,0 +1,4 @@
+name Lojban
+language jbo
+
+speed 80 // speed adjustment, percentage
diff --git a/resources/espeak-ng-data/lang/art/lfn b/resources/espeak-ng-data/lang/art/lfn
new file mode 100644
index 0000000..d5e4387
--- /dev/null
+++ b/resources/espeak-ng-data/lang/art/lfn
@@ -0,0 +1,8 @@
+name Lingua Franca Nova
+language lfn
+
+phonemes base2
+l_unpronouncable 0
+numbers 2 3
+
+stressLength 150 140 180 180 0 0 200 200
diff --git a/resources/espeak-ng-data/lang/art/piqd b/resources/espeak-ng-data/lang/art/piqd
new file mode 100644
index 0000000..49367cd
--- /dev/null
+++ b/resources/espeak-ng-data/lang/art/piqd
@@ -0,0 +1,5 @@
+name Klingon
+language piqd
+status testing
+stressRule 3
+
diff --git a/resources/espeak-ng-data/lang/art/py b/resources/espeak-ng-data/lang/art/py
new file mode 100644
index 0000000..850a34e
--- /dev/null
+++ b/resources/espeak-ng-data/lang/art/py
@@ -0,0 +1,7 @@
+name Pyash
+language py
+maintainer Logan Streondj
+status testing
+
+speed 80 // speed adjustment, percentage
+stressRule 0
diff --git a/resources/espeak-ng-data/lang/art/qdb b/resources/espeak-ng-data/lang/art/qdb
new file mode 100644
index 0000000..eb5ea36
--- /dev/null
+++ b/resources/espeak-ng-data/lang/art/qdb
@@ -0,0 +1,6 @@
+name Lang Belta
+language qdb
+
+numbers 4 3
+
+replace 1 t ?
diff --git a/resources/espeak-ng-data/lang/art/qya b/resources/espeak-ng-data/lang/art/qya
new file mode 100644
index 0000000..2b51581
--- /dev/null
+++ b/resources/espeak-ng-data/lang/art/qya
@@ -0,0 +1,4 @@
+name Quenya
+language qya
+stressRule 2
+// rule=penultimate, with qya_rules for light penultimate syllables to move primary stress to the preceding (antepenultimate) syllable
diff --git a/resources/espeak-ng-data/lang/art/sjn b/resources/espeak-ng-data/lang/art/sjn
new file mode 100644
index 0000000..f927bc9
--- /dev/null
+++ b/resources/espeak-ng-data/lang/art/sjn
@@ -0,0 +1,4 @@
+name Sindarin
+language sjn
+stressRule 2
+// rule=penultimate, with sjn_rules for light penultimate syllables to move primary stress to the preceding (antepenultimate) syllable
diff --git a/resources/espeak-ng-data/lang/azc/nci b/resources/espeak-ng-data/lang/azc/nci
new file mode 100644
index 0000000..f189637
--- /dev/null
+++ b/resources/espeak-ng-data/lang/azc/nci
@@ -0,0 +1,6 @@
+name Nahuatl (Classical)
+language nci
+
+intonation 3
+stressRule 2
+stressLength 190 190 200 200 0 0 220 240
diff --git a/resources/espeak-ng-data/lang/bat/lt b/resources/espeak-ng-data/lang/bat/lt
new file mode 100644
index 0000000..7cdb193
--- /dev/null
+++ b/resources/espeak-ng-data/lang/bat/lt
@@ -0,0 +1,2 @@
+name Lithuanian
+language lt
diff --git a/resources/espeak-ng-data/lang/bat/ltg b/resources/espeak-ng-data/lang/bat/ltg
new file mode 100644
index 0000000..021faa8
--- /dev/null
+++ b/resources/espeak-ng-data/lang/bat/ltg
@@ -0,0 +1,14 @@
+name Latgalian
+language ltg
+maintainer Valdis Vitolins
+status testing
+phonemes lv
+dictionary lv
+dictrules 2 // Setting for Latgalian pronunciation
+words 0 2
+pitch 64 118
+breath 10 2 1 0 0 0 0 0
+breathw 20 42 85 200 500 1000
+tone 60 150 204 100 400 255 700 10 3000 255
+stressAmp 12 10 8 8 0 0 15 16
+stressLength 160 140 200 140 0 0 240 160
diff --git a/resources/espeak-ng-data/lang/bat/lv b/resources/espeak-ng-data/lang/bat/lv
new file mode 100644
index 0000000..8c53415
--- /dev/null
+++ b/resources/espeak-ng-data/lang/bat/lv
@@ -0,0 +1,11 @@
+name Latvian
+language lv
+maintainer Valdis Vitolins
+status mature
+words 0 2
+pitch 67 123
+breath 10 2 1 0 0 0 0 0
+breathw 20 42 85 200 500 1000
+tone 60 150 204 100 400 255 700 10 3000 255
+stressAmp 11 8 11 9 0 0 14 12
+stressLength 160 120 200 130 0 0 230 180
diff --git a/resources/espeak-ng-data/lang/bnt/sw b/resources/espeak-ng-data/lang/bnt/sw
new file mode 100644
index 0000000..d1a4db3
--- /dev/null
+++ b/resources/espeak-ng-data/lang/bnt/sw
@@ -0,0 +1,4 @@
+name Swahili
+language sw
+
+status testing
diff --git a/resources/espeak-ng-data/lang/bnt/tn b/resources/espeak-ng-data/lang/bnt/tn
new file mode 100644
index 0000000..8b484e4
--- /dev/null
+++ b/resources/espeak-ng-data/lang/bnt/tn
@@ -0,0 +1,4 @@
+name Setswana
+language tn
+
+status testing
diff --git a/resources/espeak-ng-data/lang/ccs/ka b/resources/espeak-ng-data/lang/ccs/ka
new file mode 100644
index 0000000..2a789b3
--- /dev/null
+++ b/resources/espeak-ng-data/lang/ccs/ka
@@ -0,0 +1,3 @@
+name Georgian
+language ka
+lowercaseSentence // A period followed by a lowercase letter is considered a sentence (mkhedruli)
diff --git a/resources/espeak-ng-data/lang/cel/cy b/resources/espeak-ng-data/lang/cel/cy
new file mode 100644
index 0000000..6d02132
--- /dev/null
+++ b/resources/espeak-ng-data/lang/cel/cy
@@ -0,0 +1,4 @@
+name Welsh
+language cy
+
+intonation 4
diff --git a/resources/espeak-ng-data/lang/cel/ga b/resources/espeak-ng-data/lang/cel/ga
new file mode 100644
index 0000000..9fea2ae
--- /dev/null
+++ b/resources/espeak-ng-data/lang/cel/ga
@@ -0,0 +1,4 @@
+name Gaelic (Irish)
+language ga
+
+dictrules 1 // fix for eclipsis
diff --git a/resources/espeak-ng-data/lang/cel/gd b/resources/espeak-ng-data/lang/cel/gd
new file mode 100644
index 0000000..e416f6f
--- /dev/null
+++ b/resources/espeak-ng-data/lang/cel/gd
@@ -0,0 +1,4 @@
+name Gaelic (Scottish)
+language gd
+
+status testing
diff --git a/resources/espeak-ng-data/lang/cus/om b/resources/espeak-ng-data/lang/cus/om
new file mode 100644
index 0000000..1d6b396
--- /dev/null
+++ b/resources/espeak-ng-data/lang/cus/om
@@ -0,0 +1,4 @@
+name Oromo
+language om
+
+status testing
diff --git a/resources/espeak-ng-data/lang/dra/kn b/resources/espeak-ng-data/lang/dra/kn
new file mode 100644
index 0000000..a32732c
--- /dev/null
+++ b/resources/espeak-ng-data/lang/dra/kn
@@ -0,0 +1,5 @@
+name Kannada
+language kn
+
+intonation 2
+//consonants 80
diff --git a/resources/espeak-ng-data/lang/dra/ml b/resources/espeak-ng-data/lang/dra/ml
new file mode 100644
index 0000000..92394bb
--- /dev/null
+++ b/resources/espeak-ng-data/lang/dra/ml
@@ -0,0 +1,5 @@
+name Malayalam
+language ml
+
+intonation 2
+//consonants 80
diff --git a/resources/espeak-ng-data/lang/dra/ta b/resources/espeak-ng-data/lang/dra/ta
new file mode 100644
index 0000000..aae6334
--- /dev/null
+++ b/resources/espeak-ng-data/lang/dra/ta
@@ -0,0 +1,5 @@
+name Tamil
+language ta
+
+intonation 2
+consonants 80
diff --git a/resources/espeak-ng-data/lang/dra/te b/resources/espeak-ng-data/lang/dra/te
new file mode 100644
index 0000000..8acbb18
--- /dev/null
+++ b/resources/espeak-ng-data/lang/dra/te
@@ -0,0 +1,7 @@
+name Telugu
+language te
+
+status testing
+
+intonation 2
+//consonants 80
diff --git a/resources/espeak-ng-data/lang/esx/kl b/resources/espeak-ng-data/lang/esx/kl
new file mode 100644
index 0000000..e581b58
--- /dev/null
+++ b/resources/espeak-ng-data/lang/esx/kl
@@ -0,0 +1,3 @@
+name Greenlandic
+language kl
+
diff --git a/resources/espeak-ng-data/lang/eu b/resources/espeak-ng-data/lang/eu
new file mode 100644
index 0000000..ef132e5
--- /dev/null
+++ b/resources/espeak-ng-data/lang/eu
@@ -0,0 +1,5 @@
+name Basque
+language eu
+
+status testing
+stressRule 15
diff --git a/resources/espeak-ng-data/lang/gmq/da b/resources/espeak-ng-data/lang/gmq/da
new file mode 100644
index 0000000..58f02f1
--- /dev/null
+++ b/resources/espeak-ng-data/lang/gmq/da
@@ -0,0 +1,4 @@
+name Danish
+language da
+
+tunes s2 c2 q2 e2
diff --git a/resources/espeak-ng-data/lang/gmq/is b/resources/espeak-ng-data/lang/gmq/is
new file mode 100644
index 0000000..04bf5ad
--- /dev/null
+++ b/resources/espeak-ng-data/lang/gmq/is
@@ -0,0 +1,2 @@
+name Icelandic
+language is
diff --git a/resources/espeak-ng-data/lang/gmq/nb b/resources/espeak-ng-data/lang/gmq/nb
new file mode 100644
index 0000000..c29117f
--- /dev/null
+++ b/resources/espeak-ng-data/lang/gmq/nb
@@ -0,0 +1,7 @@
+name Norwegian Bokmål
+language nb
+language no
+phonemes no
+dictionary no
+
+intonation 4
diff --git a/resources/espeak-ng-data/lang/gmq/sv b/resources/espeak-ng-data/lang/gmq/sv
new file mode 100644
index 0000000..bb2d029
--- /dev/null
+++ b/resources/espeak-ng-data/lang/gmq/sv
@@ -0,0 +1,2 @@
+name Swedish
+language sv
diff --git a/resources/espeak-ng-data/lang/gmw/af b/resources/espeak-ng-data/lang/gmw/af
new file mode 100644
index 0000000..64fc96f
--- /dev/null
+++ b/resources/espeak-ng-data/lang/gmw/af
@@ -0,0 +1,8 @@
+name Afrikaans
+language af
+
+maintainer Christo de Klerk
+status mature
+
+roughness 0
+pitch 63 120
diff --git a/resources/espeak-ng-data/lang/gmw/de b/resources/espeak-ng-data/lang/gmw/de
new file mode 100644
index 0000000..a43cc1a
--- /dev/null
+++ b/resources/espeak-ng-data/lang/gmw/de
@@ -0,0 +1,3 @@
+name German
+language de
+tunes s4 c1 q4 e1
diff --git a/resources/espeak-ng-data/lang/gmw/en b/resources/espeak-ng-data/lang/gmw/en
new file mode 100644
index 0000000..f23fb53
--- /dev/null
+++ b/resources/espeak-ng-data/lang/gmw/en
@@ -0,0 +1,8 @@
+name English (Great Britain)
+language en-gb 2
+language en 2
+
+maintainer Reece H. Dunn
+status mature
+
+tunes s1 c1 q1 e1
diff --git a/resources/espeak-ng-data/lang/gmw/en-029 b/resources/espeak-ng-data/lang/gmw/en-029
new file mode 100644
index 0000000..493aae4
--- /dev/null
+++ b/resources/espeak-ng-data/lang/gmw/en-029
@@ -0,0 +1,20 @@
+name English (Caribbean)
+language en-029
+language en 10
+
+maintainer Reece H. Dunn
+status mature
+
+phonemes en-wi
+dictrules 8
+stressLength 175 175 175 175 220 220 250 290
+
+replace 00 D d
+replace 00 T t[
+replace 00 U@ o@
+replace 03 @ a#
+replace 03 3 a#
+replace 03 N n
+
+formant 1 98 100 100
+formant 2 98 100 100
diff --git a/resources/espeak-ng-data/lang/gmw/en-GB-scotland b/resources/espeak-ng-data/lang/gmw/en-GB-scotland
new file mode 100644
index 0000000..a4655a0
--- /dev/null
+++ b/resources/espeak-ng-data/lang/gmw/en-GB-scotland
@@ -0,0 +1,17 @@
+name English (Scotland)
+language en-gb-scotland
+language en 4
+
+maintainer Reece H. Dunn
+status mature
+
+phonemes en-sc
+dictrules 2 5 6 7
+stressLength 180 130 200 200 0 0 250 270
+
+replace 03 @ V
+replace 03 I i
+replace 03 I2 i
+replace 01 aI aI2
+replace 02 a a/
+replace 02 u: U
diff --git a/resources/espeak-ng-data/lang/gmw/en-GB-x-gbclan b/resources/espeak-ng-data/lang/gmw/en-GB-x-gbclan
new file mode 100644
index 0000000..f54a06b
--- /dev/null
+++ b/resources/espeak-ng-data/lang/gmw/en-GB-x-gbclan
@@ -0,0 +1,14 @@
+name English (Lancaster)
+language en-gb-x-gbclan
+language en-gb 3
+language en 5
+
+maintainer Reece H. Dunn
+status mature
+
+phonemes en-n
+
+stressLength 160 150 180 180 220 220 290 290
+
+replace 03 N n
+replace 03 i I2
diff --git a/resources/espeak-ng-data/lang/gmw/en-GB-x-gbcwmd b/resources/espeak-ng-data/lang/gmw/en-GB-x-gbcwmd
new file mode 100644
index 0000000..1831f9a
--- /dev/null
+++ b/resources/espeak-ng-data/lang/gmw/en-GB-x-gbcwmd
@@ -0,0 +1,12 @@
+name English (West Midlands)
+language en-gb-x-gbcwmd
+language en-gb 9
+language en 9
+
+phonemes en-wm
+
+replace 00 h NULL
+replace 00 o@ O@
+dictrules 6
+intonation 4
+stressAdd 0 0 0 0 0 0 0 20
diff --git a/resources/espeak-ng-data/lang/gmw/en-GB-x-rp b/resources/espeak-ng-data/lang/gmw/en-GB-x-rp
new file mode 100644
index 0000000..fb72cf1
--- /dev/null
+++ b/resources/espeak-ng-data/lang/gmw/en-GB-x-rp
@@ -0,0 +1,15 @@
+name English (Received Pronunciation)
+language en-gb-x-rp
+language en-gb 4
+language en 5
+
+maintainer Reece H. Dunn
+status mature
+
+phonemes en-rp
+
+replace 00 o@ O@
+replace 03 I i
+replace 03 I2 i
+replace 03 @ a#
+replace 03 3 a#
diff --git a/resources/espeak-ng-data/lang/gmw/en-US b/resources/espeak-ng-data/lang/gmw/en-US
new file mode 100644
index 0000000..31db652
--- /dev/null
+++ b/resources/espeak-ng-data/lang/gmw/en-US
@@ -0,0 +1,15 @@
+name English (America)
+language en-us 2
+language en 3
+
+maintainer Reece H. Dunn
+status mature
+
+phonemes en-us
+dictrules 3 6
+
+stressLength 140 120 190 170 0 0 255 300
+stressAmp 17 16 19 19 19 19 21 19
+
+replace 03 I i
+replace 03 I2 i
diff --git a/resources/espeak-ng-data/lang/gmw/en-US-nyc b/resources/espeak-ng-data/lang/gmw/en-US-nyc
new file mode 100644
index 0000000..2d76f88
--- /dev/null
+++ b/resources/espeak-ng-data/lang/gmw/en-US-nyc
@@ -0,0 +1,14 @@
+name English (America, New York City)
+language en-us-nyc
+
+maintainer Richard Calvi
+status testing
+
+phonemes en-us-nyc
+dictrules 3 6
+
+stressLength 140 120 190 170 0 0 255 300
+stressAmp 17 16 19 19 19 19 21 19
+
+replace 03 I i
+replace 03 I2 i
diff --git a/resources/espeak-ng-data/lang/gmw/lb b/resources/espeak-ng-data/lang/gmw/lb
new file mode 100644
index 0000000..7972459
--- /dev/null
+++ b/resources/espeak-ng-data/lang/gmw/lb
@@ -0,0 +1,2 @@
+name Luxembourgish
+language lb
diff --git a/resources/espeak-ng-data/lang/gmw/nl b/resources/espeak-ng-data/lang/gmw/nl
new file mode 100644
index 0000000..a212fbe
--- /dev/null
+++ b/resources/espeak-ng-data/lang/gmw/nl
@@ -0,0 +1,2 @@
+name Dutch
+language nl
diff --git a/resources/espeak-ng-data/lang/grk/el b/resources/espeak-ng-data/lang/grk/el
new file mode 100644
index 0000000..548a01b
--- /dev/null
+++ b/resources/espeak-ng-data/lang/grk/el
@@ -0,0 +1,2 @@
+name Greek
+language el
diff --git a/resources/espeak-ng-data/lang/grk/grc b/resources/espeak-ng-data/lang/grk/grc
new file mode 100644
index 0000000..baa8b2c
--- /dev/null
+++ b/resources/espeak-ng-data/lang/grk/grc
@@ -0,0 +1,6 @@
+name Greek (Ancient)
+language grc
+
+stressLength 170 170 190 190 0 0 230 240
+dictrules 1
+words 3
diff --git a/resources/espeak-ng-data/lang/inc/as b/resources/espeak-ng-data/lang/inc/as
new file mode 100644
index 0000000..23991ad
--- /dev/null
+++ b/resources/espeak-ng-data/lang/inc/as
@@ -0,0 +1,4 @@
+name Assamese
+language as
+
+status testing
diff --git a/resources/espeak-ng-data/lang/inc/bn b/resources/espeak-ng-data/lang/inc/bn
new file mode 100644
index 0000000..c791802
--- /dev/null
+++ b/resources/espeak-ng-data/lang/inc/bn
@@ -0,0 +1,2 @@
+name Bengali
+language bn
diff --git a/resources/espeak-ng-data/lang/inc/bpy b/resources/espeak-ng-data/lang/inc/bpy
new file mode 100644
index 0000000..b63bc8d
--- /dev/null
+++ b/resources/espeak-ng-data/lang/inc/bpy
@@ -0,0 +1,2 @@
+name Bishnupriya Manipuri
+language bpy
diff --git a/resources/espeak-ng-data/lang/inc/gu b/resources/espeak-ng-data/lang/inc/gu
new file mode 100644
index 0000000..fcdacd2
--- /dev/null
+++ b/resources/espeak-ng-data/lang/inc/gu
@@ -0,0 +1,4 @@
+name Gujarati
+language gu
+
+status testing
diff --git a/resources/espeak-ng-data/lang/inc/hi b/resources/espeak-ng-data/lang/inc/hi
new file mode 100644
index 0000000..16ea389
--- /dev/null
+++ b/resources/espeak-ng-data/lang/inc/hi
@@ -0,0 +1,2 @@
+name Hindi
+language hi
diff --git a/resources/espeak-ng-data/lang/inc/kok b/resources/espeak-ng-data/lang/inc/kok
new file mode 100644
index 0000000..f2b1cc5
--- /dev/null
+++ b/resources/espeak-ng-data/lang/inc/kok
@@ -0,0 +1,2 @@
+name Konkani
+language kok
diff --git a/resources/espeak-ng-data/lang/inc/mr b/resources/espeak-ng-data/lang/inc/mr
new file mode 100644
index 0000000..d9181f9
--- /dev/null
+++ b/resources/espeak-ng-data/lang/inc/mr
@@ -0,0 +1,4 @@
+name Marathi
+language mr
+
+status testing
diff --git a/resources/espeak-ng-data/lang/inc/ne b/resources/espeak-ng-data/lang/inc/ne
new file mode 100644
index 0000000..4b64cc2
--- /dev/null
+++ b/resources/espeak-ng-data/lang/inc/ne
@@ -0,0 +1,4 @@
+name Nepali
+language ne
+
+dictrules 1
diff --git a/resources/espeak-ng-data/lang/inc/or b/resources/espeak-ng-data/lang/inc/or
new file mode 100644
index 0000000..95a990e
--- /dev/null
+++ b/resources/espeak-ng-data/lang/inc/or
@@ -0,0 +1,4 @@
+name Oriya
+language or
+
+status testing
diff --git a/resources/espeak-ng-data/lang/inc/pa b/resources/espeak-ng-data/lang/inc/pa
new file mode 100644
index 0000000..0e9552d
--- /dev/null
+++ b/resources/espeak-ng-data/lang/inc/pa
@@ -0,0 +1,2 @@
+name Punjabi
+language pa
diff --git a/resources/espeak-ng-data/lang/inc/sd b/resources/espeak-ng-data/lang/inc/sd
new file mode 100644
index 0000000..51cf8af
--- /dev/null
+++ b/resources/espeak-ng-data/lang/inc/sd
@@ -0,0 +1,3 @@
+name Sindhi
+language sd
+maintainer Ejaz Shah
diff --git a/resources/espeak-ng-data/lang/inc/si b/resources/espeak-ng-data/lang/inc/si
new file mode 100644
index 0000000..3f87719
--- /dev/null
+++ b/resources/espeak-ng-data/lang/inc/si
@@ -0,0 +1,6 @@
+name Sinhala
+language si
+
+status testing
+
+intonation 2
diff --git a/resources/espeak-ng-data/lang/inc/ur b/resources/espeak-ng-data/lang/inc/ur
new file mode 100644
index 0000000..16e5469
--- /dev/null
+++ b/resources/espeak-ng-data/lang/inc/ur
@@ -0,0 +1,7 @@
+name Urdu
+language ur
+maintainer Ejaz Shah
+status testing
+
+stressRule 6
+
diff --git a/resources/espeak-ng-data/lang/ine/hy b/resources/espeak-ng-data/lang/ine/hy
new file mode 100644
index 0000000..ee0be2f
--- /dev/null
+++ b/resources/espeak-ng-data/lang/ine/hy
@@ -0,0 +1,3 @@
+name Armenian (East Armenia)
+language hy
+language hy-arevela
diff --git a/resources/espeak-ng-data/lang/ine/hyw b/resources/espeak-ng-data/lang/ine/hyw
new file mode 100644
index 0000000..9d5fe86
--- /dev/null
+++ b/resources/espeak-ng-data/lang/ine/hyw
@@ -0,0 +1,24 @@
+name Armenian (West Armenia)
+language hyw
+language hy-arevmda
+language hy 8
+
+dictionary hy
+dictrules 1
+
+phonemes hy
+
+// change consonants for West Armenian pronunciation
+replace 00 b p#
+replace 00 d t#
+replace 00 dz ts#
+replace 00 dZ tS#
+replace 00 g k#
+
+replace 00 p b
+replace 00 t d
+replace 00 ts dz
+replace 00 tS dZ
+replace 00 k g
+
+replace 00 R2 R // ??
diff --git a/resources/espeak-ng-data/lang/ine/sq b/resources/espeak-ng-data/lang/ine/sq
new file mode 100644
index 0000000..9ace357
--- /dev/null
+++ b/resources/espeak-ng-data/lang/ine/sq
@@ -0,0 +1,5 @@
+name Albanian
+language sq
+
+// add this line to remove 'ë' at the end of words
+// replace 00 @/ NULL
diff --git a/resources/espeak-ng-data/lang/ira/fa b/resources/espeak-ng-data/lang/ira/fa
new file mode 100644
index 0000000..5a0c2b6
--- /dev/null
+++ b/resources/espeak-ng-data/lang/ira/fa
@@ -0,0 +1,4 @@
+name Persian
+language fa
+maintainer Shadyar Khodayari
+status mature
diff --git a/resources/espeak-ng-data/lang/ira/fa-Latn b/resources/espeak-ng-data/lang/ira/fa-Latn
new file mode 100644
index 0000000..02c6da6
--- /dev/null
+++ b/resources/espeak-ng-data/lang/ira/fa-Latn
@@ -0,0 +1,8 @@
+name Persian (Pinglish)
+// Sometimes, Farsi speakers write Farsi words using English characters, particularly in Chat and SMS (texte messages).), called Pinglish
+language fa-latn
+maintainer Shadyar Khodayari
+status mature
+dictrules 1
+phonemes fa
+
diff --git a/resources/espeak-ng-data/lang/ira/ku b/resources/espeak-ng-data/lang/ira/ku
new file mode 100644
index 0000000..b26bca2
--- /dev/null
+++ b/resources/espeak-ng-data/lang/ira/ku
@@ -0,0 +1,5 @@
+name Kurdish
+language ku
+
+//words 1 48
+
diff --git a/resources/espeak-ng-data/lang/iro/chr b/resources/espeak-ng-data/lang/iro/chr
new file mode 100644
index 0000000..abe2938
--- /dev/null
+++ b/resources/espeak-ng-data/lang/iro/chr
@@ -0,0 +1,27 @@
+name Cherokee //https://github.com/espeak-ng/espeak-ng/blob/master/docs/voices.md
+language chr-US-Qaaa-x-west 5
+
+maintainer Michael Conrad
+status testing
+
+pitch 90 160
+
+voicing 100
+
+consonants 100 100
+
+speed 100
+
+words 2 1
+
+phonemes chr
+
+//stress on all syllables to simulate stress on no syllables
+stressRule 9
+stressLength 175 175 175 175 175 175 175 175 //all vowels the same length regardless of stress
+stressAmp 10 10 10 10 10 10 10 10 //all vowels the same strength regardless of marked stress
+
+intonation 1
+
+tunes chrs chrc chrq chre
+
diff --git a/resources/espeak-ng-data/lang/itc/la b/resources/espeak-ng-data/lang/itc/la
new file mode 100644
index 0000000..c57270f
--- /dev/null
+++ b/resources/espeak-ng-data/lang/itc/la
@@ -0,0 +1,12 @@
+name Latin
+language la
+stressRule 2 0 2
+// rule=penultimate
+// unstressed_wd1=0
+// unstressed_wd2=2
+stressOpt 0 5 // flags=0100001 (no automatic secondary stress + don't stres monosyllables)
+
+// short gap between words
+words 2
+
+// Note: The Latin voice needs long vowels to be marked with macrons
diff --git a/resources/espeak-ng-data/lang/jpx/ja b/resources/espeak-ng-data/lang/jpx/ja
new file mode 100644
index 0000000..20e21a1
--- /dev/null
+++ b/resources/espeak-ng-data/lang/jpx/ja
@@ -0,0 +1,5 @@
+name Japanese
+language ja
+phonemes ja
+
+intonation 4
diff --git a/resources/espeak-ng-data/lang/ko b/resources/espeak-ng-data/lang/ko
new file mode 100644
index 0000000..f03ba09
--- /dev/null
+++ b/resources/espeak-ng-data/lang/ko
@@ -0,0 +1,5 @@
+name Korean
+language ko
+pitch 80 118
+intonation 2
+
diff --git a/resources/espeak-ng-data/lang/map/haw b/resources/espeak-ng-data/lang/map/haw
new file mode 100644
index 0000000..c086913
--- /dev/null
+++ b/resources/espeak-ng-data/lang/map/haw
@@ -0,0 +1,3 @@
+name Hawaiian
+language haw
+status testing
diff --git a/resources/espeak-ng-data/lang/miz/mto b/resources/espeak-ng-data/lang/miz/mto
new file mode 100644
index 0000000..eb0f75f
--- /dev/null
+++ b/resources/espeak-ng-data/lang/miz/mto
@@ -0,0 +1,8 @@
+name Totontepec Mixe
+language mto
+
+maintainer Bill Dengler and Elizabeth Resendiz
+status testing
+
+lowercaseSentence
+tunes s6 c6 q6 e6
diff --git a/resources/espeak-ng-data/lang/myn/quc b/resources/espeak-ng-data/lang/myn/quc
new file mode 100644
index 0000000..e8e0ec6
--- /dev/null
+++ b/resources/espeak-ng-data/lang/myn/quc
@@ -0,0 +1,6 @@
+name K'iche'
+language quc
+status testing
+stressRule 3 // stress on final syllable
+stressAmp 8 8 20 15 0 0 25 25 // reduce unstressed vowels
+stressLength 120 120 200 150 0 0 250 250 // reduce unstressed vowels
diff --git a/resources/espeak-ng-data/lang/poz/id b/resources/espeak-ng-data/lang/poz/id
new file mode 100644
index 0000000..d300372
--- /dev/null
+++ b/resources/espeak-ng-data/lang/poz/id
@@ -0,0 +1,7 @@
+name Indonesian
+language id
+
+stressLength 160 200 180 180 0 0 220 240
+stressAmp 16 18 18 18 0 0 22 21
+
+consonants 80 80
diff --git a/resources/espeak-ng-data/lang/poz/mi b/resources/espeak-ng-data/lang/poz/mi
new file mode 100644
index 0000000..fa1c71e
--- /dev/null
+++ b/resources/espeak-ng-data/lang/poz/mi
@@ -0,0 +1,21 @@
+name Māori
+language mi
+status testing
+
+// https://github.com/espeak-ng/espeak-ng/blob/master/docs/voices.md#words
+words 1 2
+
+// taken from Jacky
+pitch 115 130
+
+formant 0 150 155 100
+formant 1 90 155 70
+formant 2 95 70 64
+formant 3 15 20 30
+formant 4 20 30 40
+formant 5 65 20 65
+formant 6 70 80 100
+formant 7 20 80 100
+formant 8 100 95 80
+voicing 135
+consonants 110
diff --git a/resources/espeak-ng-data/lang/poz/ms b/resources/espeak-ng-data/lang/poz/ms
new file mode 100644
index 0000000..27a2712
--- /dev/null
+++ b/resources/espeak-ng-data/lang/poz/ms
@@ -0,0 +1,14 @@
+// Last updated: 14 October 2010, Jason Ong (jason@portalgroove.com)
+name Malay
+language ms
+phonemes id
+
+stressLength 160 200 180 180 0 0 220 240
+stressAmp 16 18 18 18 0 0 22 21
+intonation 3 // Less intonation, and comma does not raise the pitch.
+
+// Nuance - Peninsula Malaysia
+// replace 3 a @ // change 'saya' to 'saye'
+ // (only the last phoneme of a word, only in unstressed syllables)
+
+consonants 80 80
diff --git a/resources/espeak-ng-data/lang/qu b/resources/espeak-ng-data/lang/qu
new file mode 100644
index 0000000..aa717f2
--- /dev/null
+++ b/resources/espeak-ng-data/lang/qu
@@ -0,0 +1,5 @@
+name Quechua
+language qu
+stressRule 2 // stress on penultimate syllable
+status testing
+
diff --git a/resources/espeak-ng-data/lang/roa/an b/resources/espeak-ng-data/lang/roa/an
new file mode 100644
index 0000000..dc75aa8
--- /dev/null
+++ b/resources/espeak-ng-data/lang/roa/an
@@ -0,0 +1,2 @@
+name Aragonese
+language an
diff --git a/resources/espeak-ng-data/lang/roa/ca b/resources/espeak-ng-data/lang/roa/ca
new file mode 100644
index 0000000..54af356
--- /dev/null
+++ b/resources/espeak-ng-data/lang/roa/ca
@@ -0,0 +1,2 @@
+name Catalan
+language ca
diff --git a/resources/espeak-ng-data/lang/roa/es b/resources/espeak-ng-data/lang/roa/es
new file mode 100644
index 0000000..dc90e41
--- /dev/null
+++ b/resources/espeak-ng-data/lang/roa/es
@@ -0,0 +1,4 @@
+name Spanish (Spain)
+language es
+dictrules 1
+tunes s6 c6 q6 e6
diff --git a/resources/espeak-ng-data/lang/roa/es-419 b/resources/espeak-ng-data/lang/roa/es-419
new file mode 100644
index 0000000..0acaa10
--- /dev/null
+++ b/resources/espeak-ng-data/lang/roa/es-419
@@ -0,0 +1,11 @@
+name Spanish (Latin America)
+language es-419
+language es-mx 6
+language es 6
+
+phonemes es-la
+dictrules 2
+intonation 2
+stressLength 170 200 230 180 0 0 250 280
+
+replace 00 T s
diff --git a/resources/espeak-ng-data/lang/roa/fr b/resources/espeak-ng-data/lang/roa/fr
new file mode 100644
index 0000000..9e0b944
--- /dev/null
+++ b/resources/espeak-ng-data/lang/roa/fr
@@ -0,0 +1,6 @@
+name French (France)
+language fr-fr
+language fr
+
+dictrules 1
+tunes s3 c3 q3 e3
diff --git a/resources/espeak-ng-data/lang/roa/fr-BE b/resources/espeak-ng-data/lang/roa/fr-BE
new file mode 100644
index 0000000..1a0311f
--- /dev/null
+++ b/resources/espeak-ng-data/lang/roa/fr-BE
@@ -0,0 +1,8 @@
+name French (Belgium)
+language fr-be
+language fr 8
+
+dictrules 2
+tunes s3 c3 q3 e3
+
+
diff --git a/resources/espeak-ng-data/lang/roa/fr-CH b/resources/espeak-ng-data/lang/roa/fr-CH
new file mode 100644
index 0000000..2e45fbd
--- /dev/null
+++ b/resources/espeak-ng-data/lang/roa/fr-CH
@@ -0,0 +1,6 @@
+name French (Switzerland)
+language fr-ch
+language fr 8
+
+dictrules 3
+tunes s3 c3 q3 e3
diff --git a/resources/espeak-ng-data/lang/roa/ht b/resources/espeak-ng-data/lang/roa/ht
new file mode 100644
index 0000000..8b57225
--- /dev/null
+++ b/resources/espeak-ng-data/lang/roa/ht
@@ -0,0 +1,8 @@
+name Haitian Creole
+language ht
+status testing
+maintainer // TODO somebody should take responsibility for this
+
+phonemes ht
+dictionary ht
+
diff --git a/resources/espeak-ng-data/lang/roa/it b/resources/espeak-ng-data/lang/roa/it
new file mode 100644
index 0000000..ad7bb50
--- /dev/null
+++ b/resources/espeak-ng-data/lang/roa/it
@@ -0,0 +1,7 @@
+name Italian
+language it
+
+maintainer Christian Leo M
+status mature
+
+tunes s4 c4 q4 e4
diff --git a/resources/espeak-ng-data/lang/roa/pap b/resources/espeak-ng-data/lang/roa/pap
new file mode 100644
index 0000000..b9e07fe
--- /dev/null
+++ b/resources/espeak-ng-data/lang/roa/pap
@@ -0,0 +1,7 @@
+name Papiamento
+language pap
+
+status testing
+
+phonemes base2
+
diff --git a/resources/espeak-ng-data/lang/roa/pt b/resources/espeak-ng-data/lang/roa/pt
new file mode 100644
index 0000000..5041b51
--- /dev/null
+++ b/resources/espeak-ng-data/lang/roa/pt
@@ -0,0 +1,7 @@
+name Portuguese (Portugal)
+language pt
+language pt-pt
+phonemes pt-pt
+
+dictrules 1
+intonation 2
diff --git a/resources/espeak-ng-data/lang/roa/pt-BR b/resources/espeak-ng-data/lang/roa/pt-BR
new file mode 100644
index 0000000..52b850c
--- /dev/null
+++ b/resources/espeak-ng-data/lang/roa/pt-BR
@@ -0,0 +1,7 @@
+name Portuguese (Brazil)
+language pt-br
+language pt 6
+
+dictrules 2
+stressLength 200 115 230 230 0 0 250 270
+
diff --git a/resources/espeak-ng-data/lang/roa/ro b/resources/espeak-ng-data/lang/roa/ro
new file mode 100644
index 0000000..94441ef
--- /dev/null
+++ b/resources/espeak-ng-data/lang/roa/ro
@@ -0,0 +1,2 @@
+name Romanian
+language ro
diff --git a/resources/espeak-ng-data/lang/sai/gn b/resources/espeak-ng-data/lang/sai/gn
new file mode 100644
index 0000000..6e183e5
--- /dev/null
+++ b/resources/espeak-ng-data/lang/sai/gn
@@ -0,0 +1,4 @@
+name Guarani
+language gn
+dictrules 1
+words 0 1
diff --git a/resources/espeak-ng-data/lang/sem/am b/resources/espeak-ng-data/lang/sem/am
new file mode 100644
index 0000000..87ed65a
--- /dev/null
+++ b/resources/espeak-ng-data/lang/sem/am
@@ -0,0 +1,4 @@
+name Amharic
+language am
+
+status testing
diff --git a/resources/espeak-ng-data/lang/sem/ar b/resources/espeak-ng-data/lang/sem/ar
new file mode 100644
index 0000000..5219808
--- /dev/null
+++ b/resources/espeak-ng-data/lang/sem/ar
@@ -0,0 +1,5 @@
+name Arabic
+language ar
+phonemes ar
+
+stressRule 4
diff --git a/resources/espeak-ng-data/lang/sem/he b/resources/espeak-ng-data/lang/sem/he
new file mode 100644
index 0000000..38cce90
--- /dev/null
+++ b/resources/espeak-ng-data/lang/sem/he
@@ -0,0 +1,4 @@
+name Hebrew
+language he
+
+status testing
diff --git a/resources/espeak-ng-data/lang/sem/mt b/resources/espeak-ng-data/lang/sem/mt
new file mode 100644
index 0000000..ea8a3fc
--- /dev/null
+++ b/resources/espeak-ng-data/lang/sem/mt
@@ -0,0 +1,4 @@
+name Maltese
+language mt
+
+status testing
diff --git a/resources/espeak-ng-data/lang/sit/cmn b/resources/espeak-ng-data/lang/sit/cmn
new file mode 100644
index 0000000..451016d
--- /dev/null
+++ b/resources/espeak-ng-data/lang/sit/cmn
@@ -0,0 +1,36 @@
+name Chinese (Mandarin, latin as English)
+language cmn
+language zh-cmn
+language zh
+
+phonemes cmn
+dictionary cmn
+words 1
+pitch 80 118
+
+dict_min 100000
+
+//for some dialects
+
+//[en]: replace ng with n
+//[zh]: ��������ng���n
+//replace 0 N n
+
+//[en]: replace rfx consonants
+//[zh]: ��������r���l��z��er���e
+//replace 0 ts.h tsh
+//replace 0 ts. ts
+//replace 0 s. s
+//replace 0 i. i[
+//replace 0 z. l
+//replace 0 z. z
+//replace 0 @r @
+
+//[en]: replace beginning n or l
+//[zh]: ����nl��n���l��l���n
+//replace 2 n l
+//replace 2 l n
+
+//[en]: replace beginning w with v
+//[zh]: w���v
+//replace 0 w v
diff --git a/resources/espeak-ng-data/lang/sit/cmn-Latn-pinyin b/resources/espeak-ng-data/lang/sit/cmn-Latn-pinyin
new file mode 100644
index 0000000..4b63db7
--- /dev/null
+++ b/resources/espeak-ng-data/lang/sit/cmn-Latn-pinyin
@@ -0,0 +1,11 @@
+name Chinese (Mandarin, latin as Pinyin)
+language cmn-latn-pinyin
+language zh-cmn
+language zh
+
+phonemes cmn
+dictionary cmn
+words 1
+pitch 80 118
+
+dict_min 100000
diff --git a/resources/espeak-ng-data/lang/sit/hak b/resources/espeak-ng-data/lang/sit/hak
new file mode 100644
index 0000000..0c3bf14
--- /dev/null
+++ b/resources/espeak-ng-data/lang/sit/hak
@@ -0,0 +1,6 @@
+name Hakka Chinese
+language hak
+maintainer Chen Chien-ting
+status testing
+phonemes hak
+dictionary hak
diff --git a/resources/espeak-ng-data/lang/sit/my b/resources/espeak-ng-data/lang/sit/my
new file mode 100644
index 0000000..3dbc767
--- /dev/null
+++ b/resources/espeak-ng-data/lang/sit/my
@@ -0,0 +1,3 @@
+name Myanmar (Burmese)
+maintainer Min Maung
+language my
diff --git a/resources/espeak-ng-data/lang/sit/yue b/resources/espeak-ng-data/lang/sit/yue
new file mode 100644
index 0000000..d65fac1
--- /dev/null
+++ b/resources/espeak-ng-data/lang/sit/yue
@@ -0,0 +1,13 @@
+name Chinese (Cantonese)
+language yue
+language zh-yue
+language zh 8
+
+phonemes yue
+dictionary yue
+
+// interpret English letters as 1=English words, 2=jyutping
+dictrules 1
+
+words 1
+dict_min 10000
diff --git a/resources/espeak-ng-data/lang/sit/yue-Latn-jyutping b/resources/espeak-ng-data/lang/sit/yue-Latn-jyutping
new file mode 100644
index 0000000..2324cd7
--- /dev/null
+++ b/resources/espeak-ng-data/lang/sit/yue-Latn-jyutping
@@ -0,0 +1,13 @@
+name Chinese (Cantonese, latin as Jyutping)
+language yue
+language zh-yue
+language zh 8
+
+phonemes yue
+dictionary yue
+
+// interpret English letters as 1=English words, 2=jyutping
+dictrules 2
+
+words 1
+dict_min 10000
diff --git a/resources/espeak-ng-data/lang/tai/shn b/resources/espeak-ng-data/lang/tai/shn
new file mode 100644
index 0000000..8d30384
--- /dev/null
+++ b/resources/espeak-ng-data/lang/tai/shn
@@ -0,0 +1,4 @@
+name Shan (Tai Yai)
+language shn
+maintainer ronaldaug
+status testing
diff --git a/resources/espeak-ng-data/lang/tai/th b/resources/espeak-ng-data/lang/tai/th
new file mode 100644
index 0000000..9b337c1
--- /dev/null
+++ b/resources/espeak-ng-data/lang/tai/th
@@ -0,0 +1,3 @@
+name Thai
+language th
+status testing
diff --git a/resources/espeak-ng-data/lang/trk/az b/resources/espeak-ng-data/lang/trk/az
new file mode 100644
index 0000000..fd9e4f3
--- /dev/null
+++ b/resources/espeak-ng-data/lang/trk/az
@@ -0,0 +1,4 @@
+name Azerbaijani
+language az
+
+status testing
diff --git a/resources/espeak-ng-data/lang/trk/ba b/resources/espeak-ng-data/lang/trk/ba
new file mode 100644
index 0000000..09fab48
--- /dev/null
+++ b/resources/espeak-ng-data/lang/trk/ba
@@ -0,0 +1,2 @@
+name Bashkir
+language ba
diff --git a/resources/espeak-ng-data/lang/trk/cv b/resources/espeak-ng-data/lang/trk/cv
new file mode 100644
index 0000000..44e37f6
--- /dev/null
+++ b/resources/espeak-ng-data/lang/trk/cv
@@ -0,0 +1,3 @@
+name Chuvash
+language cv
+status testing
diff --git a/resources/espeak-ng-data/lang/trk/kk b/resources/espeak-ng-data/lang/trk/kk
new file mode 100644
index 0000000..df3b0a0
--- /dev/null
+++ b/resources/espeak-ng-data/lang/trk/kk
@@ -0,0 +1,4 @@
+name Kazakh
+language kk
+status testing
+
diff --git a/resources/espeak-ng-data/lang/trk/ky b/resources/espeak-ng-data/lang/trk/ky
new file mode 100644
index 0000000..c031449
--- /dev/null
+++ b/resources/espeak-ng-data/lang/trk/ky
@@ -0,0 +1,4 @@
+name Kyrgyz
+language ky
+
+tunes s3 c3 q3 e3
diff --git a/resources/espeak-ng-data/lang/trk/nog b/resources/espeak-ng-data/lang/trk/nog
new file mode 100644
index 0000000..691d031
--- /dev/null
+++ b/resources/espeak-ng-data/lang/trk/nog
@@ -0,0 +1,3 @@
+name Nogai
+language nog
+status testing
diff --git a/resources/espeak-ng-data/lang/trk/tk b/resources/espeak-ng-data/lang/trk/tk
new file mode 100644
index 0000000..795413a
--- /dev/null
+++ b/resources/espeak-ng-data/lang/trk/tk
@@ -0,0 +1,2 @@
+name Turkmen
+language tk
diff --git a/resources/espeak-ng-data/lang/trk/tr b/resources/espeak-ng-data/lang/trk/tr
new file mode 100644
index 0000000..1d5cbc4
--- /dev/null
+++ b/resources/espeak-ng-data/lang/trk/tr
@@ -0,0 +1,2 @@
+name Turkish
+language tr
diff --git a/resources/espeak-ng-data/lang/trk/tt b/resources/espeak-ng-data/lang/trk/tt
new file mode 100644
index 0000000..10ebba4
--- /dev/null
+++ b/resources/espeak-ng-data/lang/trk/tt
@@ -0,0 +1,2 @@
+name Tatar
+language tt
diff --git a/resources/espeak-ng-data/lang/trk/ug b/resources/espeak-ng-data/lang/trk/ug
new file mode 100644
index 0000000..f81b44f
--- /dev/null
+++ b/resources/espeak-ng-data/lang/trk/ug
@@ -0,0 +1,2 @@
+name Uyghur
+language ug
diff --git a/resources/espeak-ng-data/lang/trk/uz b/resources/espeak-ng-data/lang/trk/uz
new file mode 100644
index 0000000..b1a7586
--- /dev/null
+++ b/resources/espeak-ng-data/lang/trk/uz
@@ -0,0 +1,4 @@
+name Uzbek
+language uz
+
+status testing
diff --git a/resources/espeak-ng-data/lang/urj/et b/resources/espeak-ng-data/lang/urj/et
new file mode 100644
index 0000000..096565f
--- /dev/null
+++ b/resources/espeak-ng-data/lang/urj/et
@@ -0,0 +1,10 @@
+name Estonian
+language et
+
+stressAmp 18 16 22 22 20 22 22 22
+stressLength 150 180 200 200 0 0 210 250
+stressOpt 1 2 4 6 // (S_NO_DIM + S_FINAL_DIM = S_FINAL_DIM_ONLY), S_FINAL_NO_2, S_2_TO_HEAVY
+stressRule 0
+
+intonation 3
+spellingStress
diff --git a/resources/espeak-ng-data/lang/urj/fi b/resources/espeak-ng-data/lang/urj/fi
new file mode 100644
index 0000000..fe2447c
--- /dev/null
+++ b/resources/espeak-ng-data/lang/urj/fi
@@ -0,0 +1,11 @@
+name Finnish
+language fi
+
+
+stressAmp 18 16 22 22 20 22 22 22
+stressLength 150 180 200 200 0 0 210 250
+stressOpt 1 2 4 6 // (S_NO_DIM + S_FINAL_DIM = S_FINAL_DIM_ONLY), S_FINAL_NO_2, S_2_TO_HEAVY
+stressRule 0
+
+intonation 3
+spellingStress
diff --git a/resources/espeak-ng-data/lang/urj/hu b/resources/espeak-ng-data/lang/urj/hu
new file mode 100644
index 0000000..f5bb295
--- /dev/null
+++ b/resources/espeak-ng-data/lang/urj/hu
@@ -0,0 +1,7 @@
+name Hungarian
+language hu
+brackets 0
+bracketsAnnounced 0
+pitch 81 117
+
+
diff --git a/resources/espeak-ng-data/lang/urj/smj b/resources/espeak-ng-data/lang/urj/smj
new file mode 100644
index 0000000..316559c
--- /dev/null
+++ b/resources/espeak-ng-data/lang/urj/smj
@@ -0,0 +1,4 @@
+name Lule Saami
+language smj
+
+status testing
diff --git a/resources/espeak-ng-data/lang/zle/be b/resources/espeak-ng-data/lang/zle/be
new file mode 100644
index 0000000..174b6a3
--- /dev/null
+++ b/resources/espeak-ng-data/lang/zle/be
@@ -0,0 +1,5 @@
+name Belarusian
+language be
+replace 03 a a#
+dict_min 20000
+speed 95
diff --git a/resources/espeak-ng-data/lang/zle/ru b/resources/espeak-ng-data/lang/zle/ru
new file mode 100644
index 0000000..f5a75fc
--- /dev/null
+++ b/resources/espeak-ng-data/lang/zle/ru
@@ -0,0 +1,5 @@
+name Russian
+language ru
+replace 03 a a#
+dict_min 20000
+speed 95
diff --git a/resources/espeak-ng-data/lang/zle/ru-LV b/resources/espeak-ng-data/lang/zle/ru-LV
new file mode 100644
index 0000000..fc9541b
--- /dev/null
+++ b/resources/espeak-ng-data/lang/zle/ru-LV
@@ -0,0 +1,16 @@
+name Russian (Latvia)
+language ru-lv 2
+
+maintainer Valdis Vitolins
+status testing
+
+phonemes ru-lv
+dictrules 2
+dict_min 20000
+speed 95
+
+words 0 2
+tone 150 220 450 255 750 20 3500 255
+stressAmp 12 10 8 8 0 0 16 17
+stressLength 160 140 200 140 0 0 240 160
+
diff --git a/resources/espeak-ng-data/lang/zle/uk b/resources/espeak-ng-data/lang/zle/uk
new file mode 100644
index 0000000..a9c5366
--- /dev/null
+++ b/resources/espeak-ng-data/lang/zle/uk
@@ -0,0 +1,3 @@
+name Ukrainian
+language uk
+status testing
diff --git a/resources/espeak-ng-data/lang/zls/bg b/resources/espeak-ng-data/lang/zls/bg
new file mode 100644
index 0000000..870c042
--- /dev/null
+++ b/resources/espeak-ng-data/lang/zls/bg
@@ -0,0 +1,5 @@
+name Bulgarian
+language bg
+
+stressAmp 13 12 17 17 20 22 22 21
+stressLength 180 170 200 200 200 200 210 220
diff --git a/resources/espeak-ng-data/lang/zls/bs b/resources/espeak-ng-data/lang/zls/bs
new file mode 100644
index 0000000..01fd174
--- /dev/null
+++ b/resources/espeak-ng-data/lang/zls/bs
@@ -0,0 +1,14 @@
+name Bosnian
+language bs
+phonemes hr
+
+pitch 81 120
+formant 0 100 100 100
+formant 1 97 97 100
+formant 2 97 97 100
+formant 3 97 102 100
+formant 4 97 102 100
+formant 5 97 102 100
+
+stressAdd 10 10 0 0 0 0 -30 -30
+dictrules 3 4
diff --git a/resources/espeak-ng-data/lang/zls/hr b/resources/espeak-ng-data/lang/zls/hr
new file mode 100644
index 0000000..d1cae3a
--- /dev/null
+++ b/resources/espeak-ng-data/lang/zls/hr
@@ -0,0 +1,15 @@
+name Croatian
+language hr
+language hbs
+
+// attributes towards !variant3
+pitch 81 120
+formant 0 100 100 100
+formant 1 97 97 100
+formant 2 97 97 100
+formant 3 97 102 100
+formant 4 97 102 100
+formant 5 97 102 100
+
+stressAdd 10 10 0 0 0 0 -30 -30
+dictrules 1
diff --git a/resources/espeak-ng-data/lang/zls/mk b/resources/espeak-ng-data/lang/zls/mk
new file mode 100644
index 0000000..380c20b
--- /dev/null
+++ b/resources/espeak-ng-data/lang/zls/mk
@@ -0,0 +1,2 @@
+name Macedonian
+language mk
diff --git a/resources/espeak-ng-data/lang/zls/sl b/resources/espeak-ng-data/lang/zls/sl
new file mode 100644
index 0000000..b7bf01f
--- /dev/null
+++ b/resources/espeak-ng-data/lang/zls/sl
@@ -0,0 +1,4 @@
+name Slovenian
+language sl
+
+status testing
diff --git a/resources/espeak-ng-data/lang/zls/sr b/resources/espeak-ng-data/lang/zls/sr
new file mode 100644
index 0000000..81e3390
--- /dev/null
+++ b/resources/espeak-ng-data/lang/zls/sr
@@ -0,0 +1,13 @@
+name Serbian
+language sr
+
+// attributes towards !variant3 pitch 80 120
+formant 0 100 100 100
+formant 1 97 97 100
+formant 2 97 97 100
+formant 3 97 102 100
+formant 4 97 102 100
+formant 5 97 102 100
+
+stressAdd 10 10 0 0 0 0 -30 -30
+dictrules 2 4
diff --git a/resources/espeak-ng-data/lang/zlw/cs b/resources/espeak-ng-data/lang/zlw/cs
new file mode 100644
index 0000000..5c3bf2a
--- /dev/null
+++ b/resources/espeak-ng-data/lang/zlw/cs
@@ -0,0 +1,2 @@
+name Czech
+language cs
diff --git a/resources/espeak-ng-data/lang/zlw/pl b/resources/espeak-ng-data/lang/zlw/pl
new file mode 100644
index 0000000..b85f56b
--- /dev/null
+++ b/resources/espeak-ng-data/lang/zlw/pl
@@ -0,0 +1,4 @@
+name Polish
+language pl
+
+intonation 2
diff --git a/resources/espeak-ng-data/lang/zlw/sk b/resources/espeak-ng-data/lang/zlw/sk
new file mode 100644
index 0000000..e849e61
--- /dev/null
+++ b/resources/espeak-ng-data/lang/zlw/sk
@@ -0,0 +1,2 @@
+name Slovak
+language sk
diff --git a/resources/espeak-ng-data/mbrola_ph/af1_phtrans b/resources/espeak-ng-data/mbrola_ph/af1_phtrans
new file mode 100644
index 0000000..07970c8
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/af1_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/ar1_phtrans b/resources/espeak-ng-data/mbrola_ph/ar1_phtrans
new file mode 100644
index 0000000..395d494
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/ar1_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/ar2_phtrans b/resources/espeak-ng-data/mbrola_ph/ar2_phtrans
new file mode 100644
index 0000000..14bcc40
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/ar2_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/ca_phtrans b/resources/espeak-ng-data/mbrola_ph/ca_phtrans
new file mode 100644
index 0000000..f7f0ebe
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/ca_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/cmn_phtrans b/resources/espeak-ng-data/mbrola_ph/cmn_phtrans
new file mode 100644
index 0000000..7f2c182
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/cmn_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/cr1_phtrans b/resources/espeak-ng-data/mbrola_ph/cr1_phtrans
new file mode 100644
index 0000000..aedd849
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/cr1_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/cs_phtrans b/resources/espeak-ng-data/mbrola_ph/cs_phtrans
new file mode 100644
index 0000000..1c6106e
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/cs_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/de2_phtrans b/resources/espeak-ng-data/mbrola_ph/de2_phtrans
new file mode 100644
index 0000000..18f56b7
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/de2_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/de4_phtrans b/resources/espeak-ng-data/mbrola_ph/de4_phtrans
new file mode 100644
index 0000000..22e3cbc
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/de4_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/de6_phtrans b/resources/espeak-ng-data/mbrola_ph/de6_phtrans
new file mode 100644
index 0000000..4ab7b9a
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/de6_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/de8_phtrans b/resources/espeak-ng-data/mbrola_ph/de8_phtrans
new file mode 100644
index 0000000..e9a6e36
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/de8_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/ee1_phtrans b/resources/espeak-ng-data/mbrola_ph/ee1_phtrans
new file mode 100644
index 0000000..2faa30d
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/ee1_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/en1_phtrans b/resources/espeak-ng-data/mbrola_ph/en1_phtrans
new file mode 100644
index 0000000..3333184
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/en1_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/es3_phtrans b/resources/espeak-ng-data/mbrola_ph/es3_phtrans
new file mode 100644
index 0000000..44dc8ef
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/es3_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/es4_phtrans b/resources/espeak-ng-data/mbrola_ph/es4_phtrans
new file mode 100644
index 0000000..069c902
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/es4_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/es_phtrans b/resources/espeak-ng-data/mbrola_ph/es_phtrans
new file mode 100644
index 0000000..06afe3e
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/es_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/fr_phtrans b/resources/espeak-ng-data/mbrola_ph/fr_phtrans
new file mode 100644
index 0000000..ff4364f
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/fr_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/gr1_phtrans b/resources/espeak-ng-data/mbrola_ph/gr1_phtrans
new file mode 100644
index 0000000..1e546eb
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/gr1_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/gr2_phtrans b/resources/espeak-ng-data/mbrola_ph/gr2_phtrans
new file mode 100644
index 0000000..8c50553
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/gr2_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/grc-de6_phtrans b/resources/espeak-ng-data/mbrola_ph/grc-de6_phtrans
new file mode 100644
index 0000000..d4ac25f
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/grc-de6_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/he_phtrans b/resources/espeak-ng-data/mbrola_ph/he_phtrans
new file mode 100644
index 0000000..f0e3351
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/he_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/hn1_phtrans b/resources/espeak-ng-data/mbrola_ph/hn1_phtrans
new file mode 100644
index 0000000..3d4ed4f
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/hn1_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/hu1_phtrans b/resources/espeak-ng-data/mbrola_ph/hu1_phtrans
new file mode 100644
index 0000000..25ff1ec
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/hu1_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/ic1_phtrans b/resources/espeak-ng-data/mbrola_ph/ic1_phtrans
new file mode 100644
index 0000000..73eac5b
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/ic1_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/id1_phtrans b/resources/espeak-ng-data/mbrola_ph/id1_phtrans
new file mode 100644
index 0000000..dec220c
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/id1_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/in_phtrans b/resources/espeak-ng-data/mbrola_ph/in_phtrans
new file mode 100644
index 0000000..4d6db4e
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/in_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/ir1_phtrans b/resources/espeak-ng-data/mbrola_ph/ir1_phtrans
new file mode 100644
index 0000000..4c5290b
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/ir1_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/it1_phtrans b/resources/espeak-ng-data/mbrola_ph/it1_phtrans
new file mode 100644
index 0000000..d21538f
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/it1_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/it3_phtrans b/resources/espeak-ng-data/mbrola_ph/it3_phtrans
new file mode 100644
index 0000000..3b653fa
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/it3_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/jp_phtrans b/resources/espeak-ng-data/mbrola_ph/jp_phtrans
new file mode 100644
index 0000000..8bc4442
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/jp_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/la1_phtrans b/resources/espeak-ng-data/mbrola_ph/la1_phtrans
new file mode 100644
index 0000000..2acf933
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/la1_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/lt_phtrans b/resources/espeak-ng-data/mbrola_ph/lt_phtrans
new file mode 100644
index 0000000..ea4e232
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/lt_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/ma1_phtrans b/resources/espeak-ng-data/mbrola_ph/ma1_phtrans
new file mode 100644
index 0000000..d8a7feb
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/ma1_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/mx1_phtrans b/resources/espeak-ng-data/mbrola_ph/mx1_phtrans
new file mode 100644
index 0000000..4cb2fe3
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/mx1_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/mx2_phtrans b/resources/espeak-ng-data/mbrola_ph/mx2_phtrans
new file mode 100644
index 0000000..6d71e0d
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/mx2_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/nl_phtrans b/resources/espeak-ng-data/mbrola_ph/nl_phtrans
new file mode 100644
index 0000000..1cc10c8
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/nl_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/nz1_phtrans b/resources/espeak-ng-data/mbrola_ph/nz1_phtrans
new file mode 100644
index 0000000..b7699ab
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/nz1_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/pl1_phtrans b/resources/espeak-ng-data/mbrola_ph/pl1_phtrans
new file mode 100644
index 0000000..eb7013e
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/pl1_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/pt1_phtrans b/resources/espeak-ng-data/mbrola_ph/pt1_phtrans
new file mode 100644
index 0000000..a615e2e
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/pt1_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/ptbr4_phtrans b/resources/espeak-ng-data/mbrola_ph/ptbr4_phtrans
new file mode 100644
index 0000000..8b0dfb4
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/ptbr4_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/ptbr_phtrans b/resources/espeak-ng-data/mbrola_ph/ptbr_phtrans
new file mode 100644
index 0000000..76d6f31
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/ptbr_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/ro1_phtrans b/resources/espeak-ng-data/mbrola_ph/ro1_phtrans
new file mode 100644
index 0000000..ba6febf
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/ro1_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/sv2_phtrans b/resources/espeak-ng-data/mbrola_ph/sv2_phtrans
new file mode 100644
index 0000000..7ac6b90
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/sv2_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/sv_phtrans b/resources/espeak-ng-data/mbrola_ph/sv_phtrans
new file mode 100644
index 0000000..f61ce6b
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/sv_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/tl1_phtrans b/resources/espeak-ng-data/mbrola_ph/tl1_phtrans
new file mode 100644
index 0000000..7f1ff66
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/tl1_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/tr1_phtrans b/resources/espeak-ng-data/mbrola_ph/tr1_phtrans
new file mode 100644
index 0000000..00f6401
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/tr1_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/us3_phtrans b/resources/espeak-ng-data/mbrola_ph/us3_phtrans
new file mode 100644
index 0000000..07766da
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/us3_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/us_phtrans b/resources/espeak-ng-data/mbrola_ph/us_phtrans
new file mode 100644
index 0000000..80ebdad
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/us_phtrans differ
diff --git a/resources/espeak-ng-data/mbrola_ph/vz_phtrans b/resources/espeak-ng-data/mbrola_ph/vz_phtrans
new file mode 100644
index 0000000..75a6a13
Binary files /dev/null and b/resources/espeak-ng-data/mbrola_ph/vz_phtrans differ
diff --git a/resources/espeak-ng-data/phondata b/resources/espeak-ng-data/phondata
new file mode 100644
index 0000000..4130be7
Binary files /dev/null and b/resources/espeak-ng-data/phondata differ
diff --git a/resources/espeak-ng-data/phondata-manifest b/resources/espeak-ng-data/phondata-manifest
new file mode 100644
index 0000000..2c4d5b3
--- /dev/null
+++ b/resources/espeak-ng-data/phondata-manifest
@@ -0,0 +1,987 @@
+# This file lists the type of data that has been compiled into the
+# phondata file
+#
+# The first character of a line indicates the type of data:
+# S - A SPECT_SEQ structure
+# W - A wavefile segment
+# E - An envelope
+#
+# Address is the displacement within phondata of this item
+#
+# Address Data file
+# ------- ---------
+W 0x00008 ustop/null
+S 0x00158 vowel/@
+S 0x0021c vowel/@-
+S 0x002e0 vowel/a
+S 0x003e4 vowel/e
+S 0x004e8 vowel/i
+S 0x005ec vowel/oo
+S 0x006f0 vowel/u
+S 0x007f4 klatt/m-syl
+S 0x008f8 m/m-syl
+S 0x009bc klatt/n-syl
+S 0x00ac0 n/n-syl
+S 0x00b84 nn/nn-syl
+W 0x00cc8 ustop/percus10
+S 0x00ed4 vowelr/r-voc
+S 0x01018 vwl_hi/l-voc
+S 0x0111c r/r@
+S 0x011e0 r/ra
+S 0x012a4 r/re
+S 0x01368 r/ri
+S 0x0142c r/ro
+S 0x014f0 r/ru
+S 0x015b4 r/xr
+S 0x01638 r/_r
+S 0x016fc r/tr
+S 0x01780 r/r
+S 0x01844 r3/r_n
+W 0x018c8 r3/rx
+S 0x02c20 r/trr
+S 0x02ce4 r/rr
+S 0x02da8 r3/r_
+S 0x02e2c r3/r_trill2
+W 0x02ef0 r3/r_trill2.wav
+S 0x035fc r3/r_trill
+W 0x03700 r3/r_trill.wav
+W 0x0416c r3/r_trill3.wav
+S 0x045b0 r3/r_uvl
+W 0x046b4 r3/r_uvl.wav
+S 0x055bc l/l@
+S 0x05680 l/la
+S 0x05704 l/le
+S 0x05788 l/li
+S 0x0584c l/lo
+S 0x05950 l/lu
+S 0x05a14 l/L1_@L
+S 0x05b18 l/L1_aL
+S 0x05c1c l/L1_eL
+S 0x05ce0 l/L1_iL
+S 0x05de4 l/L1_oL
+S 0x05f28 l/L1_uL
+S 0x0602c l/l_
+S 0x060b0 l/xl
+S 0x06134 l/_l
+S 0x061f8 l/tl
+S 0x0627c l/l_long
+S 0x06300 l/l
+S 0x06384 l/L2_eL
+S 0x06448 l/L2_uL
+S 0x0654c l/L2_@L
+S 0x06650 l/L2_aL
+S 0x06754 l/L2_iL
+S 0x06858 l/L2_oL
+S 0x0699c l/l_@
+S 0x06a20 l/l_a
+S 0x06aa4 l/l_e
+S 0x06b28 l/l_i
+S 0x06bec l/l_o
+S 0x06cb0 l/l_u
+S 0x06d34 l^/j2@
+S 0x06df8 l^/j2a
+S 0x06ebc l^/j2e
+S 0x06f80 l^/j2i
+S 0x07044 l^/j2o
+S 0x07148 l^/j2u
+S 0x0724c l^/_l^
+S 0x07350 l^/l^
+S 0x07454 l^/l_rfx
+S 0x07518 ll/xll
+S 0x075dc ll/_ll
+S 0x076e0 ll/ll
+S 0x077a4 w/w@
+S 0x07868 w/wa
+S 0x0792c w/we
+S 0x079f0 w/wi
+S 0x07ab4 w/wo
+S 0x07b78 w/wu
+S 0x07c3c w/xw
+S 0x07cc0 w/w
+S 0x07d44 w/_w
+S 0x07e08 w/iw_
+S 0x07f0c w/w_
+S 0x07fd0 j/j@
+S 0x080d4 j/ja
+S 0x081d8 j/je
+S 0x082dc j/ji
+S 0x083a0 j/jo
+S 0x084e4 j/ju
+S 0x085a8 j/xj
+S 0x0862c j/_j
+S 0x086b0 j/j_
+S 0x08774 j2/j2@
+S 0x08838 j2/j2a
+S 0x088fc j2/j2e
+S 0x089c0 j2/j2i
+S 0x08a84 j2/j2o
+S 0x08b88 j2/j2u
+S 0x08c4c j2/xj2
+S 0x08cd0 j2/_j2
+S 0x08d54 klatt/m_
+S 0x08e58 klatt/m
+S 0x08f5c m/m@
+S 0x09060 m/ma
+S 0x09164 m/me
+S 0x09268 m/mi
+S 0x093ac m/mo
+S 0x094b0 m/mu
+S 0x095b4 m/mj
+S 0x09678 m/_m
+S 0x096fc m/m_
+S 0x097c0 klatt/n
+S 0x098c4 n/n@
+S 0x099c8 n/na
+S 0x09acc n/ne
+S 0x09bd0 n/ni
+S 0x09cd4 n/no
+S 0x09dd8 n/nu
+S 0x09edc n/nj
+S 0x09fa0 n/_n
+S 0x0a024 n/n_
+S 0x0a0e8 klatt/nr
+S 0x0a1ec n/nr@
+S 0x0a2f0 n/nra
+S 0x0a3f4 n/nre
+S 0x0a4f8 n/nri
+S 0x0a5fc n/nro
+S 0x0a700 n/nru
+S 0x0a804 n/_nr
+S 0x0a888 n/nr_
+S 0x0a94c klatt/n^@
+S 0x0a9d0 klatt/n^
+S 0x0aad4 n^/n^@
+S 0x0ac58 n^/n^a
+S 0x0ad9c n^/n^e
+S 0x0af20 n^/n^i
+S 0x0b0a4 n^/n^o
+S 0x0b268 n^/n^u
+S 0x0b3ec n^/_n^
+S 0x0b470 n^/n^_
+S 0x0b5b4 klatt/nn_
+S 0x0b6b8 klatt/nn
+S 0x0b7bc nn/nn@
+S 0x0b880 nn/nna
+S 0x0b944 nn/nne
+S 0x0ba08 nn/nni
+S 0x0bacc nn/nno
+S 0x0bb90 nn/nnu
+S 0x0bc54 nn/inn
+S 0x0bd18 nn/nnj
+S 0x0bd9c nn/_nn
+S 0x0be20 nn/nn_
+S 0x0bee4 r3/@tap2
+S 0x0c028 r3/@tap
+S 0x0c16c d/tap1
+S 0x0c230 d/tap3
+S 0x0c334 d/dr
+S 0x0c3b8 r3/@tap_rfx_
+S 0x0c4fc r3/@tap_rfx
+S 0x0c640 b/xb
+S 0x0c704 klatt/b
+W 0x0c7c8 x/b_
+W 0x0cbe0 x/b
+S 0x0cd44 b/b_
+S 0x0ce08 b/b@2
+S 0x0cf0c b/b@
+S 0x0d010 b/ba
+S 0x0d114 b/be
+S 0x0d218 b/bi
+S 0x0d31c b/bo
+S 0x0d420 b/bu
+S 0x0d524 b/b
+S 0x0d628 d/xd
+S 0x0d6ec d/d_
+W 0x0d7b0 x/d_
+S 0x0dbd8 d/d
+W 0x0dc9c x/d
+W 0x0deb8 x/d_dnt
+S 0x0e19c dzh/xdzh
+S 0x0e260 dzh/dzh_
+W 0x0e324 x/dzh_
+S 0x0ed5c dzh/dzh
+W 0x0ee20 x/dzh
+W 0x0f22c x/dz_pzd
+S 0x0f68c dzh/xdz_pzd
+S 0x0f750 klatt/dz_pzd_
+S 0x0f814 klatt/dz_pzd
+S 0x0f8d8 dzh/dz_pzd_
+S 0x0f99c dzh/dz_pzd
+S 0x0fa60 g/xg
+S 0x0fb24 g/g_
+W 0x0fbe8 x/g_
+S 0x0ffa8 g/g
+W 0x1006c x/g2
+S 0x102f4 klatt/v_
+W 0x103b8 vocw/v
+S 0x10cb8 klatt/bh
+S 0x10d7c voc/v_
+S 0x10e40 voc/bh
+S 0x10f04 klatt/v
+S 0x10fc8 voc/v
+S 0x110cc voc/v#_
+S 0x11190 voc/v#
+S 0x11294 voc/dh_
+W 0x11358 vocw/dh
+S 0x11c60 voc/dh
+S 0x11d24 voc/z_
+W 0x11de8 ufric/s_
+S 0x1289c voc/z
+S 0x12960 klatt/zh_
+W 0x12a24 vocw/zh
+S 0x1338c klatt/zh
+S 0x13450 voc/zh_
+S 0x13514 voc/zh
+W 0x135d8 vocw/zh_rfx
+S 0x13e68 voc/z_pzd_
+W 0x13f2c ufric/s_pzd_
+S 0x14a30 voc/z_pzd
+W 0x14af4 ufric/s_pzd
+W 0x1542c ufric/sh_pzd_
+W 0x15ef4 ufric/sh_pzd
+S 0x16828 voc/j
+W 0x1692c ufric/ch
+S 0x17044 klatt/qqh_
+W 0x17108 vocw/Q_
+S 0x17914 klatt/qqh
+W 0x179d8 vocw/Q
+S 0x181e4 voc/Q_
+S 0x182a8 voc/Q
+S 0x1836c voc/Q_ulv
+W 0x18470 ufric/xx
+W 0x18f6c ustop/p_
+W 0x1977c ustop/pr
+W 0x19bc4 ustop/p_unasp
+W 0x19ef0 ustop/pl
+W 0x1a2e8 ustop/p
+W 0x1a658 ustop/t_
+W 0x1ab18 ustop/tr
+W 0x1b278 ustop/t_dnt
+W 0x1b688 ustop/t
+W 0x1babc ustop/t_hi
+W 0x1bd88 ustop/tsh_
+W 0x1c6c8 ustop/tsh
+W 0x1cd08 ustop/ts_pzd
+W 0x1d40c ustop/t_pzd
+W 0x1d858 ustop/c
+W 0x1db08 ustop/k_
+W 0x1dfc4 ustop/kr
+W 0x1e604 ustop/ki
+W 0x1ebcc ustop/kl
+W 0x1f1fc ustop/k_unasp
+W 0x1f6d0 ustop/k
+W 0x1fba4 ustop/q
+W 0x1fd10 ustop/q_u
+W 0x1fe30 ufric/f_
+W 0x20900 ufric/f
+W 0x210f0 ufric/th_
+W 0x21970 ufric/th
+W 0x22208 ufric/s!
+W 0x22ab8 ufric/s
+W 0x23258 ufric/sh_
+W 0x23d08 ufric/sh
+W 0x246b8 ufric/sh_rfx
+W 0x25054 ufric/l#
+W 0x25a98 ufric/ch_
+W 0x263c0 ufric/x_
+W 0x26f1c ufric/x_hr
+W 0x27830 h/h@
+W 0x27d84 h/ha
+W 0x28400 h/he
+W 0x28a94 h/hi
+W 0x2902c h/ho
+W 0x296e8 h/hu
+W 0x29e0c h/h_
+W 0x2a4b8 ustop/ts_
+W 0x2ae18 ustop/ts
+S 0x2b874 d/xdz
+W 0x2b938 ustop/p_unasp_
+W 0x2ba74 ustop/p_asp
+W 0x2bf78 ustop/t_short
+W 0x2c1bc ustop/ts_pzd_
+W 0x2c680 ustop/ts_pzd2
+W 0x2c9b4 ustop/k_asp
+W 0x2d0b8 ustop/k_asp_e
+W 0x2d820 ustop/k_asp_a
+W 0x2e0a4 ufric/s_continue
+S 0x2e854 vowel/a#
+S 0x2e958 vowel/a_2
+S 0x2ea5c vowel/ee_1
+S 0x2eba0 vowel/o
+S 0x2ece4 vowel/oo_4
+S 0x2ede8 vowel/u_bck
+S 0x2eeec vowel/uu_2
+S 0x2eff0 vowel/y
+S 0x2f134 vowel/y#
+S 0x2f238 vdiph/au_4
+S 0x2f3bc vdiph/eu
+S 0x2f500 vdiph2/iu
+S 0x2f684 vdiph/ai
+S 0x2f7c8 vdiph/ei
+S 0x2f90c vdiph/eei
+S 0x2fa90 vdiph/oi
+S 0x2fc54 vdiph/ui
+S 0x2fd98 w/w2
+W 0x2fe5c ustop/t_dnt2
+S 0x300b4 vowel/ii_5
+S 0x301b8 vowel/e_mid2
+S 0x302bc vowel/ii#_2
+S 0x303c0 vdiph/ai_5
+S 0x30504 vowel/a_6
+S 0x30608 vdiph/@i_2
+S 0x3074c vowel/@_3
+S 0x30810 vowel/o-_4
+S 0x30914 vowel/u_2
+W 0x30a18 ustop/tsh_unasp
+W 0x30ed8 ustop/k_ejc
+W 0x31688 vwl_ar/hah
+W 0x325ec vwl_ar/dhad
+W 0x3364c vwl_ar/shin
+S 0x34428 vowel/aa_7
+S 0x3452c vowel/u_7
+S 0x34630 vowel/ii#
+S 0x34734 vowel/oe
+S 0x34838 vowel/o_mid
+S 0x3493c vowel/@_2
+S 0x34a40 vowel/ee
+S 0x34b44 vowel/aa_8
+S 0x34c48 vowel/0_3
+S 0x34d4c vowel/e_6
+S 0x34e50 vowel/ii
+E 0x34f54 envelope/i_risefall
+E 0x34fd4 envelope/p_fall
+E 0x35054 envelope/p_214
+E 0x350d4 envelope/p_rise
+E 0x35154 envelope/p_level
+S 0x351d4 n/n_long_
+S 0x35298 nn/nn2_
+W 0x3535c ustop/t_unasp2
+W 0x35468 ustop/k_unasp_
+W 0x35724 ustop/tsh_pzd_unasp
+W 0x35f74 ustop/tsh_pzd
+W 0x36ab4 ufric/sh_pzd2
+W 0x37604 ustop/ts_unasp
+W 0x37e7c ustop/ts_rfx_unasp
+W 0x38a68 ustop/ts_rfx
+S 0x39748 vwl_zh/a_n
+S 0x3984c vowel/aa_2
+S 0x399d0 vowel/a_3
+S 0x39ad4 vdiph/ai_6
+S 0x39c98 vwl_zh/aau
+S 0x39ddc vowel/@_bck
+S 0x39ee0 vowel/3_2
+S 0x3a024 vowelr/V3_r
+S 0x3a168 vowel/ee_2
+S 0x3a26c vdiph2/ei_4
+S 0x3a3b0 vowel/ii_2
+S 0x3a4b4 vowel/i#_7
+S 0x3a5b8 vowel/i#_6
+S 0x3a6bc vwl_zh/iaa
+S 0x3a800 vwl_zh/iaau
+S 0x3a984 vwl_zh/ie
+S 0x3aac8 vdiph2/iioo
+S 0x3ac0c vwl_zh/iou
+S 0x3ad90 vnasal/oo_n2
+S 0x3aed4 vdiph2/o_oo
+S 0x3b018 vowel/8
+S 0x3b11c vdiph/8u
+S 0x3b260 vwl_zh/ong
+S 0x3b3e4 vnasal/u_n
+S 0x3b4e8 vwl_zh/uaa
+S 0x3b62c vdiph2/oa
+S 0x3b770 vwl_zh/uai
+S 0x3b8f4 vdiph2/o@
+S 0x3ba78 vwl_zh/uei
+S 0x3bbfc vwl_zh/uo
+S 0x3bd80 vowel/uu_3
+S 0x3be44 vowel/y_2
+S 0x3bf88 vdiph2/yu
+S 0x3c10c vwl_zh/y&
+S 0x3c250 vwl_zh/yee
+S 0x3c394 vdiph2/y@
+S 0x3c4d8 vdiph/yi
+S 0x3c61c vowel/ii_3
+S 0x3c720 vowel/oo_2
+S 0x3c824 vowel/i#
+S 0x3c928 vowel/o_2
+S 0x3ca6c vdiph/aai_2
+S 0x3cc30 vdiph/ai_2
+S 0x3cdf4 vdiph2/iu_4
+S 0x3cf38 vdiph/ooi
+S 0x3d0fc vdiph/ui_3
+S 0x3d280 vowel/a#_3
+S 0x3d384 r/a_
+S 0x3d448 vowel/i_4
+S 0x3d54c vowel/&
+S 0x3d650 vowel/a_8
+S 0x3d754 vowel/o_5
+S 0x3d858 vowel/V_4
+S 0x3d95c vowel/yy
+S 0x3da60 vowel/V
+S 0x3db64 r/aa
+S 0x3dc68 r2/r2@
+S 0x3dd2c r2/r2a
+S 0x3ddf0 r2/r2e
+S 0x3def4 r2/r2i
+S 0x3dfb8 r2/r2o
+S 0x3e07c r2/r2u
+S 0x3e140 vowel/@_6
+S 0x3e244 vwl_en/@L
+S 0x3e308 vowel/ee_5
+S 0x3e40c vowel/ii#_3
+S 0x3e510 vowel/ii_4
+S 0x3e614 vowel/ii_7
+S 0x3e718 vowel/0
+S 0x3e81c vowel/V_2
+S 0x3e920 vowel/8_2
+S 0x3ea24 vowel/uu
+S 0x3eb28 vowel/3_en
+S 0x3ec6c w/wi2
+S 0x3ed70 vowel/i_en
+S 0x3eeb4 vowel/oo_en
+S 0x3eff8 vwl_en/u_L
+S 0x3f13c vdiph2/uw_2
+S 0x3f280 vdiph/au
+S 0x3f404 vdiph/@u_en
+S 0x3f588 vdiph2/ii@
+S 0x3f70c vdiph2/8@
+S 0x3f850 vdiph2/uu@
+S 0x3f9d4 vwl_en/aI@
+S 0x3fb98 vwl_en/aU@
+S 0x3fd1c vowelr/V_r
+S 0x3fe60 vnasal/aa_n2
+S 0x3ffa4 vowel/oo_1
+S 0x400e8 vdiph/eei_2
+S 0x4022c vdiph/ooi_2
+S 0x403f0 vowel/aa_9
+S 0x404f4 vowel/aa
+S 0x405f8 vowel/e#
+S 0x406fc vowel/e_7
+S 0x40800 vowel/ee#_2
+S 0x40904 vowel/i_8
+S 0x40a08 vowel/i_7
+S 0x40b0c vowel/u_bck2
+S 0x40c10 vowel/u_bck3
+S 0x40d14 vowel/u_5
+S 0x40e18 vowel/8_7
+S 0x40f1c vowel/8_4
+S 0x41020 vdiph/&i
+S 0x41164 vdiph/@i
+W 0x412a8 ufric/s_pal
+S 0x41b5c d/xd_pzd
+W 0x41c20 x/d_pzd
+S 0x42034 vdiph/ou_2
+S 0x42178 vowel/aa#
+S 0x4227c vowel/uu_4
+S 0x42380 vdiph/aai_3
+S 0x42504 vdiph/y#i
+S 0x42648 vdiph/ui_4
+S 0x4278c vdiph/aau
+S 0x42910 vdiph/ou
+S 0x42a54 vdiph/eu_2
+S 0x42b98 vdiph2/iu_2
+S 0x42d1c vdiph/&y
+S 0x42e60 vdiph/eey
+S 0x42fa4 vdiph/y#y
+S 0x430e8 vdiph2/iy
+S 0x4322c vdiph2/uo
+S 0x43370 vdiph2/ie
+S 0x434b4 vdiph2/y-y#
+S 0x435f8 r3/r_trill_short
+W 0x436fc h/hu_fi
+S 0x43fec vowel/@_4
+S 0x440b0 vowel/ee_4
+S 0x441b4 vowel/u#_2
+S 0x442b8 vowel/oe_2
+S 0x443bc vwl_fr/y2r
+S 0x44440 vwl_fr/e_2r
+S 0x444c4 vwl_fr/aa2r
+S 0x44548 vwl_fr/ee2r
+S 0x4460c vwl_fr/oo2r
+S 0x446d0 vwl_fr/@2r
+S 0x44754 vwl_fr/a2r
+S 0x447d8 vwl_fr/e2r
+S 0x4485c vwl_fr/i2r
+S 0x448e0 vwl_fr/o2r
+S 0x44964 vwl_fr/u2r
+S 0x449e8 vwl_fr/re2
+S 0x44a6c vwl_fr/r@2
+S 0x44af0 vwl_fr/raa
+S 0x44b74 vwl_fr/ree
+S 0x44bf8 vwl_fr/ry
+S 0x44c7c vwl_fr/rw
+S 0x44d00 vwl_fr/roo
+S 0x44d84 vwl_fr/rj
+S 0x44e08 vwl_fr/r@
+S 0x44e8c vwl_fr/ra
+S 0x44f10 vwl_fr/re
+S 0x44f94 vwl_fr/ri
+S 0x45018 vwl_fr/ro
+S 0x4509c vwl_fr/ru
+S 0x45120 vwl_fr/r
+S 0x451a4 vwl_fr/trr
+S 0x45268 vwl_fr/rr
+S 0x452ec vwl_fr/r_@
+S 0x45370 vwl_fr/r_a
+S 0x453f4 vwl_fr/r_e
+S 0x45478 vwl_fr/r_i
+S 0x454fc vwl_fr/r_o
+S 0x45580 vwl_fr/r_u
+S 0x45604 vwl_fr/r_y
+S 0x45688 vwl_fr/r_n
+S 0x4574c vwl_fr/r_
+S 0x457d0 vwl_fr/tr
+S 0x458d4 vwl_fr/br
+S 0x459d8 vwl_fr/lo
+S 0x45a5c l/l_y
+S 0x45ae0 vowel/@_hgh
+S 0x45ba4 vowel/a_7
+S 0x45ca8 vowel/e_8
+S 0x45dac vowel/e_mid
+S 0x45eb0 vwl_fr/j
+S 0x45fb4 vowel/o_8
+S 0x460f8 vowel/o_mid2
+S 0x461fc vwl_fr/wa
+S 0x462c0 vnasal/aa_n4
+S 0x46404 vnasal/W_n
+S 0x46548 vnasal/o_n5
+S 0x4668c b/xbr
+S 0x46750 b/br
+S 0x467d4 d/xdr
+S 0x46898 g/xgr
+S 0x4695c g/gr
+W 0x46a20 x/g
+W 0x46ce0 ustop/t_short_
+S 0x46f6c vwl_af/r@
+S 0x47030 vwl_af/@
+S 0x470f4 vowel/a_4
+S 0x471f8 vdiph/@u_3
+S 0x4737c vdiph2/i@
+S 0x47540 vdiph2/u@
+S 0x476c4 vnasal/a#_n2
+S 0x477c8 vnasal/a_n
+S 0x4790c vnasal/e_n
+S 0x47a10 vnasal/i_n
+S 0x47b14 vnasal/o_n
+S 0x47c58 vowel/yy_4
+S 0x47d5c vowel/o-
+S 0x47e60 vwl_lv/a
+S 0x47f64 vwl_lv/aa
+S 0x48028 vwl_lv/e
+S 0x480ec vwl_lv/ee
+S 0x481b0 vwl_lv/i
+S 0x48274 vwl_lv/ii
+S 0x48338 vwl_lv/o
+S 0x483fc vwl_lv/oo
+S 0x484c0 vwl_lv/u
+S 0x48584 vwl_lv/uu
+S 0x48648 vdiph/aai
+S 0x487cc vdiph2/ie_2
+S 0x48910 vdiph2/ua
+S 0x48a14 vowel/@_low
+S 0x48ad8 vowel/V_3
+S 0x48bdc vowel/i_fnt
+S 0x48ce0 vowel/ii_6
+S 0x48da4 vowel/e_2
+S 0x48ea8 vdiph/ee-e
+S 0x48fec vowel/a_5
+S 0x490f0 vowel/uu_bck
+S 0x491f4 vnasal/i_n2
+S 0x492f8 vnasal/ii_n
+S 0x493fc vnasal/ee_n2
+S 0x49540 vnasal/V_n
+S 0x49644 vdiph/aau_3
+S 0x497c8 d/xd3
+W 0x4988c ustop/th_rfx2
+S 0x49e90 g2/xg
+W 0x49f54 ustop/percus02
+W 0x4a284 ustop/ts2
+S 0x4a754 vowel/y#_2
+S 0x4a858 vowel/e_3
+S 0x4a95c vowel/e_e
+S 0x4aa60 vowel/a#_2
+S 0x4ab64 vowel/oo_5
+S 0x4ac68 vowel/y##
+S 0x4ad6c vowel/y#_3
+S 0x4ae70 vdiph/ai_7
+S 0x4aff4 vdiph/ou_3
+S 0x4b0f8 vdiph/y#i_2
+S 0x4b23c m/m#_
+S 0x4b340 n/n#_
+S 0x4b444 n^/n^#_
+S 0x4b548 nn/nn#_
+W 0x4b64c ufric/tl#
+S 0x4bfb4 r3/r#_
+S 0x4c038 vowel/oo_3
+W 0x4c0fc ustop/k_asp_u
+W 0x4c92c ufric/x2
+S 0x4d284 vowel/aa_6
+S 0x4d3c8 vowel/u#_7
+S 0x4d4cc vowel/V_6
+W 0x4d5d0 ustop/t_unasp
+W 0x4d708 ustop/ts_pzd3
+S 0x4dd88 vowel/i_2
+S 0x4de8c vdiph/aau_2
+S 0x4dfd0 vdiph/ae
+S 0x4e114 vdiph/eeu_2
+S 0x4e258 vdiph/ae_2
+S 0x4e3dc vdiph/eei_5
+S 0x4e520 vwl_ru/ee
+S 0x4e664 vdiph2/ea
+S 0x4e7a8 vowel/i_3
+S 0x4e8ac vowel/i_6
+S 0x4e9b0 vdiph2/uaa
+S 0x4eb34 vdiph/eei_3
+S 0x4ec78 vwl_lv/e2
+S 0x4ed3c vwl_lv/ee2
+S 0x4ee00 vwl_lv/y
+S 0x4ef04 vwl_lv/yy
+S 0x4f008 vwl_lv/ai
+S 0x4f18c vwl_lv/au
+S 0x4f310 vwl_lv/ei
+S 0x4f454 vwl_lv/ie
+S 0x4f598 vwl_lv/iu
+S 0x4f71c vwl_lv/ui
+S 0x4f860 vwl_lv/ua
+S 0x4f964 vwl_lv/oi
+W 0x4fb28 h/h-lv
+S 0x504a8 l^/l^_
+W 0x505ac myanmar/k
+W 0x5149c myanmar/kh
+W 0x520b4 myanmar/g.wav
+S 0x52ef8 myanmar/ny
+W 0x530bc myanmar/s
+W 0x54258 myanmar/hs
+W 0x553f4 myanmar/z
+W 0x564dc myanmar/t_short
+W 0x5662c myanmar/ht
+W 0x571b4 myanmar/d
+W 0x57d28 myanmar/p
+W 0x58c54 myanmar/t_hi
+W 0x58f20 myanmar/h
+S 0x5a228 myanmar/yy
+S 0x5a42c myanmar/a
+S 0x5a4b0 myanmar/ky
+W 0x5a6f4 myanmar/by.wav
+W 0x5ac00 myanmar/ch.wav
+W 0x5b454 myanmar/gya.wav
+W 0x5c7d8 myanmar/htya.wav
+W 0x5db1c myanmar/phya.wav
+W 0x5e7d4 myanmar/pya.wav
+W 0x5fc58 myanmar/ty.wav
+W 0x60f18 myanmar/sh.wav
+S 0x61b2c myanmar/a01
+S 0x61c30 myanmar/a02
+S 0x61db4 myanmar/a03
+S 0x62038 myanmar/a04
+S 0x620fc myanmar/a05
+S 0x62200 myanmar/a06
+S 0x62584 myanmar/a07
+S 0x626c8 myanmar/a08
+S 0x6284c myanmar/a09
+S 0x62b50 myanmar/a11
+S 0x62cd4 myanmar/a12
+S 0x62f98 myanmar/a14
+S 0x6315c myanmar/a13
+S 0x633e0 myanmar/a17
+S 0x636a4 myanmar/a16
+S 0x639a8 myanmar/a20
+S 0x63b2c myanmar/a19
+S 0x63d70 myanmar/a21
+S 0x64034 myanmar/a23
+S 0x64138 myanmar/a22
+S 0x642bc myanmar/a24
+S 0x64600 myanmar/a29
+S 0x64744 myanmar/a28
+S 0x64988 myanmar/a30
+S 0x64d0c myanmar/a32
+S 0x64f50 myanmar/a31
+S 0x65214 myanmar/a33
+S 0x65318 myanmar/a35
+S 0x655dc myanmar/a34
+S 0x658a0 myanmar/a36
+S 0x65ba4 myanmar/a43
+S 0x65de8 myanmar/a42
+S 0x6602c myanmar/a44
+S 0x66430 myanmar/a49
+S 0x665b4 myanmar/a50
+S 0x66838 myanmar/a46
+S 0x66a3c myanmar/a45
+S 0x66c40 myanmar/a47
+S 0x66f44 myanmar/a25
+S 0x67088 myanmar/a26
+S 0x672cc myanmar/a27
+S 0x67490 myanmar/a37
+S 0x67654 myanmar/a38
+S 0x67798 myanmar/a39
+S 0x679dc myanmar/a40
+S 0x67b60 myanmar/a41
+S 0x67ce4 vowel/y_4
+S 0x67de8 vwl_no/y#
+S 0x67eec vwl_no/&
+S 0x67ff0 vwl_no/u#
+S 0x680f4 vwl_no/u#2
+S 0x68238 vdiph/0i_2
+S 0x683bc vdiph/ai_3
+S 0x68500 vwl_no/y#y
+S 0x68644 vwl_no/au-
+S 0x68808 vowel/ee#
+S 0x6890c vnasal/ee_u_n
+S 0x68a90 vnasal/oo_n3
+S 0x68c14 vowel/aa_3
+W 0x68d18 vocw/Q2
+W 0x695e4 ustop/tsh_asp
+W 0x6a24c x/g3
+S 0x6a434 vwl_ro/mi
+S 0x6a578 vwl_ru/ii-
+S 0x6a63c vwl_ru/ii
+S 0x6a740 vwl_ru/ii#
+S 0x6a804 vwl_ru/i#
+S 0x6a908 vwl_ru/e
+S 0x6aa0c vwl_ru/E#
+S 0x6ab10 vwl_ru/E@
+S 0x6ac14 vwl_ru/o
+S 0x6ad18 vwl_ru/oo
+S 0x6addc vwl_ru/u
+S 0x6aee0 vwl_ru/u#
+S 0x6b024 vwl_ru/u#u
+S 0x6b168 vwl_ru/8
+S 0x6b22c vwl_ru/ju
+S 0x6b330 vwl_ru/ja
+S 0x6b4b4 vwl_ru/a
+S 0x6b5b8 vwl_ru/aa
+S 0x6b6bc r3/r_ru2
+W 0x6b7c0 r3/r_ru
+S 0x6bac4 vwl_it/o_open
+S 0x6bbc8 vdiph/eeu
+S 0x6bd0c vdiph/au_2
+S 0x6be90 vdiph/ooi_3
+S 0x6c014 vdiph/aau_4
+S 0x6c198 vowel/8_6
+S 0x6c29c vdiph/ooi_4
+S 0x6c3e0 vdiph2/ye
+S 0x6c524 l/l_front_
+S 0x6c668 l/l_front
+S 0x6c76c l/l_4
+S 0x6c830 vowel/ee_6
+S 0x6c8f4 vowel/y_5
+S 0x6ca38 vowel/yy_3
+S 0x6cb3c vowel/oe_4
+S 0x6cc00 vowel/aa_4
+W 0x6cd04 ufric/sx_sv
+S 0x6d54c vowel/o_4
+W 0x6d650 ustop/t_hard
+W 0x6d890 ufric/sh3
+S 0x6e224 vwl_tn/r@
+S 0x6e2e8 vwl_tn/@
+S 0x6e3ac vwl_tn/I
+S 0x6e470 vdiph/i@_2
+S 0x6e5f4 vowel/0_2
+W 0x6e6f8 ufric/tlh
+E 0x6fc14 envelope/p_fallrise
+E 0x6fc94 envelope/vi_5amp
+E 0x6fd14 envelope/p_512
+E 0x6fd94 envelope/vi_6amp
+S 0x6fe14 vietnam/a_2
+S 0x6ff58 vietnam/aa
+S 0x7005c vietnam/e_e_2
+S 0x70160 vietnam/e
+S 0x70264 vietnam/e_short_1
+S 0x703e8 vietnam/i
+S 0x704ec vietnam/i_2
+S 0x705f0 vietnam/oo
+S 0x70734 vietnam/o_2
+S 0x70878 vietnam/u
+S 0x7097c vietnam/y_2
+S 0x70a80 vietnam/V_2
+S 0x70b84 vietnam/@_2
+S 0x70c88 vdiph/&i_2
+S 0x70dcc vdiph/u-i
+S 0x70f10 vdiph/@u
+S 0x71054 vdiph2/ii@_3
+S 0x711d8 vietnam/y@
+S 0x7131c vietnam/u@
+S 0x714a0 vietnam/o#
+S 0x715e4 vietnam/O_short_2
+S 0x71728 vietnam/oe
+S 0x7186c vietnam/ie
+S 0x719b0 vnasal/oi_n
+S 0x71b74 vdiph/@i_3
+S 0x71cb8 vowel/u_3
+W 0x71dbc vietnam/c_2
+W 0x722f8 vietnam/c
+S 0x72834 n/nm
+S 0x728f8 l/l_vi
+W 0x729fc vietnam/th
+W 0x72fec vietnam/tr
+W 0x732dc vietnam/dda_2
+W 0x737a8 vietnam/ch
+W 0x73d04 vietnam/w
+S 0x73f5c vietnam/_w
+S 0x74020 vietnam/w_
+S 0x740e4 vietnam/n^_
+W 0x74228 vietnam/hi
+W 0x74594 vietnam/hu
+S 0x74c18 vwl_zh/ang
+S 0x74e1c vwl_zh/aang
+S 0x75060 vwl_zh/eng
+S 0x75264 vwl_zh/ing
+S 0x754a8 vwl_zh/ng
+S 0x755ec vwl_zh/oeng
+S 0x757b0 vwl_zh/ung
+S 0x75934 vowel/8_3
+S 0x75a38 vdiph/y#y_2
+E 0x75bbc envelope/chr_fall21
+E 0x75c3c envelope/chr_level2
+E 0x75cbc envelope/chr_rise23
+E 0x75d3c envelope/chr_fall32
+E 0x75dbc envelope/chr_level3
+E 0x75e3c envelope/chr_rise4
+E 0x75ebc envelope/chr_fall43
+S 0x75f3c vnasal/a#_n
+W 0x76040 x/dz_pzd_
+S 0x76730 vwl_es/oo_
+S 0x767f4 vwl_es/ooi_
+S 0x76978 vwl_es/ooi
+S 0x76afc voc/v2
+W 0x76bc0 ufric/z_eu
+W 0x775c8 ufric/ts_eu
+W 0x77f70 ufric/tz_eu
+S 0x789dc vdiph/0i
+S 0x78ba0 vdiph/oou
+S 0x78ce4 vwl_it/a
+S 0x78de8 vwl_it/e_open
+S 0x78eec vwl_it/i
+S 0x78ff0 vwl_it/o
+S 0x79134 vwl_it/u
+S 0x79238 vowel/8_5
+S 0x7933c vowel/o_7
+S 0x79440 vdiph/eeu_3
+S 0x79584 vnasal/a#u_n
+S 0x796c8 vowel/ee_3
+S 0x7978c d/x_tap
+S 0x79850 d/tap2
+S 0x79914 vwl_ro/li
+S 0x79a18 vwl_ro/ni
+S 0x79b1c vwl_ro/ii-
+S 0x79be0 vowel/i#_5
+S 0x79ce4 vdiph/ii
+S 0x79ea8 vdiph/i#i
+S 0x79fec vdiph2/uw_3
+S 0x7a130 vdiph2/eo
+S 0x7a2b4 vdiph2/e_u
+S 0x7a3f8 d/tap_i
+S 0x7a4bc d/tap
+S 0x7a580 vowel/u#
+S 0x7a684 vowel/@_fr
+S 0x7a748 vowel/o-_2
+S 0x7a84c vowel/aa_5
+S 0x7a990 vwl_en_n/O@
+S 0x7aa94 vdiph2/uw_4
+S 0x7abd8 vdiph2/ee@
+S 0x7ad1c vowel/ii_final
+S 0x7ae20 vowel/o-_3
+S 0x7af24 vwl_en_rp/aa
+S 0x7b068 vowel/3_3
+S 0x7b1ac vowel/uu#_2
+S 0x7b2b0 vdiph/au_3
+S 0x7b434 vdiph/@u_2
+S 0x7b578 vdiph2/ei_2
+S 0x7b6bc vdiph2/ee@_2
+S 0x7b800 vwl_en_rp/i@
+S 0x7b984 vwl_en_rp/aU@
+S 0x7bb08 vowel/e_5
+S 0x7bc0c vowel/u#_4
+S 0x7bd10 vowelr/aa_r
+S 0x7bed4 vowelr/e_r
+S 0x7c058 vowel/i_5
+S 0x7c15c vwl_en_us/or
+S 0x7c2a0 vowelr/oo_r
+S 0x7c3a4 vdiph/au#
+S 0x7c4e8 vowel/o_3
+S 0x7c62c vwl_en/aI@_2
+S 0x7c7b0 vdiph2/e@
+S 0x7c8f4 vowelr/i_r
+S 0x7ca38 vdiph2/u#@
+S 0x7cb7c vwl_en/@L_2
+S 0x7cc80 vwl_en_us/3_us
+S 0x7cd84 vowel/@_low2
+S 0x7ce48 vwl_en_us/ar
+S 0x7cf8c vwl_en_us/a
+S 0x7d090 vwl_en_us/ee
+S 0x7d194 vwl_en_us/aar
+S 0x7d318 vwl_en_us/3_us2
+S 0x7d45c vwl_en_us/oor
+S 0x7d5e0 vdiph2/uw_6
+S 0x7d724 vdiph/aoo
+S 0x7d868 vwl_en_us/ai
+S 0x7d9ec vwl_en_us/er
+S 0x7db70 vwl_en_us/ir
+S 0x7dcf4 vwl_en_us/ur
+S 0x7de38 vwl_en_us/ai@
+S 0x7dfbc vwl_en_us/ai3
+S 0x7e1c0 vwl_en_us/aU@
+S 0x7e384 klatt/x_tap
+S 0x7e448 klatt/tap2
+S 0x7e50c vwl_en_us_nyc/a_raised
+S 0x7e610 vwl_en_us_nyc/a
+S 0x7e714 vwl_en_us_nyc/0_3
+S 0x7e818 vwl_en_us_nyc/aa_8
+S 0x7e91c vwl_en_us_nyc/@i
+S 0x7eae0 vowel/@_fnt
+S 0x7ebe4 vdiph2/ei_3
+S 0x7ed28 vdiph/Vu_2
+S 0x7eeac vdiph2/i@_2
+S 0x7f030 vwl_en/ooi@
+S 0x7f1f4 vwl_af/I
+S 0x7f2b8 l/L_eL_af
+S 0x7f37c vowel/y_3
+S 0x7f480 vdiph2/iu_3
+S 0x7f644 vdiph/Vu
+S 0x7f7c8 vdiph/ai_4
+S 0x7f94c vdiph/oi_2
+S 0x7fb10 vdiph/ui_2
+S 0x7fc94 vdiph2/y#@
+S 0x7fdd8 vnasal/aa_n3
+S 0x7ff1c vnasal/o_n2
+S 0x80060 vdiph/aau_6
+S 0x801e4 vwl_de/y#
+S 0x802e8 l/l_3
+S 0x8036c j/_j_short
+S 0x803f0 vdiph2/i@_3
+S 0x80574 vwl_de/uu_@
+S 0x806b8 vdiph2/ii@_2
+S 0x8083c vowel/ii_8
+S 0x80940 vowel/y#_4
+S 0x80a44 vowel/o_6
+S 0x80b48 vowel/a#_4
+S 0x80c4c vdiph/y#y_3
+S 0x80d50 vdiph/ou_4
+S 0x80e94 voc/Q_less
+S 0x80f58 vnasal/&_n
+W 0x8105c ustop/ki_ejc
+S 0x81468 vdiph/Vi
+S 0x815ec vowel/u_6
+S 0x816f0 vowel/u#_3
+S 0x817f4 vdiph/ai_8
+S 0x81978 voc/murmur1
+S 0x81abc vdiph/@i_4
+S 0x81c40 vnasal/ai_n
+S 0x81d84 vdiph/a#u
+S 0x81f08 vnasal/au_n
+S 0x8204c d/dr2
+S 0x82110 vowel/&_2
+W 0x82214 ustop/tsh_unasp2
+W 0x8265c r3/rz_cs
+S 0x83108 voc/zh_2
+W 0x831cc ustop/tsh2
+S 0x838d8 dzh/dzh2
+W 0x8399c ustop/t_sr
+S 0x83cd4 d/d_dnt
+W 0x83d98 ufric/ch_sr
+W 0x84978 ufric/x_sr
+W 0x851f8 ustop/ts_sr
+W 0x859b4 ustop/tsh_sr
+S 0x862cc vowel/&_3
+S 0x863d0 vwl_fr/@R
+S 0x864d4 vietnam/a
diff --git a/resources/espeak-ng-data/phonindex b/resources/espeak-ng-data/phonindex
new file mode 100644
index 0000000..c00874e
Binary files /dev/null and b/resources/espeak-ng-data/phonindex differ
diff --git a/resources/espeak-ng-data/phontab b/resources/espeak-ng-data/phontab
new file mode 100644
index 0000000..21cc7e8
Binary files /dev/null and b/resources/espeak-ng-data/phontab differ
diff --git a/resources/espeak-ng-data/voices/!v/Alex b/resources/espeak-ng-data/voices/!v/Alex
new file mode 100644
index 0000000..10c6b6e
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/Alex
@@ -0,0 +1,10 @@
+language variant
+name Alex
+
+voicing 70
+pitch 105 115
+flutter 0
+
+formant 1 110 115 100
+formant 2 100 110 100
+formant 3 100 80 75
diff --git a/resources/espeak-ng-data/voices/!v/Alicia b/resources/espeak-ng-data/voices/!v/Alicia
new file mode 100644
index 0000000..b5adb9a
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/Alicia
@@ -0,0 +1,22 @@
+language variant
+name Alicia
+gender female
+pitch 180 275
+echo 40 50
+formant 0 115 115 110
+formant 1 130 160 120
+formant 2 150 110 150
+formant 3 135 150 100
+formant 4 120 120 120
+formant 5 120 120 120
+formant 6 100 110 105
+formant 7 100 110 160
+formant 8 200 120 100
+intonation 2
+voicing 38
+consonants 100 20
+roughness 1
+stressAdd 1 64 64 50 50 100 100 200
+stressAmp 12 12 20 20 12 12 20 20
+breathw 150 150 200 200 400 400
+breath 0 4 5 2 3 13 3 2
\ No newline at end of file
diff --git a/resources/espeak-ng-data/voices/!v/Andrea b/resources/espeak-ng-data/voices/!v/Andrea
new file mode 100644
index 0000000..39fb186
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/Andrea
@@ -0,0 +1,20 @@
+language variant
+name Andrea
+gender female
+
+pitch 200 265
+roughness 0
+
+formant 0 100 100 100
+formant 1 110 100 80
+formant 2 110 80 80
+formant 3 115 110 80
+formant 4 115 80 100
+formant 5 95 50 100
+formant 6 0 0 0
+formant 7 120 100 100
+formant 8 110 100 100
+intonation 3
+stressLength 0 1 2 3 4 5 6 7
+stressAdd 130 140 140 100 0 0 130 160
+voicing 150
\ No newline at end of file
diff --git a/resources/espeak-ng-data/voices/!v/Andy b/resources/espeak-ng-data/voices/!v/Andy
new file mode 100644
index 0000000..25582fb
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/Andy
@@ -0,0 +1,19 @@
+language variant
+name Andy
+gender Male
+
+pitch 85 110
+
+flutter 0
+formant 0 80 80 80 80
+formant 1 100 100 100 120
+formant 2 100 88 100
+formant 3 0 0 0
+formant 4 80 80 80
+formant 5 80 80 80
+formant 6 0 0 0
+formant 7 0 0 0
+formant 8 0 0 0
+stressAdd 0 0 0 0 0 0 0 200
+stressAmp 35 35 35 35 35 35 35 35 35
+
diff --git a/resources/espeak-ng-data/voices/!v/Annie b/resources/espeak-ng-data/voices/!v/Annie
new file mode 100644
index 0000000..3c5b035
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/Annie
@@ -0,0 +1,17 @@
+language variant
+name Annie
+gender female
+pitch 120 280
+
+formant 0 105 125 120
+formant 1 120 140 120
+formant 2 120 150 140
+formant 3 130 150 130
+formant 4 120 120 110
+formant 5 120 120 110
+formant 6 120 140 130
+formant 7 120 140 130
+formant 8 120 140 130
+intonation 1
+voicing 30
+consonants 110 120
diff --git a/resources/espeak-ng-data/voices/!v/AnxiousAndy b/resources/espeak-ng-data/voices/!v/AnxiousAndy
new file mode 100644
index 0000000..0ed1f35
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/AnxiousAndy
@@ -0,0 +1,19 @@
+language variant
+name anxiousAndy
+gender Male
+
+pitch 115 110
+
+flutter 0
+formant 0 80 80 80 80
+formant 1 100 100 100 120
+formant 2 100 100 100
+formant 3 0 0 0
+formant 4 0 0 0
+formant 5 100 100 100
+formant 6 100 100 100
+formant 7 100 100 100
+formant 8 100 100 100
+stressAdd 100 100 100 100 100 100 100 300
+stressAmp 35 35 35 35 35 35 35 35 35
+
diff --git a/resources/espeak-ng-data/voices/!v/Demonic b/resources/espeak-ng-data/voices/!v/Demonic
new file mode 100644
index 0000000..131fe46
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/Demonic
@@ -0,0 +1,65 @@
+##Ten en cuenta que los 2 signos de número en este archivo tienen explicaciones de las comfiguraciones que puede aplicar y cómo comfigurarlas
+## Language Establece el idioma de la voz. Esta opción es necesaria para cualquier comfiguración que realices
+##La siguiente línea es una configuración que puede cambiar. Sin embargo, si no conoce los códigos de idioma, puede ser mejor dejar la configuración tal y como está.
+language variant
+
+## La configuración de nombre es el nombre que aparecerá en la configuración de voz en el cuadro combinado de variante.
+##La siguiente línea es una opción que puede cambiar
+name Demonic
+##La siguiente línea establece el género de la voz. Male or Female (hombre o mujer)
+##La siguiente línea es una opción que puede cambiar
+gender male
+
+flutter 5
+stressAmp 20 18 20 20 20 22 22 22
+##Las opciones de formantes
+## Formant 0 es usado para dar una baja frecuencia a los sonnidos
+## Los tres números son frecuencia, fuerza y ancho, en orden. Ten en cuenta que los números están separados por espacios
+##La siguiente línea es una opción que puede cambiar
+formant 0 100 100 100
+
+# Formant 1, 2, y 3 son las 3 formantes estándar para definir las vocales.
+##Las siguientes 3 líneas son opciones que puedes cambiar
+formant 1 70 100 100
+formant 2 80 100 90
+formant 3 80 160 90
+
+# Formants 4 y 5 afectan a f3. Esto afectará la calidad de la voz.
+##Las siguientes 2 líneas son comfiguraciones que puede cambiar.
+formant 4 80 85
+formant 5 100 100 80
+
+## Formantes 6, 7 y 8 son opciones que te ofrecen un sonido más claro de las vocales
+##Las siguientes 3 líneas son opciones que puedes cambiar
+formant 6 80 80 100
+formant 7 130 130 110
+formant 8 120 120 150
+
+##Intonation afecta el ascenso y la caída de la voz
+## Las opciones son: 1 predeterminado, 2 entonación media, 3 entonación media y no afecta a las comas, 4 al final de la oración o punto aumenta el tono de la voz.
+##La siguiente línea es una opción que puedes cambiar.
+intonation 10
+
+# Establecer el rango de tono. El primer número le da un tono base a la voz (valor en hz). El segundo número controla el rango de tonos usado por la voz. Poniéndolo igual
+# si los 2 números son iguales, la voz será monótona. Por defecto los ajustes son 82 y 118
+pitch 43 120
+## La configuración del tono. El primer número en la línea de configuración, 600, es la configuración de frecuencia para la cantidad de graves en la voz.
+## El segundo número en la línea de tono es el volumen de la frecuencia de graves. Puede configurarlo de 0 a 255, siendo 0 la menor cantidad, 255 la mayor.
+##El tercer número en la línea de tono, 1200, es la frecuencia de rango medio. El cuarto número en la línea es la configuración para cambiar el volumen de la frecuencia de rango medio.
+##0 es la menor cantidad y 255 es la mayor.
+## El quinto número en la línea de tono, 2000, es la frecuencia de agudos. El sexto número es el volumen de la frecuencia de agudos. 0 es el mínimo y 255 es el máximo.
+## Notará que las 3 frecuencias están configuradas en 255.
+###La siguiente línea es una opción que puedes cambiar.
+tone 100 255 1200 255 1500 255
+echo 8 10000
+roughness 3
+breath 20 5 2 10 5 0 27 100
+breathw 255 255 60 180 160 255 255 255
+consonants 194 255
+voicing 65
+stressLength 0 1 2 3 4 5 6 7
+stressAdd 250 350 700 500 450 290 100 225
+stressAmp 16 16 24 24 16 16 20 24
+##Este archivo no incluye todas las configuraciones que se pueden usar para modificar una voz E Speak. Su objetivo es familiarizarlo con lo que hace la configuración.
+##Sin envargo puedes visitar la página http://espeak.sourceforge.net/voices.html y consultar más información acerca de cómo agregar o cambiar otras configuraciones.
+## Espero que te haya servido esta ayuda, y que te hayas divertido.
diff --git a/resources/espeak-ng-data/voices/!v/Denis b/resources/espeak-ng-data/voices/!v/Denis
new file mode 100644
index 0000000..23c7fb7
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/Denis
@@ -0,0 +1,19 @@
+language variant
+name Denis
+gender male 35
+pitch 80 115
+flutter 0
+roughness 0
+
+
+formant 0 100 160 160
+formant 1 95 95 95
+formant 2 100 100 100
+formant 3 90 90 90
+formant 4 40 40 40
+formant 5 80 80 80
+formant 6 10 10 10
+formant 7 10 10 10
+formant 8 10 10 10
+voicing 40
+consonants 80 80
diff --git a/resources/espeak-ng-data/voices/!v/Diogo b/resources/espeak-ng-data/voices/!v/Diogo
new file mode 100644
index 0000000..1e51396
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/Diogo
@@ -0,0 +1,22 @@
+language variant
+name Diogo
+gender male 25
+pitch 82 122
+echo 0 0
+flutter 0
+roughness 0
+stressAmp 20 18 20 20 20 22 22 22
+
+
+formant 0 105 200 140
+formant 1 95 150 120
+formant 2 100 120 140
+formant 3 95 95 140
+formant 4 30 30 30 -100
+formant 5 90 90 90
+formant 6 110 60 65
+formant 7 100 0 100
+formant 8 100 0 100
+voicing 35
+consonants 60 40
+tone 60 250 140 100 1000 50 3500 35
diff --git a/resources/espeak-ng-data/voices/!v/Gene b/resources/espeak-ng-data/voices/!v/Gene
new file mode 100644
index 0000000..3db343b
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/Gene
@@ -0,0 +1,17 @@
+language variant
+name Gene
+
+pitch 80 110
+
+formant 0 120 120 120
+formant 1 90 100 110
+formant 2 100 100 95
+formant 3 90 100 100
+formant 4 90 100 110
+formant 5 90 110 110
+formant 6 100 70 100
+formant 7 100 70 100
+formant 8 100 80 100
+voicing 120
+consonants 50 110
+
diff --git a/resources/espeak-ng-data/voices/!v/Gene2 b/resources/espeak-ng-data/voices/!v/Gene2
new file mode 100644
index 0000000..20e8f6f
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/Gene2
@@ -0,0 +1,17 @@
+language variant
+name Gene2
+
+pitch 100 130
+
+formant 0 120 120 120
+formant 1 90 100 110
+formant 2 100 100 95
+formant 3 90 100 100
+formant 4 90 100 110
+formant 5 90 110 110
+formant 6 100 70 100
+formant 7 100 70 100
+formant 8 100 80 100
+voicing 120
+consonants 50 110
+
diff --git a/resources/espeak-ng-data/voices/!v/Henrique b/resources/espeak-ng-data/voices/!v/Henrique
new file mode 100644
index 0000000..d3fa3d7
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/Henrique
@@ -0,0 +1,22 @@
+language variant
+name Henrique
+gender male 25
+pitch 70 130
+echo 0 0
+flutter 0
+roughness 0
+stressAmp 20 18 20 20 20 22 22 22
+
+
+formant 0 105 200 140
+formant 1 95 150 120
+formant 2 100 120 140
+formant 3 95 95 140
+formant 4 30 30 30 -100
+formant 5 90 90 90
+formant 6 110 60 65
+formant 7 100 0 100
+formant 8 100 0 100
+voicing 35
+consonants 60 40
+tone 70 250 230 80 1100 30 3500 40
diff --git a/resources/espeak-ng-data/voices/!v/Hugo b/resources/espeak-ng-data/voices/!v/Hugo
new file mode 100644
index 0000000..fe79235
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/Hugo
@@ -0,0 +1,22 @@
+language variant
+name Hugo
+gender male 25
+pitch 70 130
+echo 0 0
+flutter 0
+roughness 0
+stressAmp 20 18 20 20 20 22 22 22
+
+
+formant 0 105 200 140
+formant 1 95 150 120
+formant 2 100 120 140
+formant 3 95 95 140
+formant 4 30 30 30 -100
+formant 5 90 90 90
+formant 6 110 60 65
+formant 7 100 0 100
+formant 8 100 0 100
+voicing 35
+consonants 60 40
+tone 400 160 1100 90 3500 90 150 35
diff --git a/resources/espeak-ng-data/voices/!v/Jacky b/resources/espeak-ng-data/voices/!v/Jacky
new file mode 100644
index 0000000..e0884ed
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/Jacky
@@ -0,0 +1,17 @@
+language variant
+name Jacky
+
+pitch 85 130
+
+formant 0 150 155 100
+formant 1 90 155 70
+formant 2 95 70 64
+formant 3 15 20 30
+formant 4 20 30 40
+formant 5 65 20 65
+formant 6 70 80 100
+formant 7 20 80 100
+formant 8 100 95 80
+voicing 135
+consonants 110
+
diff --git a/resources/espeak-ng-data/voices/!v/Lee b/resources/espeak-ng-data/voices/!v/Lee
new file mode 100644
index 0000000..e0194fa
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/Lee
@@ -0,0 +1,20 @@
+language variant
+name Lee
+gender Male
+
+#echo 230 30
+pitch 85 110
+
+flutter 0
+formant 0 80 80 80 80
+formant 1 80 80 100 100
+formant 2 80 80 80
+formant 3 9 9 9
+formant 4 290 290
+formant 5 130 0 0
+formant 6 90 90 90
+formant 7 90 90 90
+formant 8 90 90 90
+stressAdd 0 0 0 200 0 0 0 100
+stressAmp 30 30 30 30 30 30 30 30 30
+
diff --git a/resources/espeak-ng-data/voices/!v/Marco b/resources/espeak-ng-data/voices/!v/Marco
new file mode 100644
index 0000000..455cb26
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/Marco
@@ -0,0 +1,23 @@
+language variant
+name Marco
+gender male 30
+intonation 1
+pitch 100 152
+echo 50 80
+flutter 2
+roughness 0
+stressAmp 25 25 24 20 38 31 39 27
+stressAdd 250 125 250 250 225 145 50 256
+
+formant 0 100 120 130
+formant 1 75 180 170
+formant 2 92 120 110
+formant 3 140 120 110
+formant 4 10 20 20 -50
+formant 5 110 70 20
+formant 6 140 100 98
+formant 7 130 120 115
+formant 8 105 120 108
+voicing 38
+consonants 90 140
+tone 420 150 1200 135 3000 70 4700 40
diff --git a/resources/espeak-ng-data/voices/!v/Mario b/resources/espeak-ng-data/voices/!v/Mario
new file mode 100644
index 0000000..3ace369
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/Mario
@@ -0,0 +1,17 @@
+language variant
+name Mario
+
+pitch 75 125
+
+formant 0 100 111 95
+formant 1 100 111 60
+formant 2 95 90 55
+formant 3 100 50 65
+formant 4 69 65 65
+formant 5 79 60 75
+formant 6 89 60 75
+formant 7 99 0 100
+formant 8 109 0 100
+voicing 135
+consonants 115 120
+
diff --git a/resources/espeak-ng-data/voices/!v/Michael b/resources/espeak-ng-data/voices/!v/Michael
new file mode 100644
index 0000000..e155ea8
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/Michael
@@ -0,0 +1,17 @@
+language variant
+name Michael
+
+pitch 75 125
+
+formant 0 105 111 95
+formant 1 85 111 60
+formant 2 95 90 55
+formant 3 59 50 65
+formant 4 69 65 65
+formant 5 79 60 75
+formant 6 89 60 75
+formant 7 99 0 100
+formant 8 109 0 100
+voicing 135
+consonants 115 120
+
diff --git a/resources/espeak-ng-data/voices/!v/Mike b/resources/espeak-ng-data/voices/!v/Mike
new file mode 100644
index 0000000..93ea4d8
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/Mike
@@ -0,0 +1,7 @@
+language variant
+name Mike
+voicing 70
+formant 1 96 97 100
+formant 2 96 97 100
+formant 5 95 103 100
+pitch 67 107
diff --git a/resources/espeak-ng-data/voices/!v/Mr serious b/resources/espeak-ng-data/voices/!v/Mr serious
new file mode 100644
index 0000000..4623c84
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/Mr serious
@@ -0,0 +1,50 @@
+##Please note the 2 number signs, or pound signs in this file are for comments to help you to understand what the settings are and how to set them.
+## Language sets the language of your voice. This setting is required for every voice that you make.
+##The next line is a setting you can change. However if you don't know the language codes it may be best to leave the setting as it is.
+language variant
+
+## The name setting is the name that will show up in the voice settings in the variant combo box.
+##The next line is a setting you can change
+name Mr_Serious
+
+##The formant settings
+## Formant 0 is used to give a low frequency component to the sounds.
+## The three numbers are frequency, strength, and Width, in that order. Please note, the numbers are seperated by a space.
+##The next line is a setting you can change
+formant 0 100 100 100
+
+# Formants 1,2, and 3 are the standard three formants which define vowels.
+##The next 3 lines are settings you can change
+formant 1 100 100 100
+formant 2 100 100 100
+formant 3 87 100 100
+
+# Formants 4,5 are higher than F3. They affect the quality of the voice.
+##The next 2 lines are settings that you can change.
+formant 4 100 100 100
+formant 5 100 100 100
+
+## Formants 6, 7, and 8 are weak, high frequency, additions to vowels to give a clearer sound.
+##The next 3 lines are settings that you can change.
+formant 6 100 100 100
+formant 7 100 100 100
+formant 8 100 100 100
+
+##Intonation affects the rise and fall of the voice
+## The settings are 1 default, 2 less intonation, 3 less intonation and commas do not raise the pitch, 4 the pitch rises at the end of a sentence rather than falling.
+##The next line is a setting you can change.
+intonation 1
+
+# Setting the pitch range. The first number gives a base pitch to the voice (value in Hertz). The second number controls the range of pitches used by the voice. Setting it equal
+# to the first number will give a monotone sounding voice. The default values are 82 and 118.
+pitch 82 118
+## The tone setting. The first number on the setting line, 600, is the frequency setting for the amount of bass in the voice.
+## The second number on the tone line is the volume of the bass frequency. You can set it from 0 to 255, 0 being the least amount, 255 being the most.
+##The third number on the tone line, 1200, is the mid range frequency. The fourth number on the line is the setting to change the volume of the mid range frequency.
+##0 being the least amount and 255 being the maximum.
+## The fifth number on the tone line, 2000, is the treble frequency. The sixth number is the volume of the treble frequency. 0 is the minimum and 255 is the maximum.
+## You will notice that all 3 frequencies are set to 255.
+##The next line is a setting that you can change.
+tone 600 255 1200 255 2000 255
+##This file does not include all of the settings that can be used to modify an E Speak voice. It is intended to get you familiar with what the settings do.
+##However, you can go to http://espeak.sourceforge.net/voices.html and read further information about other settings that can be added and changed. I hope this helps, and Have fun.
diff --git a/resources/espeak-ng-data/voices/!v/Nguyen b/resources/espeak-ng-data/voices/!v/Nguyen
new file mode 100644
index 0000000..50c72fc
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/Nguyen
@@ -0,0 +1,16 @@
+language variant
+name Nguyen
+
+pitch 95 175
+
+formant 0 100 125 100
+formant 1 96 90 80
+formant 2 97 70 90
+formant 3 97 60 90
+formant 4 97 60 90
+formant 5 75 50 90
+formant 6 90 50 100
+formant 7 100 50 100
+formant 8 100 50 100
+
+tone 100 200 600 150 800 100 2400 80 3600 95 5400 100
diff --git a/resources/espeak-ng-data/voices/!v/Reed b/resources/espeak-ng-data/voices/!v/Reed
new file mode 100644
index 0000000..1ccdf5d
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/Reed
@@ -0,0 +1,15 @@
+language variant
+name Reed
+klatt 6
+consonants 85 85
+voicing 130
+breath 45
+
+pitch 85 135
+
+formant 1 72 100 90 90
+formant 2 83 100 75 180
+formant 3 98 100 100 90
+formant 4 98 100 90
+formant 5 100 100 90
+
diff --git a/resources/espeak-ng-data/voices/!v/RicishayMax b/resources/espeak-ng-data/voices/!v/RicishayMax
new file mode 100644
index 0000000..b269b64
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/RicishayMax
@@ -0,0 +1,16 @@
+language variant
+name RicishayMax
+echo 100 10000
+
+formant 0 90 120 100
+formant 1 100 100 75
+formant 2 100 100 75
+formant 3 100 80 75
+formant 4 100 80 75
+formant 5 100 80 75
+formant 6 100 0 75
+formant 7 100 0 75
+formant 8 100 0 75
+
+
+
diff --git a/resources/espeak-ng-data/voices/!v/RicishayMax2 b/resources/espeak-ng-data/voices/!v/RicishayMax2
new file mode 100644
index 0000000..6585134
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/RicishayMax2
@@ -0,0 +1,25 @@
+language variant
+name RicishayMax2
+echo 150 500
+
+formant 0 90 120 100
+formant 1 100 100 75
+formant 2 100 100 75
+formant 3 100 80 75
+formant 4 100 80 75
+formant 5 100 80 75
+formant 6 100 0 75
+formant 7 100 0 75
+formant 8 100 0 75
+
+
+roughness 5
+
+intonation 10
+voicing 150
+consonants 110 120
+stressLength 0 1 2 3 4 5 6 7
+stressAdd 130 140 140 100 0 0 130 160
+stressAmp 16 16 24 24 16 16 20 24
+
+tone 100 255 600 70 1200 22 2000 66 3000 12
diff --git a/resources/espeak-ng-data/voices/!v/RicishayMax3 b/resources/espeak-ng-data/voices/!v/RicishayMax3
new file mode 100644
index 0000000..f481002
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/RicishayMax3
@@ -0,0 +1,25 @@
+language variant
+name RicishayMax3
+echo 200 500
+
+formant 0 90 120 100
+formant 1 100 100 75
+formant 2 100 100 75
+formant 3 100 80 75
+formant 4 100 80 75
+formant 5 100 80 75
+formant 6 100 0 75
+formant 7 100 0 75
+formant 8 100 0 75
+
+
+roughness 5
+
+intonation 10
+voicing 150
+consonants 110 120
+stressLength 0 1 2 3 4 5 6 7
+stressAdd 130 140 140 100 0 0 130 160
+stressAmp 16 16 24 24 16 16 20 24
+
+tone 100 255 600 70 1200 22 2000 66 3000 12
diff --git a/resources/espeak-ng-data/voices/!v/Storm b/resources/espeak-ng-data/voices/!v/Storm
new file mode 100644
index 0000000..6fd53bb
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/Storm
@@ -0,0 +1,23 @@
+language variant
+language en-us
+name Storm
+gender male
+formant 0 100 100 100
+formant 1 95 95 95
+formant 2 95 95 95
+formant 3 95 95 95
+formant 4 70 70 70
+formant 5 70 70 70
+formant 6 25 25 25
+formant 7 25 25 25
+formant 8 25 25 25
+breath 0 0 0 0 0 0 0 0
+consonants 100
+echo 0 0
+flutter 0
+intonation 3
+pitch 60 100
+roughness 0
+stressAdd 5 5 3 3 0 0 -15 -15
+tone 500 255 1500 255 2500 255
+voicing 100
diff --git a/resources/espeak-ng-data/voices/!v/Tweaky b/resources/espeak-ng-data/voices/!v/Tweaky
new file mode 100644
index 0000000..f391d13
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/Tweaky
@@ -0,0 +1,50 @@
+##Please note the 2 number signs, or pound signs in this file are for comments to help you to understand what the settings are and how to set them.
+## Language sets the language of your voice. This setting is required for every voice that you make.
+##The next line is a setting you can change. However if you don't know the language codes it may be best to leave the setting as it is.
+language variant
+
+## The name setting is the name that will show up in the voice settings in the variant combo box.
+##The next line is a setting you can change
+name Tweaky
+
+##The formant settings
+## Formant 0 is used to give a low frequency component to the sounds.
+## The three numbers are frequency, strength, and Width, in that order. Please note, the numbers are seperated by a space.
+##The next line is a setting you can change
+formant 0 100 100 100
+
+# Formants 1,2, and 3 are the standard three formants which define vowels.
+##The next 3 lines are settings you can change
+formant 1 100 100 100
+formant 2 100 100 100
+formant 3 200 100 100
+
+# Formants 4,5 are higher than F3. They affect the quality of the voice.
+##The next 2 lines are settings that you can change.
+formant 4 100 100 100
+formant 5 100 100 100
+
+## Formants 6, 7, and 8 are weak, high frequency, additions to vowels to give a clearer sound.
+##The next 3 lines are settings that you can change.
+formant 6 100 100 100
+formant 7 100 100 100
+formant 8 100 100 100
+
+##Intonation affects the rise and fall of the voice
+## The settings are 1 default, 2 less intonation, 3 less intonation and commas do not raise the pitch, 4 the pitch rises at the end of a sentence rather than falling.
+##The next line is a setting you can change.
+intonation 1
+
+# Setting the pitch range. The first number gives a base pitch to the voice (value in Hertz). The second number controls the range of pitches used by the voice. Setting it equal
+# to the first number will give a monotone sounding voice. The default values are 82 and 118.
+pitch 82 118
+## The tone setting. The first number on the setting line, 600, is the frequency setting for the amount of bass in the voice.
+## The second number on the tone line is the volume of the bass frequency. You can set it from 0 to 255, 0 being the least amount, 255 being the most.
+##The third number on the tone line, 1200, is the mid range frequency. The fourth number on the line is the setting to change the volume of the mid range frequency.
+##0 being the least amount and 255 being the maximum.
+## The fifth number on the tone line, 2000, is the treble frequency. The sixth number is the volume of the treble frequency. 0 is the minimum and 255 is the maximum.
+## You will notice that all 3 frequencies are set to 255.
+##The next line is a setting that you can change.
+tone 600 255 1200 255 2000 255
+##This file does not include all of the settings that can be used to modify an E Speak voice. It is intended to get you familiar with what the settings do.
+##However, you can go to http://espeak.sourceforge.net/voices.html and read further information about other settings that can be added and changed. I hope this helps, and Have fun.
diff --git a/resources/espeak-ng-data/voices/!v/UniRobot b/resources/espeak-ng-data/voices/!v/UniRobot
new file mode 100644
index 0000000..f889278
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/UniRobot
@@ -0,0 +1,19 @@
+language variant
+name UniversalRobot
+gender male
+klatt 4
+pitch 100 160
+echo 10 10000
+formant 1 75 120 135
+formant 2 90 50 140
+formant 3 70 85 95
+formant 4 150 60 80
+formant 5 100 85 80
+formant 6 112 100 80
+formant 7 110 95 100
+formant 8 105 110 100
+consonants 125 100
+tone 530 250 770 100 215 225
+stressLength 0 1 2 3 4 5 6 7
+stressAdd 120 130 130 90 0 0 120 120
+stressAmp 16 16 24 24 16 16 20 24
diff --git a/resources/espeak-ng-data/voices/!v/adam b/resources/espeak-ng-data/voices/!v/adam
new file mode 100644
index 0000000..a9f3d2a
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/adam
@@ -0,0 +1,6 @@
+language variant
+name Adam
+klatt 6
+consonants 85 85
+
+formant 1 100 100 130
diff --git a/resources/espeak-ng-data/voices/!v/anika b/resources/espeak-ng-data/voices/!v/anika
new file mode 100644
index 0000000..2413c90
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/anika
@@ -0,0 +1,25 @@
+language variant
+name anika
+gender female
+pitch 200 300
+flutter 6
+stressAmp 20 18 20 20 20 22 22 22
+
+roughness 0
+
+formant 0 105 200 140
+formant 1 95 150 120
+formant 2 100 120 140
+formant 3 95 95 140
+formant 4 120 120 110
+formant 5 120 120 110
+formant 6 110 60 65
+formant 7 100 0 100
+formant 8 100 0 100
+intonation 10
+voicing 30
+consonants 60 40
+stressLength 0 1 2 3 4 5 6 7
+stressAdd 130 140 140 100 0 0 130 160
+stressAmp 16 16 24 24 16 16 20 24
+tone 100 255 600 70 1200 22 2000 66 3000 12
diff --git a/resources/espeak-ng-data/voices/!v/anikaRobot b/resources/espeak-ng-data/voices/!v/anikaRobot
new file mode 100644
index 0000000..791d2bb
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/anikaRobot
@@ -0,0 +1,26 @@
+language variant
+name anikaRobot
+gender female
+pitch 200 300
+flutter 1
+stressAmp 20 18 20 20 20 22 22 22
+echo 10 10000
+
+roughness 0
+
+formant 0 105 200 140
+formant 1 95 150 120
+formant 2 100 120 140
+formant 3 95 95 140
+formant 4 120 120 110
+formant 5 120 120 110
+formant 6 110 60 65
+formant 7 100 0 100
+formant 8 100 0 100
+intonation 10
+voicing 30
+consonants 60 40
+stressLength 0 1 2 3 4 5 6 7
+stressAdd 130 140 140 100 0 0 130 160
+stressAmp 16 16 24 24 16 16 20 24
+tone 100 255 600 70 1200 22 2000 66 3000 12
diff --git a/resources/espeak-ng-data/voices/!v/announcer b/resources/espeak-ng-data/voices/!v/announcer
new file mode 100644
index 0000000..71e0795
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/announcer
@@ -0,0 +1,17 @@
+name Half-LifeAnnouncementSystem
+language variant
+pitch 37 83
+klatt 4
+
+formant 1 88 100 100 0
+formant 2 96 100 100 0
+formant 3 98 100 100 0
+formant 4 96 100 100 0
+formant 5 100 100 100 0
+formant 6 100 100 100 0
+formant 7 100 100 100 0
+formant 8 100 100 100 0
+
+voicing 70
+consonants 70 70
+echo 154 26
diff --git a/resources/espeak-ng-data/voices/!v/antonio b/resources/espeak-ng-data/voices/!v/antonio
new file mode 100644
index 0000000..a41b681
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/antonio
@@ -0,0 +1,21 @@
+language variant
+name Antonio
+gender male
+
+pitch 82 128
+roughness 0
+
+formant 0 100 150 90
+formant 1 90 130 90
+formant 2 95 120 80
+formant 3 100 50 80
+formant 4 100 40 80
+formant 5 90 70 80
+formant 6 0 0 0
+formant 7 100 100 100
+formant 8 100 100 100
+voicing 150
+tone 600 255 1200 255 2000 80
+intonation 3
+stressLength 0 1 2 3 4 5 6 7
+stressAdd 130 140 140 100 0 0 130 160
diff --git a/resources/espeak-ng-data/voices/!v/aunty b/resources/espeak-ng-data/voices/!v/aunty
new file mode 100644
index 0000000..7d721ee
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/aunty
@@ -0,0 +1,19 @@
+language variant
+name Auntie
+gender female
+pitch 204 176
+flutter 12
+
+formant 0 88 85 154
+formant 1 115 80 160 -20
+formant 2 130 75 150 -200
+formant 3 123 75 150
+formant 4 125 80 150
+formant 5 125 80 150
+formant 6 110 80 150
+formant 7 110 75 150
+formant 8 110 75 150
+
+stressAdd -20 -20 -20 -20 0 0 20 120
+stressAmp 18 16 20 20 20 20 20 20
+
diff --git a/resources/espeak-ng-data/voices/!v/belinda b/resources/espeak-ng-data/voices/!v/belinda
new file mode 100644
index 0000000..9a9e42b
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/belinda
@@ -0,0 +1,20 @@
+language variant
+name Belinda
+gender female
+
+pitch 200 247
+flutter 3
+
+formant 0 88 85 154
+formant 1 135 58 169 -30
+formant 2 120 70 150 -260
+formant 3 120 39 150
+formant 4 125 57 80
+formant 5 125 80 150
+formant 6 110 80 150
+formant 7 110 75 150
+formant 8 110 75 150
+
+stressAdd -20 -20 -20 -20 0 3 20 12
+stressAmp 18 16 20 20 10 20 27 20
+
diff --git a/resources/espeak-ng-data/voices/!v/benjamin b/resources/espeak-ng-data/voices/!v/benjamin
new file mode 100644
index 0000000..c300643
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/benjamin
@@ -0,0 +1,11 @@
+language variant
+name Benjamin
+klatt 6
+consonants 70 70
+
+formant 1 101 100 130
+formant 2 102 100 100
+formant 3 100 100 100
+formant 4 100 100 100 470
+formant 5 100 100 100 350
+formant 6 100 100 100 100
diff --git a/resources/espeak-ng-data/voices/!v/boris b/resources/espeak-ng-data/voices/!v/boris
new file mode 100644
index 0000000..02e03ce
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/boris
@@ -0,0 +1,15 @@
+language variant
+name Boris
+
+formant 0 47 120 100
+formant 1 100 90 75
+formant 2 104 100 75
+formant 3 57 80 75
+formant 4 104 80 75
+formant 5 107 80 75
+formant 6 68 0 75
+formant 7 105 0 75
+formant 8 105 0 75
+
+
+
diff --git a/resources/espeak-ng-data/voices/!v/caleb b/resources/espeak-ng-data/voices/!v/caleb
new file mode 100644
index 0000000..9c8a5b9
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/caleb
@@ -0,0 +1,5 @@
+language variant
+name Caleb
+klatt 6
+breath 100
+voicing 0
diff --git a/resources/espeak-ng-data/voices/!v/croak b/resources/espeak-ng-data/voices/!v/croak
new file mode 100644
index 0000000..ae76a4c
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/croak
@@ -0,0 +1,11 @@
+language variant
+name croak
+gender male 70
+
+pitch 85 117
+flutter 20
+
+formant 0 100 80 110
+
+
+
diff --git a/resources/espeak-ng-data/voices/!v/david b/resources/espeak-ng-data/voices/!v/david
new file mode 100644
index 0000000..7dc75dd
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/david
@@ -0,0 +1,8 @@
+language variant
+name David
+klatt 6
+pitch 62 89
+
+formant 1 75 100 100
+formant 2 85 100 100
+formant 3 85 100 100
diff --git a/resources/espeak-ng-data/voices/!v/ed b/resources/espeak-ng-data/voices/!v/ed
new file mode 100644
index 0000000..7f293fc
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/ed
@@ -0,0 +1,17 @@
+language variant
+name Ed
+
+pitch 90 145
+
+formant 0 110 120 200 5
+formant 1 102 100 80
+formant 2 101 120 100
+formant 3 100 80 75
+formant 4 150 30 80
+formant 5 95 95 155
+formant 6 167 100 75
+formant 7 100 200 75
+formant 8 60 200 95
+consonants 55 80
+voicing 100
+tone 650 250 1000 130 240 255
\ No newline at end of file
diff --git a/resources/espeak-ng-data/voices/!v/edward b/resources/espeak-ng-data/voices/!v/edward
new file mode 100644
index 0000000..303f505
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/edward
@@ -0,0 +1,10 @@
+language variant
+name Edward
+klatt 5
+voicing 100
+consonants 70 80
+
+formant 1 92 100 130
+formant 2 103 100 80
+formant 3 103 100 70
+formant 4 114 100 60
diff --git a/resources/espeak-ng-data/voices/!v/edward2 b/resources/espeak-ng-data/voices/!v/edward2
new file mode 100644
index 0000000..abee6aa
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/edward2
@@ -0,0 +1,10 @@
+language variant
+name Edward2
+klatt 6
+voicing 100
+consonants 70 80
+
+formant 1 92 100 130
+formant 2 103 100 80
+formant 3 103 100 70
+formant 4 114 100 60
diff --git a/resources/espeak-ng-data/voices/!v/f1 b/resources/espeak-ng-data/voices/!v/f1
new file mode 100644
index 0000000..8f03a73
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/f1
@@ -0,0 +1,18 @@
+language variant
+name female1
+gender female 70
+
+pitch 140 200
+flutter 8
+roughness 4
+formant 0 115 80 150
+formant 1 120 80 180
+formant 2 100 70 150 150
+formant 3 115 70 150
+formant 4 110 80 150
+formant 5 110 90 150
+formant 6 105 80 150
+formant 7 110 70 150
+formant 8 110 70 150
+
+stressAdd -10 -10 -20 -20 0 0 40 60
diff --git a/resources/espeak-ng-data/voices/!v/f2 b/resources/espeak-ng-data/voices/!v/f2
new file mode 100644
index 0000000..4122d96
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/f2
@@ -0,0 +1,21 @@
+language variant
+name female2
+gender female
+
+pitch 142 220
+roughness 3
+
+formant 0 105 80 150
+formant 1 110 80 160
+formant 2 110 70 150
+formant 3 110 70 150
+formant 4 115 80 150
+formant 5 115 80 150
+formant 6 110 70 150
+formant 7 110 70 150
+formant 8 110 70 150
+
+stressAdd 0 0 -10 -10 0 0 10 40
+breath 0 2 3 3 3 3 3 2
+echo 140 10
+consonants 125 125
diff --git a/resources/espeak-ng-data/voices/!v/f3 b/resources/espeak-ng-data/voices/!v/f3
new file mode 100644
index 0000000..92a1582
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/f3
@@ -0,0 +1,22 @@
+language variant
+name female3
+gender female
+
+pitch 140 240
+formant 0 105 80 150
+formant 1 120 75 150 -50
+formant 2 135 70 150 -250
+formant 3 125 80 150
+formant 4 125 80 150
+formant 5 125 80 150
+formant 6 120 70 150
+formant 7 110 70 150
+formant 8 110 70 150
+
+stressAmp 18 18 20 20 20 20 20 20
+//breath 0 2 4 4 4 4 4 4
+breath 0 2 3 3 3 3 3 2
+echo 120 10
+roughness 4
+
+
diff --git a/resources/espeak-ng-data/voices/!v/f4 b/resources/espeak-ng-data/voices/!v/f4
new file mode 100644
index 0000000..52c5ac9
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/f4
@@ -0,0 +1,18 @@
+language variant
+name female4
+gender female
+
+echo 130 15
+pitch 142 200
+formant 0 120 80 150
+formant 1 115 80 160 -20
+formant 2 130 75 150 -200
+formant 3 123 75 150
+formant 4 125 80 150
+formant 5 125 80 150
+formant 6 110 80 150
+formant 7 110 75 150
+formant 8 110 75 150
+
+stressAdd -20 -20 -20 -20 0 0 20 120
+stressAmp 18 16 20 20 20 20 20 20
diff --git a/resources/espeak-ng-data/voices/!v/f5 b/resources/espeak-ng-data/voices/!v/f5
new file mode 100644
index 0000000..f43b093
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/f5
@@ -0,0 +1,23 @@
+language variant
+name female5
+gender female
+
+pitch 160 228
+roughness 0
+
+formant 0 105 80 150
+formant 1 110 80 160
+formant 2 110 70 150
+formant 3 110 70 150
+formant 4 115 80 200
+formant 5 115 80 100
+formant 6 110 70 150
+formant 7 110 70 100
+formant 8 110 70 150
+
+stressAdd 0 0 -10 -10 0 0 10 40
+breath 0 4 6 6 6 6 0 10
+echo 140 10
+voicing 75
+consonants 150 150
+breathw 150 150 200 200 400 400
diff --git a/resources/espeak-ng-data/voices/!v/fast b/resources/espeak-ng-data/voices/!v/fast
new file mode 100644
index 0000000..a2c3da2
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/fast
@@ -0,0 +1,7 @@
+language variant
+name fast_test
+
+// Try decreasing these values to make eSpeak's fastest speed faster.
+// This is currently unstable.
+
+fast_test2 15
diff --git a/resources/espeak-ng-data/voices/!v/grandma b/resources/espeak-ng-data/voices/!v/grandma
new file mode 100644
index 0000000..395ebe2
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/grandma
@@ -0,0 +1,17 @@
+language variant
+
+name grandma
+gender female 90
+pitch 120 230
+
+flutter 20
+formant 0 105 150 150
+formant 1 100 80 100
+formant 2 105 105 105
+formant 3 80 80 80
+formant 4 60 60 60
+formant 5 90 90 90
+formant 6 10 10 10
+formant 7 10 10 10
+formant 8 20 20 20
+voicing 50
\ No newline at end of file
diff --git a/resources/espeak-ng-data/voices/!v/grandpa b/resources/espeak-ng-data/voices/!v/grandpa
new file mode 100644
index 0000000..41a870c
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/grandpa
@@ -0,0 +1,14 @@
+language variant
+name grandpa
+pitch 80 120
+flutter 20
+formant 0 100 100 100
+formant 1 100 100 100
+formant 2 100 100 100
+formant 3 100 100 100
+formant 4 100 100 100
+formant 5 100 100 100
+formant 6 10 10 10
+formant 7 10 10 10
+formant 8 10 10 10
+intonation 1
diff --git a/resources/espeak-ng-data/voices/!v/gustave b/resources/espeak-ng-data/voices/!v/gustave
new file mode 100644
index 0000000..ce1d71b
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/gustave
@@ -0,0 +1,17 @@
+language variant
+name Gustave
+
+pitch 80 123
+
+formant 0 85 141 135
+formant 1 77 131 45
+formant 2 92 70 55
+formant 3 59 50 65
+formant 4 69 65 65
+formant 5 79 60 75
+formant 6 89 60 75
+formant 7 99 0 100
+formant 8 109 0 100
+voicing 135
+consonants 115 120
+
diff --git a/resources/espeak-ng-data/voices/!v/ian b/resources/espeak-ng-data/voices/!v/ian
new file mode 100644
index 0000000..3e3d409
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/ian
@@ -0,0 +1,51 @@
+##Please note the 2 number signs, or pound signs in this file are for comments to help you to understand what the settings are and how to set them.
+## Language sets the language of your voice. This setting is required for every voice that you make.
+##The next line is a setting you can change. However if you don't know the language codes it may be best to leave the setting as it is.
+language variant
+
+## The name setting is the name that will show up in the voice settings in the variant combo box.
+##The next line is a setting you can change
+name Ian
+
+##The formant settings
+## Formant 0 is used to give a low frequency component to the sounds.
+## The three numbers are frequency, strength, and Width, in that order. Please note, the numbers are seperated by a space.
+##The next line is a setting you can change
+formant 0 20 120 50
+
+# Formants 1,2, and 3 are the standard three formants which define vowels.
+##The next 3 lines are settings you can change
+formant 1 80 80 80
+formant 2 80 80 80
+formant 3 80 80 80
+
+# Formants 4,5 are higher than F3. They affect the quality of the voice.
+##The next 2 lines are settings that you can change.
+formant 4 50 50 50
+formant 5 50 50 50
+
+## Formants 6, 7, and 8 are weak, high frequency, additions to vowels to give a clearer sound.
+##The next 3 lines are settings that you can change.
+formant 6 100 100 100
+formant 7 200 50 200
+formant 8 200 50 200
+
+##Intonation affects the rise and fall of the voice
+## The settings are 1 default, 2 less intonation, 3 less intonation and commas do not raise the pitch, 4 the pitch rises at the end of a sentence rather than falling.
+##The next line is a setting you can change.
+intonation 2
+
+# Setting the pitch range. The first number gives a base pitch to the voice (value in Hertz). The second number controls the range of pitches used by the voice.
+# Setting it equal to the first number will give a monotone sounding voice. The default values are 82 and 118.
+pitch 69 96
+
+## The tone setting. The first number on the setting line, 600, is the frequency setting for the amount of bass in the voice.
+##The second number on the tone line is the volume of the bass frequency. You can set it from 0 to 255, 0 being the least amount, 255 being the most.
+##The third number on the tone line, 1200, is the mid range frequency. The fourth number on the line is the setting to change the volume of the mid range frequency.
+##0 being the least amount and 255 being the maximum.
+## The fifth number on the tone line, 2000, is the treble frequency. The sixth number is the volume of the treble frequency. 0 is the minimum and 255 is the maximum.
+## You will notice that all 3 frequencies are set to 255.
+##The next line is a setting that you can change.
+tone 1000 127 1200 127 2000 127
+##This file does not include all of the settings that can be used to modify an E Speak voice. It is intended to get you familiar with what the settings do.
+##However, you can go to http://espeak.sourceforge.net/voices.html and read further information about other settings that can be added and changed. I hope this helps, and Have fun.
diff --git a/resources/espeak-ng-data/voices/!v/iven b/resources/espeak-ng-data/voices/!v/iven
new file mode 100644
index 0000000..3b8c120
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/iven
@@ -0,0 +1,14 @@
+language variant
+name Iven
+pitch 74 118
+formant 0 52 133 88
+formant 1 87 82 76
+formant 2 94 56 42
+formant 3 93 52 130
+formant 4 110 76 65
+formant 5 102 45 20
+formant 6 40 50 50
+formant 7 60 50 60
+formant 8 100 50 40
+voicing 530
+tone 600 255 1200 255 2000 160
\ No newline at end of file
diff --git a/resources/espeak-ng-data/voices/!v/iven2 b/resources/espeak-ng-data/voices/!v/iven2
new file mode 100644
index 0000000..e61fd73
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/iven2
@@ -0,0 +1,15 @@
+language variant
+name Iven2
+pitch 74 118
+formant 0 52 133 88
+formant 1 87 82 76
+formant 2 94 56 42
+formant 3 93 52 130
+formant 4 110 76 65
+formant 5 102 45 20
+formant 6 40 50 50
+formant 7 60 50 60
+formant 8 100 50 40
+voicing 220
+consonants 28 42
+tone 600 255 1200 255 2000 150
\ No newline at end of file
diff --git a/resources/espeak-ng-data/voices/!v/iven3 b/resources/espeak-ng-data/voices/!v/iven3
new file mode 100644
index 0000000..a58e745
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/iven3
@@ -0,0 +1,14 @@
+language variant
+name Iven3
+pitch 74 118
+formant 0 52 133 88
+formant 1 87 82 76
+formant 2 94 56 42
+formant 3 93 52 130
+formant 4 110 76 65
+formant 5 102 45 20
+formant 6 40 50 50
+formant 7 60 50 60
+formant 8 100 50 40
+voicing 165
+tone 600 255 1200 255 2000 160
\ No newline at end of file
diff --git a/resources/espeak-ng-data/voices/!v/iven4 b/resources/espeak-ng-data/voices/!v/iven4
new file mode 100644
index 0000000..43084c1
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/iven4
@@ -0,0 +1,14 @@
+language variant
+name Iven4
+pitch 74 118
+formant 0 52 133 88
+formant 1 87 82 76
+formant 2 94 56 42
+formant 3 93 52 130
+formant 4 110 76 65
+formant 5 102 45 20
+formant 6 40 50 50
+formant 7 60 50 60
+formant 8 100 50 40
+voicing 165
+tone 600 170 1200 100 2000 40
\ No newline at end of file
diff --git a/resources/espeak-ng-data/voices/!v/john b/resources/espeak-ng-data/voices/!v/john
new file mode 100644
index 0000000..dce9446
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/john
@@ -0,0 +1,50 @@
+##Please note the 2 number signs, or pound signs in this file are for comments to help you to understand what the settings are and how to set them.
+## Language sets the language of your voice. This setting is required for every voice that you make.
+##The next line is a setting you can change. However if you don't know the language codes it may be best to leave the setting as it is.
+language variant
+
+## The name setting is the name that will show up in the voice settings in the variant combo box.
+##The next line is a setting you can change
+name John
+
+##The formant settings
+## Formant 0 is used to give a low frequency component to the sounds.
+## The three numbers are frequency, strength, and Width, in that order. Please note, the numbers are seperated by a space.
+##The next line is a setting you can change
+formant 0 100 100 100
+
+# Formants 1,2, and 3 are the standard three formants which define vowels.
+##The next 3 lines are settings you can change
+formant 1 100 100 100
+formant 2 100 100 100
+formant 3 100 100 100
+
+# Formants 4,5 are higher than F3. They affect the quality of the voice.
+##The next 2 lines are settings that you can change.
+formant 4 100 100 100
+formant 5 100 100 100
+
+## Formants 6, 7, and 8 are weak, high frequency, additions to vowels to give a clearer sound.
+##The next 3 lines are settings that you can change.
+formant 6 100 100 100
+formant 7 100 100 100
+formant 8 100 100 100
+
+##Intonation affects the rise and fall of the voice
+## The settings are 1 default, 2 less intonation, 3 less intonation and commas do not raise the pitch, 4 the pitch rises at the end of a sentence rather than falling.
+##The next line is a setting you can change.
+intonation 1
+
+# Setting the pitch range. The first number gives a base pitch to the voice (value in Hertz). The second number controls the range of pitches used by the voice.
+# Setting it equal to the first number will give a monotone sounding voice. The default values are 82 and 118.
+pitch 82 118
+## The tone setting. The first number on the setting line, 600, is the frequency setting for the amount of bass in the voice.
+##The second number on the tone line is the volume of the bass frequency. You can set it from 0 to 255, 0 being the least amount, 255 being the most.
+##The third number on the tone line, 1200, is the mid range frequency. The fourth number on the line is the setting to change the volume of the mid range frequency.
+##0 being the least amount and 255 being the maximum.
+## The fifth number on the tone line, 2000, is the treble frequency. The sixth number is the volume of the treble frequency. 0 is the minimum and 255 is the maximum.
+## You will notice that all 3 frequencies are set to 255.
+##The next line is a setting that you can change.
+tone 600 255 1200 255 2000 255
+##This file does not include all of the settings that can be used to modify an E Speak voice. It is intended to get you familiar with what the settings do.
+##However, you can go to http://espeak.sourceforge.net/voices.html and read further information about other settings that can be added and changed. I hope this helps, and Have fun.
diff --git a/resources/espeak-ng-data/voices/!v/kaukovalta b/resources/espeak-ng-data/voices/!v/kaukovalta
new file mode 100644
index 0000000..82cda33
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/kaukovalta
@@ -0,0 +1,16 @@
+language variant
+name Kaukovalta
+formant 0 80 80 100
+formant 1 40 80 100
+formant 2 70 100 130
+formant 3 80 100 60
+formant 4 70 90 100
+formant 5 70 90 100
+formant 6 70 100 90
+ formant 7 100 90 110
+formant 8 100 95 100
+pitch 70 120
+tone 100 130 800 130 2000 130
+consonants 70 70
+roughness 4
+
\ No newline at end of file
diff --git a/resources/espeak-ng-data/voices/!v/klatt b/resources/espeak-ng-data/voices/!v/klatt
new file mode 100644
index 0000000..b739a86
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/klatt
@@ -0,0 +1,4 @@
+language variant
+name klatt
+klatt 1
+
diff --git a/resources/espeak-ng-data/voices/!v/klatt2 b/resources/espeak-ng-data/voices/!v/klatt2
new file mode 100644
index 0000000..01477be
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/klatt2
@@ -0,0 +1,4 @@
+language variant
+name klatt2
+klatt 2
+
diff --git a/resources/espeak-ng-data/voices/!v/klatt3 b/resources/espeak-ng-data/voices/!v/klatt3
new file mode 100644
index 0000000..b1a874b
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/klatt3
@@ -0,0 +1,4 @@
+language variant
+name klatt3
+klatt 3
+
diff --git a/resources/espeak-ng-data/voices/!v/klatt4 b/resources/espeak-ng-data/voices/!v/klatt4
new file mode 100644
index 0000000..6527808
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/klatt4
@@ -0,0 +1,4 @@
+language variant
+name klatt4
+klatt 4
+
diff --git a/resources/espeak-ng-data/voices/!v/klatt5 b/resources/espeak-ng-data/voices/!v/klatt5
new file mode 100644
index 0000000..9d831fb
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/klatt5
@@ -0,0 +1,4 @@
+language variant
+name klatt5
+klatt 5
+
diff --git a/resources/espeak-ng-data/voices/!v/klatt6 b/resources/espeak-ng-data/voices/!v/klatt6
new file mode 100644
index 0000000..7656ab3
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/klatt6
@@ -0,0 +1,4 @@
+language variant
+name klatt6
+klatt 6
+
diff --git a/resources/espeak-ng-data/voices/!v/linda b/resources/espeak-ng-data/voices/!v/linda
new file mode 100644
index 0000000..a56a8b0
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/linda
@@ -0,0 +1,20 @@
+language variant
+name Linda
+gender female
+
+#echo 130 15
+pitch 200 247
+flutter 3
+formant 0 88 85 154
+formant 1 135 58 169 -30
+formant 2 131 75 152 -260
+formant 3 123 75 150
+formant 4 125 80 150
+formant 5 125 80 150
+formant 6 110 80 150
+formant 7 110 75 150
+formant 8 110 75 150
+
+stressAdd -20 -20 -20 -20 0 3 20 120
+stressAmp 18 16 20 20 20 20 27 20
+
diff --git a/resources/espeak-ng-data/voices/!v/m1 b/resources/espeak-ng-data/voices/!v/m1
new file mode 100644
index 0000000..4cc9a00
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/m1
@@ -0,0 +1,20 @@
+language variant
+name male1
+gender male 70
+
+pitch 75 109
+flutter 5
+roughness 4
+consonants 80 100
+
+formant 0 98 100 100
+formant 1 97 100 100
+formant 2 97 95 100
+formant 3 97 95 100
+formant 4 97 85 100
+formant 5 105 80 100
+formant 6 95 80 100
+formant 7 100 100 100
+formant 8 100 100 100
+
+//stressAdd -10 -10 -20 -20 0 0 40 70
diff --git a/resources/espeak-ng-data/voices/!v/m2 b/resources/espeak-ng-data/voices/!v/m2
new file mode 100644
index 0000000..c234f46
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/m2
@@ -0,0 +1,15 @@
+language variant
+name male2
+gender male
+
+pitch 88 115
+echo 130 15
+formant 0 100 80 120
+formant 1 90 85 120
+formant 2 110 85 120
+formant 3 105 90 120
+formant 4 100 90 120
+formant 5 100 90 120
+formant 6 100 90 120
+formant 7 100 90 120
+formant 8 100 90 120
diff --git a/resources/espeak-ng-data/voices/!v/m3 b/resources/espeak-ng-data/voices/!v/m3
new file mode 100644
index 0000000..00479dc
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/m3
@@ -0,0 +1,17 @@
+language variant
+name male3
+gender male
+
+pitch 80 122
+formant 0 100 100 100
+formant 1 96 97 100
+formant 2 96 97 100
+formant 3 96 103 100
+formant 4 95 103 100
+formant 5 95 103 100
+formant 6 100 100 100
+formant 7 100 100 100
+formant 8 100 100 100
+
+consonants 100
+stressAdd 10 10 0 0 0 0 -30 -30
diff --git a/resources/espeak-ng-data/voices/!v/m4 b/resources/espeak-ng-data/voices/!v/m4
new file mode 100644
index 0000000..7199341
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/m4
@@ -0,0 +1,17 @@
+language variant
+name male4
+gender male
+
+pitch 70 110
+
+formant 0 103 100 100
+formant 1 103 100 100
+formant 2 103 100 100
+formant 3 103 100 100
+formant 4 106 100 100
+formant 5 106 100 100
+formant 6 106 100 100
+formant 7 103 100 100
+formant 8 103 100 100
+
+stressAdd -10 -10 -30 -30 0 0 60 90
diff --git a/resources/espeak-ng-data/voices/!v/m5 b/resources/espeak-ng-data/voices/!v/m5
new file mode 100644
index 0000000..d258656
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/m5
@@ -0,0 +1,15 @@
+language variant
+name male5
+gender male
+
+formant 0 100 85 130
+formant 1 90 85 130 40
+formant 2 80 85 130 310
+formant 3 105 85 130
+formant 4 105 85 130
+formant 5 105 85 130
+formant 6 105 85 150
+formant 7 105 85 150
+formant 8 105 85 150
+
+intonation 2
diff --git a/resources/espeak-ng-data/voices/!v/m6 b/resources/espeak-ng-data/voices/!v/m6
new file mode 100644
index 0000000..bd336a9
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/m6
@@ -0,0 +1,13 @@
+language variant
+name male6
+gender male
+
+pitch 82 117
+
+formant 0 100 90 120
+formant 1 100 90 140
+formant 2 100 70 140
+formant 3 100 75 140
+formant 4 100 80 140
+formant 5 100 80 140
+
diff --git a/resources/espeak-ng-data/voices/!v/m7 b/resources/espeak-ng-data/voices/!v/m7
new file mode 100644
index 0000000..11b49ed
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/m7
@@ -0,0 +1,17 @@
+language variant
+name male7
+gender male
+
+pitch 75 125
+
+formant 0 100 125 100
+formant 1 100 90 80
+formant 2 100 70 90
+formant 3 100 60 90
+formant 4 100 60 90
+formant 5 75 50 90
+formant 6 90 50 100
+formant 7 100 50 100
+formant 8 100 50 100
+voicing 155
+
diff --git a/resources/espeak-ng-data/voices/!v/m8 b/resources/espeak-ng-data/voices/!v/m8
new file mode 100644
index 0000000..c03ca3e
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/m8
@@ -0,0 +1,16 @@
+language variant
+name male8
+gender male 50
+
+pitch 65 102
+formant 0 100 125 100
+formant 1 96 90 80
+formant 2 97 70 90
+formant 3 97 60 90
+formant 4 97 60 90
+formant 5 100 50 90
+formant 6 90 50 100
+formant 7 100 50 100
+formant 8 100 50 100
+
+tone 100 255 600 70 1200 22 2000 66 3000 12
diff --git a/resources/espeak-ng-data/voices/!v/marcelo b/resources/espeak-ng-data/voices/!v/marcelo
new file mode 100644
index 0000000..8df9651
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/marcelo
@@ -0,0 +1,17 @@
+language variant
+name Marcelo
+
+pitch 65 115
+
+formant 0 65 161 35
+formant 1 75 131 65
+formant 2 90 60 40
+formant 3 59 50 55
+formant 4 69 65 35
+formant 5 69 60 25
+formant 6 59 60 35
+formant 7 149 0 10
+formant 8 199 0 90
+voicing 135
+consonants 115 120
+
diff --git a/resources/espeak-ng-data/voices/!v/max b/resources/espeak-ng-data/voices/!v/max
new file mode 100644
index 0000000..e3c2889
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/max
@@ -0,0 +1,15 @@
+language variant
+name Max
+
+formant 0 90 120 100
+formant 1 100 100 75
+formant 2 100 100 75
+formant 3 100 80 75
+formant 4 100 80 75
+formant 5 100 80 75
+formant 6 100 0 75
+formant 7 100 0 75
+formant 8 100 0 75
+
+
+
diff --git a/resources/espeak-ng-data/voices/!v/michel b/resources/espeak-ng-data/voices/!v/michel
new file mode 100644
index 0000000..b9b5ecb
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/michel
@@ -0,0 +1,22 @@
+language variant
+name Michel
+gender male 25
+pitch 82 122
+echo 0 0
+flutter 0
+roughness 0
+stressAmp 20 18 20 20 20 22 22 22
+
+
+formant 0 105 200 140
+formant 1 95 150 120
+formant 2 100 120 140
+formant 3 95 95 140
+formant 4 30 30 30 -100
+formant 5 90 90 90
+formant 6 110 60 65
+formant 7 100 0 100
+formant 8 100 0 100
+voicing 35
+consonants 60 40
+tone 400 160 1500 100 3000 70 4500 40
diff --git a/resources/espeak-ng-data/voices/!v/miguel b/resources/espeak-ng-data/voices/!v/miguel
new file mode 100644
index 0000000..53d71e7
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/miguel
@@ -0,0 +1,22 @@
+language variant
+name Miguel
+gender male 25
+pitch 80 130
+echo 0 0
+flutter 0
+roughness 0
+stressAmp 20 18 20 20 20 22 22 22
+
+
+formant 0 105 200 140
+formant 1 95 150 120
+formant 2 100 120 140
+formant 3 95 95 140
+formant 4 30 30 30 -100
+formant 5 90 90 90
+formant 6 110 60 65
+formant 7 100 0 100
+formant 8 100 0 100
+voicing 35
+consonants 60 40
+tone 300 240 400 160 1500 100 3000 70
diff --git a/resources/espeak-ng-data/voices/!v/mike2 b/resources/espeak-ng-data/voices/!v/mike2
new file mode 100644
index 0000000..2715f4d
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/mike2
@@ -0,0 +1,12 @@
+language variant
+name Mike2
+klatt 6
+voicing 170
+pitch 67 107
+formant 1 95 100 100
+formant 2 95 100 100
+formant 3 105 100 100
+formant 4 115 100 100
+formant 5 115 100 100
+
+consonants 70 150
diff --git a/resources/espeak-ng-data/voices/!v/norbert b/resources/espeak-ng-data/voices/!v/norbert
new file mode 100644
index 0000000..a210789
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/norbert
@@ -0,0 +1,50 @@
+##Please note the 2 number signs, or pound signs in this file are for comments to help you to understand what the settings are and how to set them.
+## Language sets the language of your voice. This setting is required for every voice that you make.
+##The next line is a setting you can change. However if you don't know the language codes it may be best to leave the setting as it is.
+language variant
+
+## The name setting is the name that will show up in the voice settings in the variant combo box.
+##The next line is a setting you can change
+name norbert
+
+##The formant settings
+## Formant 0 is used to give a low frequency component to the sounds.
+## The three numbers are frequency, strength, and Width, in that order. Please note, the numbers are seperated by a space.
+##The next line is a setting you can change
+formant 0 100 100 100
+
+# Formants 1,2, and 3 are the standard three formants which define vowels.
+##The next 3 lines are settings you can change
+formant 1 100 100 100
+formant 2 75 50 100
+formant 3 100 100 100
+
+# Formants 4,5 are higher than F3. They affect the quality of the voice.
+##The next 2 lines are settings that you can change.
+formant 4 100 100 100
+formant 5 100 100 100
+
+## Formants 6, 7, and 8 are weak, high frequency, additions to vowels to give a clearer sound.
+##The next 3 lines are settings that you can change.
+formant 6 100 100 100
+formant 7 100 100 100
+formant 8 100 100 100
+
+##Intonation affects the rise and fall of the voice
+## The settings are 1 default, 2 less intonation, 3 less intonation and commas do not raise the pitch, 4 the pitch rises at the end of a sentence rather than falling.
+##The next line is a setting you can change.
+intonation 1
+
+# Setting the pitch range. The first number gives a base pitch to the voice (value in Hertz). The second number controls the range of pitches used by the voice. Setting it equal
+# to the first number will give a monotone sounding voice. The default values are 82 and 118.
+pitch 82 118
+## The tone setting. The first number on the setting line, 600, is the frequency setting for the amount of bass in the voice.
+## The second number on the tone line is the volume of the bass frequency. You can set it from 0 to 255, 0 being the least amount, 255 being the most.
+##The third number on the tone line, 1200, is the mid range frequency. The fourth number on the line is the setting to change the volume of the mid range frequency.
+##0 being the least amount and 255 being the maximum.
+## The fifth number on the tone line, 2000, is the treble frequency. The sixth number is the volume of the treble frequency. 0 is the minimum and 255 is the maximum.
+## You will notice that all 3 frequencies are set to 255.
+##The next line is a setting that you can change.
+tone 600 255 1000 100 5000 255
+##This file does not include all of the settings that can be used to modify an E Speak voice. It is intended to get you familiar with what the settings do.
+##However, you can go to http://espeak.sourceforge.net/voices.html and read further information about other settings that can be added and changed. I hope this helps, and Have fun.
diff --git a/resources/espeak-ng-data/voices/!v/pablo b/resources/espeak-ng-data/voices/!v/pablo
new file mode 100644
index 0000000..031e5fe
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/pablo
@@ -0,0 +1,52 @@
+##Pleas note the 2 number signs, or pound signs in this file are for comments to help you to understand what the settings are and how to set them.
+## Language sets the language of your voice. This setting is required for every voice that you make.
+##The next line is a setting you can change. However if you don't know the language codes it may be best to leave the setting as it is.
+language variant
+
+## The name setting is the name that will show up in the voice settings in the variant combo box.
+##The next line is a setting you can change
+name Pablo
+
+##The formant settings
+## Formant 0 is used to give a low frequency component to the sounds.
+## The three numbers are frequency, strength, and Width, in that order. Please note, the numbers are seperated by a space.
+##The next line is a setting you can change
+formant 0 90 100 90
+
+# Formants 1,2, and 3 are the standard three formants which define vowels.
+##The next 3 lines are settings you can change
+formant 1 95 100 80
+formant 2 97 100 80
+formant 3 98 90 80
+
+# Formants 4,5 are higher than F3. They affect the quality of the voice.
+##The next 2 lines are settings that you can change.
+formant 4 110 100 100
+formant 5 110 100 100
+
+## Formants 6, 7, and 8 are weak, high frequency, additions to vowels to give a clearer sound.
+##The next 3 lines are settings that you can change.
+formant 6 100 100 100
+formant 7 100 100 100
+formant 8 100 100 100
+
+##Intonation affects the rise and fall of the voice
+## The settings are 1 default, 2 less intonation, 3 less intonation and commas do not raise the pitch, 4 the pitch rises at the end of a sentence rather than falling.
+##The next line is a setting you can change.
+intonation 3
+echo 30 30
+# Setting the pitch range. The first number gives a base pitch to the voice (value in Hertz). The second number controls the range of pitches used by the voice. Setting it equal
+# to the first number will give a monotone sounding voice. The default values are 82 and 118.
+pitch 82 130
+## The tone setting. The first number on the setting line, 600, is the frequency setting for the amount of bass in the voice.
+## The second number on the tone line is the volume of the bass frequency. You can set it from 0 to 255, 0 being the least amount, 255 being the most.
+##The third number on the tone line, 1200, is the mid range frequency. The fourth number on the line is the setting to change the volume of the mid range frequency.
+## 0 being the least amount and 255 being the maximum.
+## The fifth number on the tone line, 2000, is the treble frequency. The sixth number is the volume of the treble frequency. 0 is the minimum and 255 is the maximum.
+## You will notice that all 3 frequencies are set to 255.
+##The next line is a setting that you can change.
+tone 600 255 1200 200 2000 255
+
+##This file does not include all of the settings that can be used to modify an E Speak voice. It is intended to get you familiar with what the settings do.
+#However, you can go to http://espeak.sourceforge.net/voices.html and read further information about other settings that can be added and changed. I hope this helps, and Have fun.
+
diff --git a/resources/espeak-ng-data/voices/!v/paul b/resources/espeak-ng-data/voices/!v/paul
new file mode 100644
index 0000000..9015cd3
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/paul
@@ -0,0 +1,17 @@
+language variant
+name Paul
+
+pitch 70 100
+
+formant 0 90 120 100
+formant 1 103 100 75
+formant 2 98 100 75
+formant 3 100 80 75
+formant 4 102 30 100
+formant 5 100 80 100
+formant 6 100 80 75
+formant 7 100 0 75
+formant 8 100 60 75
+consonants 90 60
+voicing 230
+tone 420 255 1300 130 4000 100
\ No newline at end of file
diff --git a/resources/espeak-ng-data/voices/!v/pedro b/resources/espeak-ng-data/voices/!v/pedro
new file mode 100644
index 0000000..5cc34db
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/pedro
@@ -0,0 +1,23 @@
+language variant
+
+name Pedro
+
+formant 0 100 150 100
+
+formant 1 95 100 80
+formant 2 95 100 80
+formant 3 100 100 90
+
+formant 4 100 100 100
+formant 5 100 100 100
+
+formant 6 100 100 100
+formant 7 100 100 100
+formant 8 100 100 100
+
+intonation 3
+
+pitch 82 118
+tone 600 255 1200 255 2000 255
+stressLength 0 1 2 3 4 5 6 7
+stressAdd 130 140 140 100 0 0 130 160
diff --git a/resources/espeak-ng-data/voices/!v/quincy b/resources/espeak-ng-data/voices/!v/quincy
new file mode 100644
index 0000000..dd75dad
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/quincy
@@ -0,0 +1,20 @@
+language variant
+name Quincy
+
+pitch 67 100
+
+formant 0 85 108 106 3
+formant 1 97 110 56
+formant 2 96 80 60
+formant 3 101 50 50
+formant 4 110 33 55
+formant 5 110 22 65
+formant 6 77 60 60 65
+formant 7 66 0 100
+formant 8 100 0 100
+voicing 99
+consonants 66 90
+
+roughness 0
+tone 600 170 1200 100 2000 70
+stressAmp 16 16 24 20 20 16 28 24
diff --git a/resources/espeak-ng-data/voices/!v/rob b/resources/espeak-ng-data/voices/!v/rob
new file mode 100644
index 0000000..d7c7ae4
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/rob
@@ -0,0 +1,17 @@
+language variant
+name Rob
+
+pitch 50 130
+formant 0 100 100 100
+formant 1 95 100 60
+formant 2 97 90 50
+formant 3 101 70 50
+formant 4 110 65 55
+formant 5 110 70 65
+formant 6 110 70 65
+formant 7 0 0 0
+formant 8 0 0 0
+
+voicing 115
+consonants 110 120
+
diff --git a/resources/espeak-ng-data/voices/!v/robert b/resources/espeak-ng-data/voices/!v/robert
new file mode 100644
index 0000000..46f5075
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/robert
@@ -0,0 +1,17 @@
+language variant
+name Robert
+
+pitch 65 115
+
+formant 0 85 108 100
+formant 1 95 110 60
+formant 2 97 90 50
+formant 3 101 50 50
+formant 4 110 65 55
+formant 5 110 60 65
+formant 6 110 60 65
+formant 7 100 0 100
+formant 8 100 0 100
+voicing 115
+consonants 110 120
+
diff --git a/resources/espeak-ng-data/voices/!v/robosoft b/resources/espeak-ng-data/voices/!v/robosoft
new file mode 100644
index 0000000..0668d9a
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/robosoft
@@ -0,0 +1,26 @@
+language variant
+name Robosoft
+echo 30 1000
+klatt 5
+
+pitch 60 90
+formant 0 100 125 100
+formant 1 96 90 80
+formant 2 97 70 90
+formant 3 97 60 90
+formant 4 97 60 90
+formant 5 100 50 90
+formant 6 90 50 100
+formant 7 100 50 100
+formant 8 100 50 100
+
+roughness 50
+
+intonation 0
+voicing 80
+consonants 110 120
+stressLength 0 1 2 3 4 5 6 7
+stressAdd 130 140 140 100 0 0 130 160
+stressAmp 16 16 24 24 16 16 20 24
+
+tone 100 255 600 70 1200 22 2000 66 3000 12
diff --git a/resources/espeak-ng-data/voices/!v/robosoft2 b/resources/espeak-ng-data/voices/!v/robosoft2
new file mode 100644
index 0000000..1695414
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/robosoft2
@@ -0,0 +1,26 @@
+language variant
+name Robosoft2
+echo 10 600
+klatt 4
+
+pitch 70 100
+formant 0 100 125 100
+formant 1 96 90 80
+formant 2 97 70 90
+formant 3 97 60 90
+formant 4 97 60 90
+formant 5 100 50 90
+formant 6 90 50 100
+formant 7 100 50 100
+formant 8 100 50 100
+
+roughness 75
+
+intonation -25
+voicing 80
+consonants 110 120
+stressLength 0 1 2 3 4 5 6 7
+stressAdd 130 140 140 100 0 0 130 160
+stressAmp 16 16 24 24 16 16 20 24
+
+tone 100 255 600 70 1200 22 2000 66 3000 12
diff --git a/resources/espeak-ng-data/voices/!v/robosoft3 b/resources/espeak-ng-data/voices/!v/robosoft3
new file mode 100644
index 0000000..15bbe34
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/robosoft3
@@ -0,0 +1,26 @@
+language variant
+name Robosoft3
+echo 10 10000
+klatt 4
+
+pitch 75 115
+formant 0 100 125 100
+formant 1 96 90 80
+formant 2 97 70 90
+formant 3 97 60 90
+formant 4 97 60 90
+formant 5 100 50 90
+formant 6 90 50 100
+formant 7 100 50 100
+formant 8 100 50 100
+
+roughness 5
+
+intonation 10
+voicing 150
+consonants 110 120
+stressLength 0 1 2 3 4 5 6 7
+stressAdd 130 140 140 100 0 0 130 160
+stressAmp 16 16 24 24 16 16 20 24
+
+tone 100 255 600 70 1200 22 2000 66 3000 12
diff --git a/resources/espeak-ng-data/voices/!v/robosoft4 b/resources/espeak-ng-data/voices/!v/robosoft4
new file mode 100644
index 0000000..5161a4f
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/robosoft4
@@ -0,0 +1,25 @@
+language variant
+name Robosoft4
+echo 10 10000
+
+pitch 75 115
+formant 0 100 125 100
+formant 1 96 90 80
+formant 2 97 70 90
+formant 3 97 60 90
+formant 4 97 60 90
+formant 5 100 50 90
+formant 6 90 50 100
+formant 7 100 50 100
+formant 8 100 50 100
+
+roughness 5
+
+intonation 10
+voicing 150
+consonants 110 120
+stressLength 0 1 2 3 4 5 6 7
+stressAdd 130 140 140 100 0 0 130 160
+stressAmp 16 16 24 24 16 16 20 24
+
+tone 100 255 600 70 1200 22 2000 66 3000 12
diff --git a/resources/espeak-ng-data/voices/!v/robosoft5 b/resources/espeak-ng-data/voices/!v/robosoft5
new file mode 100644
index 0000000..2420f89
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/robosoft5
@@ -0,0 +1,25 @@
+language variant
+name Robosoft5
+echo 10 10000
+
+pitch 75 115
+formant 0 100 125 100
+formant 1 96 90 80
+formant 2 97 70 90
+formant 3 97 60 90
+formant 4 97 60 90
+formant 5 100 50 90
+formant 6 90 50 100
+formant 7 100 50 100
+formant 8 100 50 100
+
+roughness 0
+
+intonation 10
+voicing 150
+consonants 60 40
+stressLength 0 1 2 3 4 5 6 7
+stressAdd 130 140 140 100 0 0 130 160
+stressAmp 16 16 24 24 16 16 20 24
+
+tone 100 255 600 70 1200 22 2000 66 3000 12
diff --git a/resources/espeak-ng-data/voices/!v/robosoft6 b/resources/espeak-ng-data/voices/!v/robosoft6
new file mode 100644
index 0000000..d3be158
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/robosoft6
@@ -0,0 +1,15 @@
+language variant
+name Robosoft6
+echo 40 10000
+pitch 150 150
+formant 0 100 125 100
+formant 1 96 90 80
+formant 2 97 70 90
+formant 3 97 60 90
+formant 4 97 60 90
+formant 5 100 50 90
+formant 6 90 50 100
+formant 7 100 50 100
+formant 8 100 50 100
+
+tone 100 255 600 70 1200 22 2000 66 3000 12
diff --git a/resources/espeak-ng-data/voices/!v/robosoft7 b/resources/espeak-ng-data/voices/!v/robosoft7
new file mode 100644
index 0000000..25bf759
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/robosoft7
@@ -0,0 +1,25 @@
+language variant
+name Robosoft7
+echo 10 10000
+
+pitch 75 115
+
+formant 0 90 120 100
+formant 1 100 100 75
+formant 2 100 100 75
+formant 3 100 80 75
+formant 4 100 80 75
+formant 5 100 80 75
+formant 6 100 0 75
+formant 7 100 0 75
+formant 8 100 0 75
+
+roughness 0
+
+intonation 10
+voicing 150
+consonants 60 40
+stressLength 0 1 2 3 4 5 6 7
+stressAdd 130 140 140 100 0 0 130 160
+
+tone 100 255 600 70 1200 22 2000 66 3000 12
diff --git a/resources/espeak-ng-data/voices/!v/robosoft8 b/resources/espeak-ng-data/voices/!v/robosoft8
new file mode 100644
index 0000000..5c84bd5
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/robosoft8
@@ -0,0 +1,16 @@
+language variant
+name Robosoft8
+echo 40 10000
+pitch 150 150
+formant 0 90 120 100
+formant 1 100 100 75
+formant 2 100 100 75
+formant 3 100 80 75
+formant 4 100 80 75
+formant 5 100 80 75
+formant 6 100 0 75
+formant 7 100 0 75
+formant 8 100 0 75
+
+
+
diff --git a/resources/espeak-ng-data/voices/!v/sandro b/resources/espeak-ng-data/voices/!v/sandro
new file mode 100644
index 0000000..6dcfe02
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/sandro
@@ -0,0 +1,25 @@
+// This file is UTF-8 encoded
+// Variant sandro (ver.25-3) for eSpeak-ng Copyright (C)2019 by Lolo vmanolo301@gmail.com
+
+language variant
+name sandro
+gender male
+
+formant 0 95 146 100
+formant 1 98 90 100
+formant 2 103 98 100
+formant 3 100 90 100
+formant 4 100 101 100
+formant 5 110 120 100 2123
+formant 6 100 100 100 1200
+formant 7 32 125 80 600
+formant 8 34 95 30 49
+
+voicing 165
+consonants 194 255
+pitch 78 115
+roughness 3
+breath 20 5 2 10 5 0 27 100
+breathw 255 255 60 180 160 255 255 255
+
+tone 500 210 470 70 160 155 2985 32
diff --git a/resources/espeak-ng-data/voices/!v/shelby b/resources/espeak-ng-data/voices/!v/shelby
new file mode 100644
index 0000000..21292d4
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/shelby
@@ -0,0 +1,18 @@
+language variant
+name shelby
+flutter 0
+roughness 0
+
+formant 0 100 160 190
+formant 1 90 90 90
+formant 2 140 140 140
+formant 3 130 150 130
+formant 4 110 110 110
+formant 5 120 120 110
+formant 6 10 10 10
+formant 7 10 10 10
+formant 8 10 10 10
+
+pitch 100 210
+voicing 40
+consonants 90 70
\ No newline at end of file
diff --git a/resources/espeak-ng-data/voices/!v/steph b/resources/espeak-ng-data/voices/!v/steph
new file mode 100644
index 0000000..e60b0dc
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/steph
@@ -0,0 +1,21 @@
+language variant
+name Steph
+gender female
+
+pitch 166 200
+flutter 1
+roughness 0
+tone 100 255 600 70 1200 22 2000 66 3000 12
+
+formant 0 99 80 150
+formant 1 120 60 160
+formant 2 99 70 110 150
+formant 3 116 77 150
+formant 4 9 59 110
+formant 5 100 50 2
+formant 6 104 80 150
+formant 7 110 70 150
+formant 8 110 70 150
+
+stressAmp 16 16 24 24 16 16 20 24
+consonants 55 90
diff --git a/resources/espeak-ng-data/voices/!v/steph2 b/resources/espeak-ng-data/voices/!v/steph2
new file mode 100644
index 0000000..6ac109b
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/steph2
@@ -0,0 +1,21 @@
+language variant
+name Steph2
+gender female
+
+pitch 166 200
+flutter 1
+roughness 0
+tone 100 255 600 70 1200 22 2000 66 3000 12
+
+formant 0 99 100 150
+formant 1 120 80 160
+formant 2 99 90 110 150
+formant 3 116 97 150
+formant 4 9 73 116
+formant 5 100 70 2
+formant 6 104 100 150
+formant 7 110 90 150
+formant 8 110 90 150
+
+stressAmp 16 16 24 24 16 16 20 24
+consonants 55 90
diff --git a/resources/espeak-ng-data/voices/!v/steph3 b/resources/espeak-ng-data/voices/!v/steph3
new file mode 100644
index 0000000..a925755
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/steph3
@@ -0,0 +1,22 @@
+language variant
+name Steph3
+gender female
+
+pitch 166 200
+flutter 1
+roughness 0
+voicing 200
+tone 100 255 600 70 1200 22 2000 66 3000 12
+
+formant 0 99 80 150
+formant 1 120 60 160
+formant 2 99 70 110 150
+formant 3 116 77 150
+formant 4 9 59 110
+formant 5 100 50 2
+formant 6 104 80 150
+formant 7 110 70 150
+formant 8 110 70 150
+
+stressAmp 16 16 24 24 16 16 20 24
+consonants 70 90
diff --git a/resources/espeak-ng-data/voices/!v/travis b/resources/espeak-ng-data/voices/!v/travis
new file mode 100644
index 0000000..56c22f9
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/travis
@@ -0,0 +1,23 @@
+language variant
+name travis
+gender male 30
+
+pitch 75 120
+
+formant 0 90 90 90 90
+formant 1 50 100 80 95
+formant 2 90 60 90 100
+formant 3 80 80 90 100
+formant 4 50 90 100 100
+formant 5 100 95 100 55
+formant 6 80 50 100 85
+formant 7 60 60 60 120
+formant 8 80 80 140 100
+
+tone 600 100 1000 200 1500 50
+flutter 1
+
+roughness 3
+
+voicing 200
+consonants 120 190
diff --git a/resources/espeak-ng-data/voices/!v/victor b/resources/espeak-ng-data/voices/!v/victor
new file mode 100644
index 0000000..fa275e8
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/victor
@@ -0,0 +1,16 @@
+language variant
+name victor
+gender male 25
+
+formant 0 100 100 100
+formant 1 95 95 95
+formant 2 90 90 90
+formant 3 90 90 90
+formant 4 40 40 40
+formant 5 80 80 80
+formant 6 20 20 20
+formant 7 20 20 20
+formant 8 20 20 20
+pitch 80 110
+voicing 60
+breath 2 4
\ No newline at end of file
diff --git a/resources/espeak-ng-data/voices/!v/whisper b/resources/espeak-ng-data/voices/!v/whisper
new file mode 100644
index 0000000..4f8f5e8
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/whisper
@@ -0,0 +1,13 @@
+language variant
+name whisper
+gender male
+
+pitch 82 117
+flutter 20
+
+formant 0 100 0 100
+formant 1 100 80 100
+
+voicing 17
+breath 75 75 50 40 15 10
+breathw 150 150 200 200 400 400
diff --git a/resources/espeak-ng-data/voices/!v/whisperf b/resources/espeak-ng-data/voices/!v/whisperf
new file mode 100644
index 0000000..f239e8a
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/whisperf
@@ -0,0 +1,24 @@
+language variant
+name female_whisper
+gender female
+
+pitch 160 220
+roughness 3
+
+formant 0 105 0 150
+formant 1 110 40 160
+formant 2 110 70 150
+formant 3 110 70 150
+formant 4 115 80 150
+formant 5 115 80 150
+formant 6 110 70 150
+formant 7 110 70 150
+formant 8 110 70 150
+
+stressAdd 0 0 -10 -10 0 0 10 40
+
+// whisper
+voicing 20
+breath 75 75 50 40 15 10
+breathw 150 150 200 200 400 400
+
diff --git a/resources/espeak-ng-data/voices/!v/zac b/resources/espeak-ng-data/voices/!v/zac
new file mode 100644
index 0000000..ca415a6
--- /dev/null
+++ b/resources/espeak-ng-data/voices/!v/zac
@@ -0,0 +1,15 @@
+language variant
+name Zac
+flutter 5
+
+pitch 240 390
+formant 0 145 100 145
+formant 1 145 100 145
+formant 2 145 100 145
+formant 3 145 100 145
+formant 4 145 100 145
+formant 5 145 120 145
+formant 6 145 120 145
+formant 7 145 120 145
+formant 8 145 120 145
+voicing 80
diff --git a/resources/espeak-ng-data/voices/mb/mb-af1 b/resources/espeak-ng-data/voices/mb/mb-af1
new file mode 100644
index 0000000..03dac4f
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-af1
@@ -0,0 +1,7 @@
+name afrikaans-mbrola-1
+language af 7
+gender male
+
+pitch 82 117
+mbrola af1 af1_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-af1-en b/resources/espeak-ng-data/voices/mb/mb-af1-en
new file mode 100644
index 0000000..71ecab7
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-af1-en
@@ -0,0 +1,7 @@
+name en-afrikaans
+language en 11
+gender male
+
+pitch 82 117
+mbrola af1 af1_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-ar1 b/resources/espeak-ng-data/voices/mb/mb-ar1
new file mode 100644
index 0000000..cba9cbc
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-ar1
@@ -0,0 +1,6 @@
+name arabic-mbrola-1
+language ar 1
+gender male
+
+pitch 82 117
+mbrola ar1 ar1_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-ar2 b/resources/espeak-ng-data/voices/mb/mb-ar2
new file mode 100644
index 0000000..00f1a5e
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-ar2
@@ -0,0 +1,6 @@
+name arabic-mbrola-2
+language ar 2
+gender male
+
+pitch 82 117
+mbrola ar2 ar2_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-br1 b/resources/espeak-ng-data/voices/mb/mb-br1
new file mode 100644
index 0000000..0ef621a
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-br1
@@ -0,0 +1,12 @@
+language pt-br 6
+language pt 8
+name brazil-mbrola-1
+gender male
+
+pitch 82 117
+voicing 80
+
+dictrules 2 3 4
+
+mbrola br1 ptbr_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-br2 b/resources/espeak-ng-data/voices/mb/mb-br2
new file mode 100644
index 0000000..db558c5
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-br2
@@ -0,0 +1,12 @@
+language pt-br 6
+language pt 8
+name brazil-mbrola-2
+gender female
+
+pitch 115 195
+voicing 120
+
+dictrules 2 3 4
+
+mbrola br2 ptbr_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-br3 b/resources/espeak-ng-data/voices/mb/mb-br3
new file mode 100644
index 0000000..1f792d3
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-br3
@@ -0,0 +1,11 @@
+language pt-br 6
+language pt 8
+name brazil-mbrola-3
+gender male
+pitch 80 120
+
+dictrules 2 3 4
+voicing 120
+
+mbrola br3 ptbr_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-br4 b/resources/espeak-ng-data/voices/mb/mb-br4
new file mode 100644
index 0000000..bd97ecf
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-br4
@@ -0,0 +1,12 @@
+language pt-br 6
+language pt 8
+name brazil-mbrola-4
+gender female
+
+pitch 140 220
+voicing 80
+
+dictrules 2 3 4
+
+mbrola br4 ptbr4_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-ca1 b/resources/espeak-ng-data/voices/mb/mb-ca1
new file mode 100644
index 0000000..1652604
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-ca1
@@ -0,0 +1,6 @@
+language fr-ca 6
+language fr 10
+name fr-canadian-mbrola-1
+gender male
+pitch 82 117
+mbrola ca1 ca_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-ca2 b/resources/espeak-ng-data/voices/mb/mb-ca2
new file mode 100644
index 0000000..f656612
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-ca2
@@ -0,0 +1,6 @@
+language fr-ca 6
+language fr 10
+name fr-canadian-mbrola-2
+gender male
+pitch 82 117
+mbrola ca2 ca_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-cn1 b/resources/espeak-ng-data/voices/mb/mb-cn1
new file mode 100644
index 0000000..d524d39
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-cn1
@@ -0,0 +1,6 @@
+name chinese-mb-cn1
+language zh
+mbrola cn1 zh_phtrans
+pitch 100 280
+speed 90
+status testing
diff --git a/resources/espeak-ng-data/voices/mb/mb-cr1 b/resources/espeak-ng-data/voices/mb/mb-cr1
new file mode 100644
index 0000000..5585f87
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-cr1
@@ -0,0 +1,9 @@
+name croatian-mbrola-1
+language hr 7
+gender male
+
+dictrules 1
+
+voicing 150
+pitch 82 117
+mbrola cr1 cr1_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-cz1 b/resources/espeak-ng-data/voices/mb/mb-cz1
new file mode 100644
index 0000000..1d53cba
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-cz1
@@ -0,0 +1,4 @@
+name czech-mbrola-1
+language cs 1
+gender female
+mbrola cz1 cs_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-cz2 b/resources/espeak-ng-data/voices/mb/mb-cz2
new file mode 100644
index 0000000..6d5e07b
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-cz2
@@ -0,0 +1,6 @@
+name czech-mbrola-2
+language cs 2
+gender male
+
+pitch 82 117
+mbrola cz2 cs_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-de1 b/resources/espeak-ng-data/voices/mb/mb-de1
new file mode 100644
index 0000000..78f1db8
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-de1
@@ -0,0 +1,9 @@
+name german-mbrola-1
+language de 6
+gender female
+voicing 80
+pitch 140 220
+
+stressLength 400 400 400 400 500 500 500 500
+mbrola de1 de2_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-de1-en b/resources/espeak-ng-data/voices/mb/mb-de1-en
new file mode 100644
index 0000000..d7539a9
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-de1-en
@@ -0,0 +1,9 @@
+name en-german-1
+language en 9
+gender female
+
+voicing 80
+pitch 140 220
+
+mbrola de1 de2_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-de2 b/resources/espeak-ng-data/voices/mb/mb-de2
new file mode 100644
index 0000000..e2cdb07
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-de2
@@ -0,0 +1,8 @@
+name german-mbrola-2
+language de 6
+gender male
+voicing 80
+stressLength 400 400 400 400 500 500 500 500
+
+mbrola de2 de2_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-de2-en b/resources/espeak-ng-data/voices/mb/mb-de2-en
new file mode 100644
index 0000000..2a28322
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-de2-en
@@ -0,0 +1,8 @@
+name en-german-2
+language en 9
+gender male
+
+voicing 80
+
+mbrola de2 de2_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-de3 b/resources/espeak-ng-data/voices/mb/mb-de3
new file mode 100644
index 0000000..d2ff8dd
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-de3
@@ -0,0 +1,8 @@
+name german-mbrola-3
+language de 6
+gender female
+voicing 80
+pitch 140 220
+
+mbrola de3 de2_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-de3-en b/resources/espeak-ng-data/voices/mb/mb-de3-en
new file mode 100644
index 0000000..bb456fa
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-de3-en
@@ -0,0 +1,9 @@
+name en-german-3
+language en 9
+gender female
+
+voicing 80
+pitch 140 220
+
+mbrola de3 de2_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-de4 b/resources/espeak-ng-data/voices/mb/mb-de4
new file mode 100644
index 0000000..e9a2a4c
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-de4
@@ -0,0 +1,8 @@
+name german-mbrola-4
+language de 6
+gender male
+
+voicing 130
+
+mbrola de4 de4_phtrans
+stressLength 400 400 400 400 500 500 500 500
diff --git a/resources/espeak-ng-data/voices/mb/mb-de4-en b/resources/espeak-ng-data/voices/mb/mb-de4-en
new file mode 100644
index 0000000..3a043c2
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-de4-en
@@ -0,0 +1,8 @@
+name en-german-4
+language en 9
+gender male
+
+voicing 130
+
+mbrola de4 de4_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-de5 b/resources/espeak-ng-data/voices/mb/mb-de5
new file mode 100644
index 0000000..e9a5a45
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-de5
@@ -0,0 +1,10 @@
+name german-mbrola-5
+language de 7
+gender female
+stressLength 400 400 400 400 500 500 500 500
+pitch 140 220
+mbrola de5 de6_phtrans 22050
+
+// avoid glottal stops. de5 assumes [?] between pause and vowel
+replace 00 _! _
+replace 00 _| _
diff --git a/resources/espeak-ng-data/voices/mb/mb-de5-en b/resources/espeak-ng-data/voices/mb/mb-de5-en
new file mode 100644
index 0000000..e30a025
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-de5-en
@@ -0,0 +1,7 @@
+name en-german-5
+language en 9
+gender female
+
+pitch 140 220
+mbrola de5 de6_phtrans 22050
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-de6 b/resources/espeak-ng-data/voices/mb/mb-de6
new file mode 100644
index 0000000..37397cd
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-de6
@@ -0,0 +1,6 @@
+name german-mbrola-6
+language de 6
+gender male
+stressLength 400 400 400 400 500 500 500 500
+mbrola de6 de6_phtrans 22050
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-de6-en b/resources/espeak-ng-data/voices/mb/mb-de6-en
new file mode 100644
index 0000000..e60a284
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-de6-en
@@ -0,0 +1,6 @@
+name en-german-6
+language en 9
+gender male
+
+mbrola de6 de6_phtrans 22050
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-de6-grc b/resources/espeak-ng-data/voices/mb/mb-de6-grc
new file mode 100644
index 0000000..a6e0f46
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-de6-grc
@@ -0,0 +1,6 @@
+name german-mbrola-6
+language grc 6
+gender male
+
+mbrola de6 grc-de6_phtrans 22050
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-de7 b/resources/espeak-ng-data/voices/mb/mb-de7
new file mode 100644
index 0000000..a211aed
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-de7
@@ -0,0 +1,8 @@
+name german-mbrola-7
+language de 7
+gender female
+stressLength 400 400 400 400 500 500 500 500
+voicing 150
+pitch 140 220
+mbrola de7 de6_phtrans 22050
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-de8 b/resources/espeak-ng-data/voices/mb/mb-de8
new file mode 100644
index 0000000..2818e79
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-de8
@@ -0,0 +1,5 @@
+name german-mbrola-8
+language de 8
+gender male
+mbrola de8 de8_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-ee1 b/resources/espeak-ng-data/voices/mb/mb-ee1
new file mode 100644
index 0000000..2c500b2
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-ee1
@@ -0,0 +1,8 @@
+name estonian-mbrola-1
+language et
+gender male
+
+pitch 75 125
+voicing 80
+mbrola ee1 ee1_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-en1 b/resources/espeak-ng-data/voices/mb/mb-en1
new file mode 100644
index 0000000..589231d
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-en1
@@ -0,0 +1,9 @@
+name english-mb-en1
+language en-uk 3
+language en-gb 3
+language en 2
+gender male
+
+voicing 150
+pitch 82 117
+mbrola en1 en1_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-es1 b/resources/espeak-ng-data/voices/mb/mb-es1
new file mode 100644
index 0000000..e27f1e7
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-es1
@@ -0,0 +1,9 @@
+language es-es 7
+language es 7
+name spanish-mbrola-1
+gender male
+pitch 82 117
+
+mbrola es1 es_phtrans
+voicing 120
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-es2 b/resources/espeak-ng-data/voices/mb/mb-es2
new file mode 100644
index 0000000..64c52ae
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-es2
@@ -0,0 +1,8 @@
+language es-es 7
+language es 7
+name spanish-mbrola-2
+gender male
+pitch 82 117
+
+mbrola es2 es_phtrans 22050
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-es3 b/resources/espeak-ng-data/voices/mb/mb-es3
new file mode 100644
index 0000000..7788c80
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-es3
@@ -0,0 +1,6 @@
+language es-es 3
+language es 3
+name spanish-mbrola-3
+gender female
+pitch 140 260
+mbrola es3 es3_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-es4 b/resources/espeak-ng-data/voices/mb/mb-es4
new file mode 100644
index 0000000..464d00b
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-es4
@@ -0,0 +1,5 @@
+language es-es 4
+language es 4
+name spanish-mbrola-4
+gender male
+mbrola es4 es4_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-fr1 b/resources/espeak-ng-data/voices/mb/mb-fr1
new file mode 100644
index 0000000..2e5c247
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-fr1
@@ -0,0 +1,12 @@
+language fr-fr 7
+language fr 7
+name french-mbrola-1
+gender male
+
+dictrules 1
+stressLength 180 180 180 180 0 0 220 220
+pitch 82 117
+voicing 70
+
+mbrola fr1 fr_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-fr1-en b/resources/espeak-ng-data/voices/mb/mb-fr1-en
new file mode 100644
index 0000000..0cc94f5
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-fr1-en
@@ -0,0 +1,9 @@
+name en-french-1
+language en 10
+gender male
+
+dictrules 1
+pitch 82 117
+voicing 70
+mbrola fr1 fr_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-fr2 b/resources/espeak-ng-data/voices/mb/mb-fr2
new file mode 100644
index 0000000..788c747
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-fr2
@@ -0,0 +1,7 @@
+language fr-fr 8
+language fr 8
+name french-mbrola-2
+gender female
+pitch 140 220
+mbrola fr2 fr_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-fr3 b/resources/espeak-ng-data/voices/mb/mb-fr3
new file mode 100644
index 0000000..0c93a39
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-fr3
@@ -0,0 +1,7 @@
+language fr-fr 8
+language fr 8
+name french-mbrola-3
+gender male
+pitch 82 117
+mbrola fr3 fr_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-fr4 b/resources/espeak-ng-data/voices/mb/mb-fr4
new file mode 100644
index 0000000..1933aea
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-fr4
@@ -0,0 +1,10 @@
+language fr-fr 7
+language fr 7
+name french-mbrola-4
+gender female
+
+dictrules 1
+pitch 140 220
+voicing 90
+mbrola fr4 fr_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-fr4-en b/resources/espeak-ng-data/voices/mb/mb-fr4-en
new file mode 100644
index 0000000..165e11b
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-fr4-en
@@ -0,0 +1,9 @@
+language en 10
+name en-french-4
+gender female
+
+dictrules 1
+pitch 140 220
+voicing 90
+mbrola fr4 fr_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-fr5 b/resources/espeak-ng-data/voices/mb/mb-fr5
new file mode 100644
index 0000000..97208da
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-fr5
@@ -0,0 +1,7 @@
+language fr-be 6
+language fr 9
+name french-mbrola-5
+gender male
+pitch 82 117
+mbrola fr5 fr_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-fr6 b/resources/espeak-ng-data/voices/mb/mb-fr6
new file mode 100644
index 0000000..3286da8
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-fr6
@@ -0,0 +1,7 @@
+language fr-fr 8
+language fr 8
+name french-mbrola-6
+gender male
+pitch 82 117
+mbrola fr6 fr_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-fr7 b/resources/espeak-ng-data/voices/mb/mb-fr7
new file mode 100644
index 0000000..f72569d
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-fr7
@@ -0,0 +1,6 @@
+language fr 8
+name french-mbrola-7
+gender male
+pitch 82 117
+mbrola fr7 fr_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-gr1 b/resources/espeak-ng-data/voices/mb/mb-gr1
new file mode 100644
index 0000000..bcf7381
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-gr1
@@ -0,0 +1,7 @@
+name greek-mbrola-1
+language el 7
+gender male
+
+pitch 82 117
+voicing 65
+mbrola gr1 gr1_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-gr2 b/resources/espeak-ng-data/voices/mb/mb-gr2
new file mode 100644
index 0000000..f67fdd6
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-gr2
@@ -0,0 +1,7 @@
+name greek-mbrola-2
+language el 2
+gender male
+
+pitch 82 117
+voicing 65
+mbrola gr2 gr2_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-gr2-en b/resources/espeak-ng-data/voices/mb/mb-gr2-en
new file mode 100644
index 0000000..c9bd20d
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-gr2-en
@@ -0,0 +1,7 @@
+name en-greek
+language en 9
+gender male
+
+pitch 82 117
+voicing 65
+mbrola gr2 gr2_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-hb1 b/resources/espeak-ng-data/voices/mb/mb-hb1
new file mode 100644
index 0000000..3d9ac21
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-hb1
@@ -0,0 +1,5 @@
+name hebrew-mbrola-1
+language he
+gender male
+
+mbrola hb1 he_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-hb2 b/resources/espeak-ng-data/voices/mb/mb-hb2
new file mode 100644
index 0000000..695b7c0
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-hb2
@@ -0,0 +1,5 @@
+name hebrew-mbrola-2
+language he
+gender female
+pitch 180 220
+mbrola hb2 he_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-hu1 b/resources/espeak-ng-data/voices/mb/mb-hu1
new file mode 100644
index 0000000..195ea33
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-hu1
@@ -0,0 +1,7 @@
+name hungarian-mbrola-1
+language hu 7
+gender female
+
+pitch 140 220
+voicing 160
+mbrola hu1 hu1_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-hu1-en b/resources/espeak-ng-data/voices/mb/mb-hu1-en
new file mode 100644
index 0000000..28ce375
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-hu1-en
@@ -0,0 +1,7 @@
+name en-hungarian
+language en 10
+gender female
+
+pitch 140 220
+voicing 160
+mbrola hu1 hu1_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-ic1 b/resources/espeak-ng-data/voices/mb/mb-ic1
new file mode 100644
index 0000000..8b784f9
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-ic1
@@ -0,0 +1,7 @@
+name icelandic-mbrola-1
+language is 6
+gender male
+
+voicing 180
+mbrola ic1 ic1_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-id1 b/resources/espeak-ng-data/voices/mb/mb-id1
new file mode 100644
index 0000000..aa57c31
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-id1
@@ -0,0 +1,8 @@
+name indonesian-mbrola-1
+language id 7
+gender male
+
+pitch 82 117
+voicing 120
+mbrola id1 id1_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-in1 b/resources/espeak-ng-data/voices/mb/mb-in1
new file mode 100644
index 0000000..ce0f4d9
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-in1
@@ -0,0 +1,5 @@
+name hindi-mbrola-1
+language hi 1
+gender male
+mbrola in1 in_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-in2 b/resources/espeak-ng-data/voices/mb/mb-in2
new file mode 100644
index 0000000..9794e2c
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-in2
@@ -0,0 +1,6 @@
+name hindi-mbrola-2
+language hi 2
+gender female
+pitch 140 220
+mbrola in2 in_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-ir1 b/resources/espeak-ng-data/voices/mb/mb-ir1
new file mode 100644
index 0000000..c47d207
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-ir1
@@ -0,0 +1,22 @@
+name persian-mb-ir1
+language fa
+gender male
+phonemes fa
+mbrola ir1 ir1_phtrans
+
+// "speed 82" adjust default speed of "mb-ir1" with eSpeak "fa".
+speed 82
+// Please don't change this value. It's result of several tests.
+
+// "voicing 125" adjust output volume of "mb-ir1" with eSpeak "fa".
+voicing 125
+// Please don't change this value. It's result of several tests.
+
+// "pitch 82 118" adjust default pitch of "mb-ir1" like other male voices.
+pitch 82 118
+// Please don't change this value. The result male voice is good and natural.
+
+// If you want use Pinglish instead of English for reading, just delete // from start of next line.
+// dictrules 1
+// "dictrules 1" read English text as Pinglish (Persian text that written with English alphabets).
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-it1 b/resources/espeak-ng-data/voices/mb/mb-it1
new file mode 100644
index 0000000..a106b19
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-it1
@@ -0,0 +1,5 @@
+name italian-mbrola-1
+language it 8
+gender male
+pitch 82 117
+mbrola it1 it1_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-it2 b/resources/espeak-ng-data/voices/mb/mb-it2
new file mode 100644
index 0000000..e2c1742
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-it2
@@ -0,0 +1,5 @@
+name italian-mbrola-2
+language it 8
+gender female
+pitch 140 220
+mbrola it2 it1_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-it3 b/resources/espeak-ng-data/voices/mb/mb-it3
new file mode 100644
index 0000000..89f7dcd
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-it3
@@ -0,0 +1,9 @@
+name italian-mbrola-3
+language it 7
+gender male
+
+pitch 82 117
+voicing 65
+mbrola it3 it3_phtrans
+
+replace 03 i I // final unstressed "i"
diff --git a/resources/espeak-ng-data/voices/mb/mb-it4 b/resources/espeak-ng-data/voices/mb/mb-it4
new file mode 100644
index 0000000..cb3a6ff
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-it4
@@ -0,0 +1,9 @@
+name italian-mbrola-4
+language it 7
+gender female
+
+pitch 140 220
+voicing 60
+mbrola it4 it3_phtrans
+
+replace 03 i I // final unstressed "i"
diff --git a/resources/espeak-ng-data/voices/mb/mb-jp1 b/resources/espeak-ng-data/voices/mb/mb-jp1
new file mode 100644
index 0000000..f08eade
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-jp1
@@ -0,0 +1,4 @@
+name japanese-mbrola-1
+language ja 1
+gender male
+mbrola jp1 jp_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-jp2 b/resources/espeak-ng-data/voices/mb/mb-jp2
new file mode 100644
index 0000000..988d6fc
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-jp2
@@ -0,0 +1,6 @@
+pitch 120 260
+name japanese-mbrola-2
+language ja 2
+gender female
+pitch 160 300
+mbrola jp2 jp_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-jp3 b/resources/espeak-ng-data/voices/mb/mb-jp3
new file mode 100644
index 0000000..454792e
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-jp3
@@ -0,0 +1,5 @@
+name japanese-mbrola-3
+language ja 3
+gender female
+pitch 160 300
+mbrola jp3 jp_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-la1 b/resources/espeak-ng-data/voices/mb/mb-la1
new file mode 100644
index 0000000..7ef93a5
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-la1
@@ -0,0 +1,6 @@
+name latin-mbrola-1
+language la 7
+gender male
+
+pitch 82 117
+mbrola la1 la1_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-lt1 b/resources/espeak-ng-data/voices/mb/mb-lt1
new file mode 100644
index 0000000..f1cf4a3
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-lt1
@@ -0,0 +1,6 @@
+name lithuanian-mbrola-1
+language lt 7
+gender male
+
+pitch 82 117
+mbrola lt1 lt_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-lt2 b/resources/espeak-ng-data/voices/mb/mb-lt2
new file mode 100644
index 0000000..234bad4
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-lt2
@@ -0,0 +1,6 @@
+name lithuanian-mbrola-2
+language lt 7
+gender male
+
+pitch 82 117
+mbrola lt2 lt_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-ma1 b/resources/espeak-ng-data/voices/mb/mb-ma1
new file mode 100644
index 0000000..fe62fbd
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-ma1
@@ -0,0 +1,7 @@
+name malay-mbrola-1
+language ms 1
+gender female
+pitch 140 260
+phonemes id
+mbrola ma1 ma1_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-mx1 b/resources/espeak-ng-data/voices/mb/mb-mx1
new file mode 100644
index 0000000..99b723c
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-mx1
@@ -0,0 +1,10 @@
+language es-mx 7
+language es 8
+name mexican-mbrola-1
+gender male
+pitch 82 117
+
+mbrola mx1 mx1_phtrans
+
+replace 00 T s
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-mx2 b/resources/espeak-ng-data/voices/mb/mb-mx2
new file mode 100644
index 0000000..f46f0be
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-mx2
@@ -0,0 +1,10 @@
+language es-mx 7
+language es 8
+name mexican-mbrola-2
+gender male
+pitch 82 117
+
+mbrola mx2 mx2_phtrans
+
+replace 00 T s
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-nl1 b/resources/espeak-ng-data/voices/mb/mb-nl1
new file mode 100644
index 0000000..3c2c6a1
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-nl1
@@ -0,0 +1,5 @@
+name dutch-mbrola-1
+language nl 9
+gender male
+mbrola nl1 nl_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-nl2 b/resources/espeak-ng-data/voices/mb/mb-nl2
new file mode 100644
index 0000000..273f98b
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-nl2
@@ -0,0 +1,9 @@
+language nl 7
+name dutch-mbrola-2
+gender male
+
+pitch 82 117
+voicing 130
+
+mbrola nl2 nl_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-nl2-en b/resources/espeak-ng-data/voices/mb/mb-nl2-en
new file mode 100644
index 0000000..ad0ac40
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-nl2-en
@@ -0,0 +1,9 @@
+language en 10
+name en-dutch
+gender male
+
+pitch 82 117
+voicing 130
+
+mbrola nl2 nl_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-nl3 b/resources/espeak-ng-data/voices/mb/mb-nl3
new file mode 100644
index 0000000..390afba
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-nl3
@@ -0,0 +1,6 @@
+name dutch-mbrola-3
+language nl 9
+gender female
+pitch 130 200
+mbrola nl3 nl_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-nz1 b/resources/espeak-ng-data/voices/mb/mb-nz1
new file mode 100644
index 0000000..7d84ed8
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-nz1
@@ -0,0 +1,5 @@
+name maori-mbrola-1
+language mi
+gender male
+mbrola nz1 nz1_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-pl1 b/resources/espeak-ng-data/voices/mb/mb-pl1
new file mode 100644
index 0000000..cedeb46
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-pl1
@@ -0,0 +1,7 @@
+name polish-mbrola-1
+language pl 7
+gender female
+
+pitch 140 220
+voicing 120
+mbrola pl1 pl1_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-pl1-en b/resources/espeak-ng-data/voices/mb/mb-pl1-en
new file mode 100644
index 0000000..9ba872a
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-pl1-en
@@ -0,0 +1,6 @@
+name en-polish
+language en 11
+gender female
+
+pitch 140 220
+mbrola pl1 pl1_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-pt1 b/resources/espeak-ng-data/voices/mb/mb-pt1
new file mode 100644
index 0000000..9a8f38e
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-pt1
@@ -0,0 +1,11 @@
+language pt-pt 7
+language pt 7
+name portugal-mbrola-1
+gender female
+pitch 145 240
+
+dictrules 1
+voicing 70
+
+mbrola pt1 pt1_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-ro1 b/resources/espeak-ng-data/voices/mb/mb-ro1
new file mode 100644
index 0000000..14417c1
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-ro1
@@ -0,0 +1,7 @@
+name romanian-mbrola-1
+language ro 7
+gender male
+
+pitch 82 117
+mbrola ro1 ro1_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-ro1-en b/resources/espeak-ng-data/voices/mb/mb-ro1-en
new file mode 100644
index 0000000..f310f86
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-ro1-en
@@ -0,0 +1,7 @@
+name en-romanian
+language en 9
+gender male
+
+pitch 82 117
+mbrola ro1 ro1_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-sw1 b/resources/espeak-ng-data/voices/mb/mb-sw1
new file mode 100644
index 0000000..57ee32a
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-sw1
@@ -0,0 +1,9 @@
+name swedish-mbrola-1
+language sv 7
+gender male
+
+pitch 82 117
+voicing 120
+
+mbrola sw1 sv_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-sw1-en b/resources/espeak-ng-data/voices/mb/mb-sw1-en
new file mode 100644
index 0000000..627af2f
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-sw1-en
@@ -0,0 +1,9 @@
+name en-swedish
+language en 11
+gender male
+
+pitch 82 117
+voicing 120
+
+mbrola sw1 sv_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-sw2 b/resources/espeak-ng-data/voices/mb/mb-sw2
new file mode 100644
index 0000000..55cfa0d
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-sw2
@@ -0,0 +1,9 @@
+name swedish-mbrola-2
+language sv 8
+gender female
+
+pitch 140 220
+voicing 130
+
+mbrola sw2 sv2_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-sw2-en b/resources/espeak-ng-data/voices/mb/mb-sw2-en
new file mode 100644
index 0000000..015cc9c
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-sw2-en
@@ -0,0 +1,9 @@
+name en-swedish-f
+language en 10
+gender female
+
+pitch 140 220
+voicing 130
+
+mbrola sw2 sv2_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-tl1 b/resources/espeak-ng-data/voices/mb/mb-tl1
new file mode 100644
index 0000000..3f4cceb
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-tl1
@@ -0,0 +1,6 @@
+name telugu-mbrola-1
+language te
+gender female
+pitch 160 260
+mbrola tl1 tl1_phtrans
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-tr1 b/resources/espeak-ng-data/voices/mb/mb-tr1
new file mode 100644
index 0000000..97a337d
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-tr1
@@ -0,0 +1,7 @@
+name turkish-mbrola-1
+language tr 7
+gender male
+
+mbrola tr1 tr1_phtrans
+dictrules 1
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-tr2 b/resources/espeak-ng-data/voices/mb/mb-tr2
new file mode 100644
index 0000000..1dfbf95
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-tr2
@@ -0,0 +1,10 @@
+name turkish-mbrola-1
+language tr 7
+gender female
+
+pitch 160 230
+voicing 170
+
+mbrola tr2 tr1_phtrans
+dictrules 1
+
diff --git a/resources/espeak-ng-data/voices/mb/mb-us1 b/resources/espeak-ng-data/voices/mb/mb-us1
new file mode 100644
index 0000000..3dd7526
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-us1
@@ -0,0 +1,12 @@
+name us-mbrola-1
+language en-us
+language en 8
+gender female
+
+phonemes en-us
+dictrules 3 6
+
+stressLength 170 135 205 205 0 0 245 275
+
+pitch 140 220
+mbrola us1 us_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-us2 b/resources/espeak-ng-data/voices/mb/mb-us2
new file mode 100644
index 0000000..de799f0
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-us2
@@ -0,0 +1,13 @@
+name us-mbrola-2
+language en-us
+language en 7
+gender male
+
+phonemes en-us
+dictrules 3 6
+
+stressLength 170 135 205 205 0 0 245 275
+
+pitch 82 117
+voicing 80
+mbrola us2 us_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-us3 b/resources/espeak-ng-data/voices/mb/mb-us3
new file mode 100644
index 0000000..c538b13
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-us3
@@ -0,0 +1,13 @@
+name us-mbrola-3
+language en-us
+language en 8
+gender male
+
+phonemes en-us
+dictrules 3 6
+
+stressLength 170 135 205 205 0 0 245 275
+
+voicing 150
+pitch 82 117
+mbrola us3 us3_phtrans
diff --git a/resources/espeak-ng-data/voices/mb/mb-vz1 b/resources/espeak-ng-data/voices/mb/mb-vz1
new file mode 100644
index 0000000..d64a9e5
--- /dev/null
+++ b/resources/espeak-ng-data/voices/mb/mb-vz1
@@ -0,0 +1,11 @@
+language es-vz 7
+language es 8
+name venezuala-mbrola-1
+gender male
+pitch 82 117
+
+mbrola vz1 vz_phtrans
+
+dictrules 3
+replace 00 T s
+voicing 200
diff --git a/resources/espeak-ng-data/zh_dict b/resources/espeak-ng-data/zh_dict
new file mode 100644
index 0000000..dda6644
Binary files /dev/null and b/resources/espeak-ng-data/zh_dict differ
diff --git a/resources/espeak-ng-data/zhy_dict b/resources/espeak-ng-data/zhy_dict
new file mode 100644
index 0000000..7fa64e0
Binary files /dev/null and b/resources/espeak-ng-data/zhy_dict differ
diff --git a/resources/espeak_build/espeak-ng b/resources/espeak_build/espeak-ng
new file mode 100755
index 0000000..c2d7577
Binary files /dev/null and b/resources/espeak_build/espeak-ng differ
diff --git a/resources/espeak_build/espeak_sh b/resources/espeak_build/espeak_sh
new file mode 100755
index 0000000..1e864b1
--- /dev/null
+++ b/resources/espeak_build/espeak_sh
@@ -0,0 +1,2 @@
+#/usr/bin/bash
+LD_LIBRARY_PATH="$(dirname $0)/shared_library" "$(dirname $0)/espeak-ng" $@
diff --git a/resources/espeak_build/shared_library/libespeak-ng.so.1 b/resources/espeak_build/shared_library/libespeak-ng.so.1
new file mode 100755
index 0000000..f3713f2
Binary files /dev/null and b/resources/espeak_build/shared_library/libespeak-ng.so.1 differ
diff --git a/resources/espeak_build/shared_library/libportaudio.so.2 b/resources/espeak_build/shared_library/libportaudio.so.2
new file mode 100644
index 0000000..066bed3
Binary files /dev/null and b/resources/espeak_build/shared_library/libportaudio.so.2 differ
diff --git a/resources/espeak_build/shared_library/libstdc++.so.6 b/resources/espeak_build/shared_library/libstdc++.so.6
new file mode 100644
index 0000000..13613e3
Binary files /dev/null and b/resources/espeak_build/shared_library/libstdc++.so.6 differ