Professional Documents
Culture Documents
Vocalizer User Rules
Vocalizer User Rules
language = ENU
charset = utf-8
[data]
#
# Siri Additions
#
#
# Keep this rule first. It normalizes smart quotes: rdar://problem/41120098
/[’]/
ʼ --> "'"
# P1 rdar://problem/48871076, rdar://problem/50261920
/(?<=\d )ft\)/i --> "feet"
/\bLead(?= is a chemical\b)/i --> "led"
/\b(\d)-(\d)(?= hours\b)/ --> "$1 to $2"
/(?<=\b1 )km?[p\/]h\b/ --> "kilometer per hour "
/(?<=\d )km?[p\/]hr?\b\)?/i --> "kilometers per hour"
/(?<=\b1 )m[p\/]h\b/ --> "mile per hour "
/\bm[p\/]h\b/ --> "miles per hour "
/\bcoldblooded\b/i --> "cold-blooded"
/\bVEI\b/ --> " V E I "
/\bpre-tax\b/i --> "pre tax"
/(?<=\s|^)1 m[3³](?=\s|$|[[:punct:]])/ --> "one cubic meter"
/(?<=\s|^|\d\.)(\d+) m3(?=\s|$|[[:punct:]])/ --> "$1 cubic meters"
/(?<=\s|^)1 m(?=\s|$|[[:punct:]])/ --> "one meter"
/(?<=\d) m(?=\s|$|[[:punct:]])/ --> "meters"
/(?<=\s|^)1 cm(?=\s|$|[[:punct:]])/ --> "one centimeter"
/(?<=\d) ?cm(?=\s|$|[[:punct:]])/ --> "centimeters"
/\bdefen[sc]e force\b/i --> "\e/+dI.'fEns_fOR+s\e/+"
/(?<=\ba |\bthe )slough\b/i --> "\e/+'sla&U\e/+"
/(?<!\bhe |\bshe |\bit )sloughs\b/i --> "\e/+'sla&Uz\e/+"
# rdar://problem/51770582
/(?<=\bon your|\bon the)( right| left) ?(\e\\tn=normal\\$)/i --> "$1.$2" #
insert period at end of nav sentence for neural voice
# Apple names
// --> "Apple "
/\bAlways-on\b/i --> "\e/+Ol.we&Iz_'A+n\e/+"
/(?<=\b(24|25|30|50|60))FPS\b/i --> " frames per second"
/(?<=\b(24|25|30|50|60)) FPS\b/i --> "frames per second"
/(?<=\b(120|240))FPS\b/i --> " frames per second"
/(?<=\b(120|240)) FPS\b/i --> "frames per second"
/\b29\.97 ?FPS\b/i --> "twenty-nine point nine seven frames per second"
/\bappleid\.apple\.com\b/i --> "Apple ID dot Apple dot com"
/\bWWDC\b/ --> "W W D C"
/\bPlugInKit\b/i --> "Plug In Kit"
/\burBeats\s?[3³](?=\s|$|[[:punct:]])/i --> "\e/+'jE0_'bits_'TR+i\e/+"
/\burBeats\s?[2²](?=\s|$|[[:punct:]])/i --> "\e/+'jE0_'bits_'tu\e/+"
/\burBeats\b/i --> "\e/+'jE0_'bits\e/+"
/\bBeats Tour\s?[2²](?=\s|$|[[:punct:]])/i --> "\e/+'bits_'tOR+_'tu\e/+"
/\bUI\s?Kit\b/i --> "\e/+'ju_'a&I_'kIt\e/+"
/\bSatjiv Chahil\b/i --> "\e/+sA.'d&Ziv_'t&SA.hIl\e/+"
/\bSatjiv S\.? Chahil\b/i --> "\e/+sA.'d&Ziv_'Es_'t&SA.hIl\e/+"
/\bGass[eé]e\b/i --> "\e/+g$.'se&I\e/+"
/\bAvie Tevanian\b/i --> "\e/+'A.vi_t$.'ve&I.ni.$n\e/+"
/\bBertrand Serlet\b/i --> "\e/+'bE0.tR+An_sE0.'le&I\e/+"
/\bou=people\b/i --> "O U equals people"
/\.Mac\b/ --> "dot Mac"
/\bGRid\b/ --> "G R I D"
/\bAIM\b/ --> "A I M"
/\bAnnotationKit\b/i --> "annotation kit"
/(?<=\bTouch )Bar\b/i --> "\e/+bAR+\e/+"
/\bmyapple\b/i --> "my apple"
#
# NUMBER RULES
# Area code normalization rdar://problem/47100840
/\b(?<=Area code )(\d)(\d)(\d)\b/i --> "$1 $2 $3"
# blood pressure readout 46547671
/(\b\d{1,3})\/(\d{1,3})(?= mmhg\b)/i --> "$1 over $2"
# handling of doubled up dollars
/\$(?=[,\d]+ dollars)/ --> "" # deletes dollar sign if amount is followed by
'dollars'
# two-dot version numbers rdar://problem/46625545
/(?<=\bversion |\biOS |\bmacOS )(\d{1,2})\.(\d{1,2})\.(\d{1,2})/i --> "$1 point
$2 point $3"
# $\d(\d\d) quadrillion normalization <rdar://problem/45243816>
/\$(\d{1,3} quadrillion\b)/i --> "$1 dollars"
/\$(\d{1,3}) mill?\b/ --> "$1 million dollars" # rdar://problem/50546150
/\$(\d{1,3}) bil\b/ --> "$1 billion dollars" # rdar://problem/50546150 -- don't
add "bill" variant, ambiguous
/\$(\d{1,3})k\b/i --> "$1 thousand dollars" # rdar://56581630 (D421/17C24: Siri
should read “$20k” as “twenty thousand dollars” instead of “twenty dollars k”)
/£(\d{1,3})k\b/i --> "$1 thousand pounds" # rdar://56581630 (D421/17C24: Siri
should read “$20k” as “twenty thousand dollars” instead of “twenty dollars k”)
/€(\d{1,3})k\b/i --> "$1 thousand euros" # rdar://56581630 (D421/17C24: Siri
should read “$20k” as “twenty thousand dollars” instead of “twenty dollars k”)
/\bR\s?(\d{1,3})k\b/i --> "$1 thousand rand" # rdar://56581630 (D421/17C24:
Siri should read “$20k” as “twenty thousand dollars” instead of “twenty dollars k”)
# 14...
# fourteen million rules
/(?<!\.)\b14,?0{3},?0{3}\b/ --> "\e/+fOR+.'tin\e/+ million"
/(?<!\.)\b14,?0{3},?0{2}([1-9](\.\d{1,})?)\b/ --> "\e/+fOR+.'tin\e/+ million and
$1"
/(?<!\.)\b14,?0{3},?0([1-9][0-9](\.\d{1,})?)\b/ --> "\e/+fOR+.'tin\e/+ million
and $1"
/(?<!\.)\b14,?0{3},?([1-9][0-9]{2}(\.\d{1,})?)\b/ --> "\e/+fOR+.'tin\e/+ million
$1"
/(?<!\.)\b14,?0{2}([1-9],?[0-9]{3}(\.\d{1,})?)\b/ --> "\e/+fOR+.'tin\e/+ million
$1"
/(?<!\.)\b14,?0([1-9][0-9],?[0-9]{3}(\.\d{1,})?)\b/ --> "\e/+fOR+.'tin\e/+
million $1"
/(?<!\.)\b([0-9][0-9]),?([1-9])14,?([0-9]{3}(\.\d{1,})?)\b/ --> "$1 million $2
hundred \e/+fOR+.'tin\e/+ thousand $3" # hack to make internal "N hundred 14" work
/(?<!\.)\b14,?([1-9][0-9]{2},?[0-9]{3}(\.\d{1,})?)\b/ --> "\e/+fOR+.'tin\e/+
million $1"
# fourteen thousand rules
/(?<!\.)\b14,?000(\.\d{1,})?\b/ --> "\e/+fOR+.'tin\e/+ thousand"
/(?<!\.)\b14,?0{2}([1-9](\.\d{1,})?)\b/ --> "\e/+fOR+.'tin\e/+ thousand and $1"
/(?<!\.)\b14,?0([1-9][0-9](\.\d{1,})?)\b/ --> "\e/+fOR+.'tin\e/+ thousand and $1"
/(?<!\.)\b14,?([1-9][0-9]{2}(\.\d{1,})?)\b/ --> "\e/+fOR+.'tin\e/+ thousand and
$1"
#
#
# thirteen million rules
/(?<!\.)\b13,?0{3},?0{3}\b/ --> "\e/+TE0R+.'tin\e/+ million"
/(?<!\.)\b13,?0{3},?0{2}([1-9](\.\d{1,})?)\b/ --> "\e/+TE0R+.'tin\e/+ million $1"
/(?<!\.)\b13,?0{3},?0([1-9][0-9](\.\d{1,})?)\b/ --> "\e/+TE0R+.'tin\e/+ million
$1"
/(?<!\.)\b13,?0{3},?([1-9][0-9]{2}(\.\d{1,})?)\b/ --> "\e/+TE0R+.'tin\e/+ million
$1"
/(?<!\.)\b13,?0{2}([1-9],?[0-9]{3}(\.\d{1,})?)\b/ --> "\e/+TE0R+.'tin\e/+ million
$1"
/(?<!\.)\b13,?0([1-9][0-9],?[0-9]{3}(\.\d{1,})?)\b/ --> "\e/+TE0R+.'tin\e/+
million $1"
/(?<!\.)\b([0-9][0-9]),?([1-9])13,?([0-9]{3}(\.\d{1,})?)\b/ --> "$1 million $2
hundred \e/+TE0R+.'tin\e/+ thousand $3" # hack to make internal "N hundred 13" work
/(?<!\.)\b13,?([1-9][0-9]{2},?[0-9]{3}(\.\d{1,})?)\b/ --> "\e/+TE0R+.'tin\e/+
million $1"
# thirteen thousand rules
/(?<!\.)\b13,?000\b/ --> "\e/+TE0R+.'tin\e/+ thousand"
/(?<!\.)\b13,?0{2}([1-9](\.\d{1,})?)\b/ --> "\e/+TE0R+.'tin\e/+ thousand $1"
/(?<!\.)\b13,?0([1-9][0-9](\.\d{1,})?)\b/ --> "\e/+TE0R+.'tin\e/+ thousand $1"
/(?<!\.)\b13,?([1-9][0-9]{2}(\.\d{1,})?)\b/ --> "\e/+TE0R+.'tin\e/+ thousand $1"
#
# 8:08 flap rules
/\b8:08\s?AM\b/i --> "\e/+'e&Ir6\e/+ oh \e/+'e&Ir6\e/+ AM"
/\b8:00\s?AM\b/i --> "\e/+'e&Ir6\e/+ AM"
/\b8:0([1-9])\s?AM\b/i --> "\e/+'e&Ir6\e/+ oh $1 AM"
/\b8:0([1-9])\b/i --> "\e/+'e&Ir6\e/+ oh $1"
/\b8:00\b/i --> "\e/+'e&Ir6\e/+ o'clock"
#
/(?<=\bbat( |-))and(?=( |-)ball\b)/i --> "\e/+_$n_\e/+"
#
# <rdar://problem/29099979> "<…> Here we go. 0001 <…>" Sentence boundary was not
respected
/(?<=\bHere we go\. )0000(?=, 0001, 0010, 0011…)/ --> "Zero_zero_zero_zero"
#
/\bUS-Mexico\b/ --> "\e/+'ju.'Es_'mEk.sI.ko&U\e/+"
/(?<=\bcity of) Regina\b/i --> "\e/+R+$.'d&Za&I.n$\e/+"
#
# <rdar://problem/36975934> [en-US-nashville:nora:130:female:gryphon:premium]
Here's the roster for Canada in Olympic
/(?<=\bHere's the roster for )Canada(?= in Olympic women's hockey\b)/i -->
"Canada," #Workaround
#
/(?<=\bcan't )read\b/i --> "\e/+R+id\e/+"
#
# <rdar://problem/37572279> [en-US]Nora-129: "I can't do that **" sounds like "I
can do that"
/\bcan['’]t\b/i
ʼ --> "\e/+'k@nt\e/+"
#
# <rdar://problem/37964402> TTS: "Now also playing in the Dining Room" Now + also
sounds strange
/\bNow also\b/i --> "\e/+'na&U.'Ol.so&U\e/+" # Workaround
#
#Acronyms
/\bNew York, NY\b/ --> "New York New York"
# Currency
/\b(R\$)\s?(([0-9]{1,3}[,\.])*[0-9]+)/ --> "$2 $1"
/₹1\b/ --> "one rupee"
/(₹)\s?(([0-9]{1,3}[,\.]?)*[0-9]+)/ --> "$2 $1"
/₹/ --> "\e/+'R+u.piz\e/+"
# Text Normalization: rdar://problem/39463278 -- fractions of dollars convert to
cents.
/\$0?\.01\b/ --> "one cent"
/\$0?\.0([1-9])\b/ --> "$1 cents"
/\$0?\.([1-9])\b/ --> "${1}0 cents"
/\$0?\.([1-9][0-9])\b/ --> "$1 cents"
#
/\bIS(?= images\b)/ --> "I S"
/\bXOXO\b/ --> "X O X O"
# rdar://problem/47101193
/\bACH\b/ --> "A C H"
/\bDIA\b/ --> "D I A"
#
# Episode rules (for Star Wars) must be above Roman Numerals
/(?<=\bEpisode )I\b/ --> "one, "
/(?<=\bEpisode )II\b/ --> "two, "
/(?<=\bEpisode )IV\b/ --> "four, "
/(?<=\bEpisode )V\b/ --> "five, "
/(?<=\bEpisode )VI\b/ --> "six, "
/(?<=\bEpisode )VII\b/ --> "seven, "
/(?<=\bEpisode )VIII\b/ --> "eight, "
/(?<=\bEpisode )IX\b/ --> "nine, "
#
# Roman Numerals
### Exceptions (keep these above default expansions):
/(?<=\bMelvin Gordon |\bMarvin Bagley )III\b/i --> "the third"
/(?<=\bWorld )XI\b/i --> "eleven"
/\bWWIII\b/i --> "world war three"
/(?<=\bWorld War )I\b/i --> "one"
/iX/ --> "\e/+'a&I.Eks\e/+"
/(\bThe|\bTha) Carter V\b/i --> "the carter five"
/(?<=\bFrederick )II\b/i --> "the second"
/(?<=\bBerenguer Ramon )II\b/i --> "the second"
/(?<=\bJames )I\b/i --> "the first"
/(?<=\bHenry Ford )II\b/i --> "the second"
/(?<=\bPope Urban )II\b/i --> "the second"
/(?<=\bUse Your Illusion )I\b/i --> "one"
/(?<=\bJohn Paul )II\b/i --> "the second"
/(?<=\bHassan )II\b/i --> "the second"
/(?<=\bTodd Gurley )II\b/i --> "the second"
/(?<=\bMargrethe )II\b/ --> "the second"
/(?<=\bObama )II\b/i --> "the second"
/(?<=\bjohann strauss )ii\b/i --> "the second"
/(?<=\bjohann strauss )ii's\b/i --> "the seconds"
/(?<=\bElizabeth )II\b/i --> "the second"
/(?<=\bCharles )II\b/i --> "the second"
/(?<=\bCharles Howell )III\b/i --> "the third"
/(?<=\bRichard )III\b/i --> "the third"
/(?<=\bDavis Love )III\b/i --> "the third"
/(?<=\bBilly Hurley )III\b/i --> "the third"
/(?<=\bHarold Varner )III\b/i --> "the third"
/(?<=\bcarnuccio )III\b/i --> "the third"
/(?<=\bleon thomas )III\b/i --> "the third"
/(?<=\bhank williams )III\b/i --> "the third"
/(?<=\bJoe Manchin )III\b/i --> "the third"
/(?<=\bLongineu W\. Parsons )III\b/i --> "the third"
/(?<=\bRay Phillips )IV\b/i --> "the fourth"
/(?<=\bEdward )IV\b/i --> "the fourth"
/(?<=\bEdward )VI\b/i --> "the sixth"
/(?<=\bJames )VI\b/i --> "the sixth"
/(?<=\bJames )VI and I\b/i --> "the sixth and first"
/(?<=\bHenry )VII\b/i --> "the seventh"
/(?<=\bHenry )VIII\b/i --> "the eighth"
### Below are EXCEPTIONS to be read as cardinals. These include lower-case
numerals.
/\biii\.(?= telegraph ave\.\b)/i --> "three"
/(?<=\bChapter |Dream Chaser )V\b/i --> "five"
### 1, 4, 5 and > 8 do not have default values.
/\b(Charles|William|Edward|James|Mary|Richard) I\b/i --> "$1 the first"
/(?<=\bElizabeth )I\b/i --> "the first"
/(?<=\bLiquid Mind )XI\b/i --> "eleven"
/(?<=\bKings )XI\b/i --> "eleven"
/(?<=\bBuddha[-\s]Bar )XVII\b/i --> "seventeen"
/(?<=\bQuinn )XCII\b/i --> "92"
/(?<=\bExperiment )IV\b/i --> "four"
# Super Bowl expansions
/(?<=\bSuper Bowl )I\b/i --> "1"
/(?<=\bSuper Bowl )IV\b/i --> "4"
/(?<=\bSuper Bowl )V\b/i --> "5"
/(?<=\bSuper Bowl )X\b/i --> "10"
/(?<=\bSuper Bowl )XI\b/i --> "11"
/(?<=\bSuper Bowl )XX\b/i --> "20"
/(?<=\bSuper Bowl )XXX\b/i --> "30"
/(?<=\bSuper Bowl )XL\b/i --> "40"
/(?<=\bSuper Bowl )L\b/i --> "50"
# rdar://problem/49198401
/(?<=\b[Dd]ivision )I\b/ --> "one"
# Default expansions (keep these below exceptions). \b not used: rdar://56051958
(D321/17A861: Siri pronounces my name (Félix) “Fay-fifty-nine”)
/(?<=\s|[[:punct:]]|^)II(?=\s|[[:punct:]]|$)/i --> "2"
/(?<=\s|[[:punct:]]|^)III(?=\s|[[:punct:]]|$)/i --> "3"
# IV and V not included, too ambiguous
/(?<=\s|[[:punct:]]|^)VI(?=\s|[[:punct:]]|$)/ --> "6"
/(?<=\s|[[:punct:]]|^)VII(?=\s|[[:punct:]]|$)/i --> "7"
/(?<=\s|[[:punct:]]|^)VIII(?=\s|[[:punct:]]|$)/i --> "8"
/(?<=\s|[[:punct:]]|^)IX(?=\s|[[:punct:]]|$)/i --> "9"
# X and XI not included, too ambiguous
/(?<=\s|[[:punct:]]|^)XII(?=\s|[[:punct:]]|$)/i --> "12"
/(?<=\s|[[:punct:]]|^)XIII(?=\s|[[:punct:]]|$)/i --> "13"
/(?<=\s|[[:punct:]]|^)XIV(?=\s|[[:punct:]]|$)/i --> "14"
/(?<=\s|[[:punct:]]|^)XV(?=\s|[[:punct:]]|$)/i --> "15"
/(?<=\s|[[:punct:]]|^)XVI(?=\s|[[:punct:]]|$)/i --> "16"
/(?<=\s|[[:punct:]]|^)XVII(?=\s|[[:punct:]]|$)/i --> "17"
/(?<=\s|[[:punct:]]|^)XVIII(?=\s|[[:punct:]]|$)/i --> "18"
/(?<=\s|[[:punct:]]|^)XIX(?=\s|[[:punct:]]|$)/i --> "19"
# XX not included, too ambiguous
/(?<=\s|[[:punct:]]|^)XXI(?=\s|[[:punct:]]|$)/i --> "21"
/(?<=\s|[[:punct:]]|^)XXII(?=\s|[[:punct:]]|$)/i --> "22"
/(?<=\s|[[:punct:]]|^)XXIII(?=\s|[[:punct:]]|$)/i --> "23"
/(?<=\s|[[:punct:]]|^)XXIV(?=\s|[[:punct:]]|$)/i --> "24"
/(?<=\s|[[:punct:]]|^)XXV(?=\s|[[:punct:]]|$)/i --> "25"
/(?<=\s|[[:punct:]]|^)XXVI(?=\s|[[:punct:]]|$)/i --> "26"
/(?<=\s|[[:punct:]]|^)XXVII(?=\s|[[:punct:]]|$)/i --> "27"
/(?<=\s|[[:punct:]]|^)XXVIII(?=\s|[[:punct:]]|$)/i --> "28"
/(?<=\s|[[:punct:]]|^)XXIX(?=\s|[[:punct:]]|$)/i --> "29"
# XXX not included, too ambiguous
/(?<=\s|[[:punct:]]|^)XXXI(?=\s|[[:punct:]]|$)/i --> "31"
/(?<=\s|[[:punct:]]|^)XXXII(?=\s|[[:punct:]]|$)/i --> "32"
/(?<=\s|[[:punct:]]|^)XXXIII(?=\s|[[:punct:]]|$)/i --> "33"
/(?<=\s|[[:punct:]]|^)XXXIV(?=\s|[[:punct:]]|$)/i --> "34"
/(?<=\s|[[:punct:]]|^)XXXV(?=\s|[[:punct:]]|$)/i --> "35"
/(?<=\s|[[:punct:]]|^)XXXVI(?=\s|[[:punct:]]|$)/i --> "36"
/(?<=\s|[[:punct:]]|^)XXXVII(?=\s|[[:punct:]]|$)/i --> "37"
/(?<=\s|[[:punct:]]|^)XXXVIII(?=\s|[[:punct:]]|$)/i --> "38"
/(?<=\s|[[:punct:]]|^)XXXIX(?=\s|[[:punct:]]|$)/i --> "39"
# XL not included, too ambiguous
/(?<=\s|[[:punct:]]|^)XLI(?=\s|[[:punct:]]|$)/i --> "41"
/(?<=\s|[[:punct:]]|^)XLII(?=\s|[[:punct:]]|$)/i --> "42"
/(?<=\s|[[:punct:]]|^)XLIII(?=\s|[[:punct:]]|$)/i --> "43"
/(?<=\s|[[:punct:]]|^)XLIV(?=\s|[[:punct:]]|$)/i --> "44"
/(?<=\s|[[:punct:]]|^)XLV(?=\s|[[:punct:]]|$)/i --> "45"
/(?<=\s|[[:punct:]]|^)XLVI(?=\s|[[:punct:]]|$)/i --> "46"
/(?<=\s|[[:punct:]]|^)XLVII(?=\s|[[:punct:]]|$)/i --> "47"
/(?<=\s|[[:punct:]]|^)XLVIII(?=\s|[[:punct:]]|$)/i --> "48"
/(?<=\s|[[:punct:]]|^)XLIX(?=\s|[[:punct:]]|$)/i --> "49"
# L not included, too ambiguous
/(?<=\s|[[:punct:]]|^)LI(?=\s|[[:punct:]]|$)/ --> "51" # interferes with
phonetics if case insensitive
/(?<=\s|[[:punct:]]|^)LII(?=\s|[[:punct:]]|$)/i --> "52"
/(?<=\s|[[:punct:]]|^)LIII(?=\s|[[:punct:]]|$)/i --> "53"
/(?<=\s|[[:punct:]]|^)LIV(?=\s|[[:punct:]]|$)/ --> "54" # interferes with
phonetics if case insensitive
/(?<=\s|[[:punct:]]|^)LV(?=\s|[[:punct:]]|$)/ --> "55" # interferes with
phonetics if case insensitive
/(?<=\s|[[:punct:]]|^)LVI(?=\s|[[:punct:]]|$)/i --> "56"
/(?<=\s|[[:punct:]]|^)LVII(?=\s|[[:punct:]]|$)/i --> "57"
/(?<=\s|[[:punct:]]|^)LVIII(?=\s|[[:punct:]]|$)/i --> "58"
/(?<=\s|[[:punct:]]|^)LIX(?=\s|[[:punct:]]|$)/ --> "59" # interferes with
phonetics if case insensitive
/(?<=\s|[[:punct:]]|^)LX(?=\s|[[:punct:]]|$)/i --> "60"
/(?<=\s|[[:punct:]]|^)LXI(?=\s|[[:punct:]]|$)/i --> "61"
/(?<=\s|[[:punct:]]|^)LXII(?=\s|[[:punct:]]|$)/i --> "62"
/(?<=\s|[[:punct:]]|^)LXIII(?=\s|[[:punct:]]|$)/i --> "63"
/(?<=\s|[[:punct:]]|^)LXIV(?=\s|[[:punct:]]|$)/i --> "64"
/(?<=\s|[[:punct:]]|^)LXV(?=\s|[[:punct:]]|$)/i --> "65"
/(?<=\s|[[:punct:]]|^)LXVI(?=\s|[[:punct:]]|$)/i --> "66"
/(?<=\s|[[:punct:]]|^)LXVII(?=\s|[[:punct:]]|$)/i --> "67"
/(?<=\s|[[:punct:]]|^)LXVIII(?=\s|[[:punct:]]|$)/i --> "68"
/(?<=\s|[[:punct:]]|^)LXIX(?=\s|[[:punct:]]|$)/i --> "69"
/(?<=\s|[[:punct:]]|^)LXX(?=\s|[[:punct:]]|$)/i --> "70"
/(?<=\s|[[:punct:]]|^)LXXI(?=\s|[[:punct:]]|$)/i --> "71"
/(?<=\s|[[:punct:]]|^)LXXII(?=\s|[[:punct:]]|$)/i --> "72"
/(?<=\s|[[:punct:]]|^)LXXIII(?=\s|[[:punct:]]|$)/i --> "73"
/(?<=\s|[[:punct:]]|^)LXXIV(?=\s|[[:punct:]]|$)/i --> "74"
/(?<=\s|[[:punct:]]|^)LXXV(?=\s|[[:punct:]]|$)/i --> "75"
#
/(?<=\s|[[:punct:]]|^)XCII(?=\s|[[:punct:]]|$)/i --> "92"
# Super bowl ordinal normalization -- must keep after other roman numeral
normalization, rdar://problem/47971499
# generic expansions
/(?<=the )(\d+)?(1)(?= Super Bowl)/i --> "$1$2st"
/(?<=the )(\d+)?(2)(?= Super Bowl)/i --> "$1$2nd"
/(?<=the )(\d+)?(3)(?= Super Bowl)/i --> "$1$2rd"
/(?<=the )(\d+)?(4|5|6|7|8|9|0)(?= Super Bowl)/i --> "$1$2th"
# expansions for ambiguous roman numerals, IV, V, X, XI, XX, XXX, XL, L, LIV,
LV
/(?<=\bthe )I(?= Super Bowl\b)/i --> "first"
/(?<=\bthe )IV(?= Super Bowl\b)/i --> "fourth"
/(?<=\bthe )V(?= Super Bowl\b)/i --> "fifth"
/(?<=\bthe )X(?= Super Bowl\b)/i --> "tenth"
/(?<=\bthe )XI(?= Super Bowl\b)/i --> "eleventh"
/(?<=\bthe )XX(?= Super Bowl\b)/i --> "twentieth"
/(?<=\bthe )XXX(?= Super Bowl\b)/i --> "thirtieth"
/(?<=\bthe )XL(?= Super Bowl\b)/i --> "fortieth"
/(?<=\bthe )L(?= Super Bowl\b)/i --> "fiftieth"
/(?<=\bthe )LIV(?= Super Bowl\b)/i --> "fifty-fourth"
/(?<=\bthe )LV(?= Super Bowl\b)/i --> "fifty-fifth"
# rdar://problem/50867187
/(?<=\s|^)¶(?= \d)/ --> "paragraph"
#
/\bangerfist\b/i --> "anger fist"
/(?<=\bPro )Bono\b/i --> "\e/+'bo&U.no&U\e/+"
/(?<=\bCui )Bono\b/i --> "\e/+'bo&U.no&U\e/+"
/\b['‘]00s\b/ --> "two thousands"
/\ba(-|–)ha\b/i --> "\e/+A_'hA\e/+"
/\ball(-|–)night\b/i --> "all night"
/\bgrab a beer\b/ --> "\e/+'gR+@b_'$_'biR+\e/+"
/\bthe remaining (1|one)\b/ --> "the \e/+R+$.'me&I.nInK\e/+ one"
/\bIRL\b/ --> "I R L" # for some reason, "eye are el" sounds better than "IRL"
/\bD\.R\.A\.M\./ --> "dram"
/\x{2103}/ --> "degrees celsius"
/\*?NSYNC\b/ --> "\e/+'En_'sInKk\e/+"
/\bLata Mangeshkar\b/i --> "\e/+l$.'tA_mAnK.'gES.k$\e/+"
/\bla vie\b/i --> "\e/+l@_'vi\e/+"
/\bboh(e|è)me\b/i --> "\e/+bo&U.'Em\e/+"
/\b1812(?= Overture\b| Solemn Overture\b)/i --> "eighteen twelve "
/\bbass pro\b/i --> "\e/+b@s_'pR+o&U\e/+"
/\bBasshunter\b/i --> "base hunter"
/\blos ba(n|ñ)os\b/i --> "\e/+lA+s_'b@.njA+s\e/+"
/\xA0/ --> " "
/@me\.com\b/ --> " at me dot com "
/©\s+copyright\b|\bcopyright\s+©/i --> "copyright"
/\bLego® (Batman|Movie)\b/i --> "lego $1"
/\b(\d{1,2}\/\d{1,2}\/\d{2,4})(?=\s+\d)/ --> " $1, "
/\biOS\b/ --> " I O S "
/\b(\d{1,2})\/(\d{1,2})\/10\b/ --> " $1/$2/2010 "
/(\d)m (ago|from now|later)/ --> "$1 min. $2"
/(\d)h\s+([0-5]?\d)m\b/ --> "$1 hr. $2 min."
/HI [Aa]rea/ --> "H I area"
/FA [Cc]up/ --> "F A cup"
/49er/ --> "forty niner"
/76er/ --> "seventy sixer"
/\bAFI\b/ --> "\e/+'e&I_'Ef_'a&I\e/+"
/\bETA\b/ --> "e-t-a"
/\bPG\b/ --> " p-g "
/\bITE\b/ --> "\e/+'a&I_ti_'i\e/+"
/\bJr\. Gong\b/i --> "junior gong"
/\bMartin Luther King, Jr\. Day\b/i --> "Martin Luther King Junior Day" # keep
above following "Jr" rule
/\b[Jj][r]((\.?)$|\.?('?s?\s[^A-Z])|(\.\s[^A-Z])|\.('?s?.))/ -->
"junior$2$3$4$5"
/(?<=\bFoster )\+(?= Partners\b)/ --> "and"
/(?<=\bJenn )Rogien\b/ --> "\e/+'R+o&U.g$n\e/+"
/(['"])(\x1b\\tn=[a-z]+\\)/ --> "$1 $2"
/\bxfinity\b/i --> "X finity"
# Golf
/\bariya jutanugarn\b/i --> "\e/+'E.R+i$_d&Zu.'t@.n$.gAR+n\e/+"
/\bmoriya jutanugarn\b/i --> "\e/+'mO.R+i$_d&Zu.'t@.n$.gAR+n\e/+"
/\bCIMB Classic\b/ --> "C I M B Classic"
/\bOHL Classic\b/ --> "O H L Classic"
/\bde Jonge\b/ --> "\e/+'di_'j^nK\e/+"
/\bLPGA KEB Hana Bank Championship\b/ --> "L P G A K E B Hana Bank
Championship"
/\bByeong Hun An\b/ --> "\e/+bi.'OnK_'hun_'An\e/+"
/\bSeung-Yul Noh\b/ --> "\e/+'s^nK.'j^l_'no&U\e/+"
/\bbonappetit\.com\b/i --> "bon appetit dot com"
/\bbon app(é|e)tit\b/i --> "\e/+'bo&Un_@.p$.'tit\e/+"
/\b(\w+), OH\b/ --> "$1, Ohio"
#
/\bmarket close\b/ --> "\e/+'mAR+.kIt_'klo&Uz\e/+"
/max…/i --> "max …"
/\b(\d+)nm\b/i --> "$1 \e/+'n@.n$.mi.r6$R+z\e/+"
#
/\bLaoco[öo]n\b/ --> "\e/+le&I.'A.k$.wAn\e/+"
/\bC[ôo]te d'Ivoire\b/ --> "\e/+ko&Ut_d$v.'wAR+\e/+"
/\bBering (Sea)\b/ --> "\e/+bER+.InK\e/+ $1"
#
/\x1b\\tn=spell\\…/ --> "\x1b\\tn=spell#\\…"
/^\x1b\\tn=([a-z]+)\\…/m --> "\x1b\\tn=$1#\\"
/(.*)\x1b\\tn=([a-z]+)\\…/ --> "$1,\x1b\\tn=$2\\"
/\x1b\\tn=([a-z]+)#\\/ --> "\x1b\\tn=$1\\"
#
/\b(Italian)(-|–)(American)\b/ --> "$1 $3"
/\b(African)(-|–)(American)\b/ --> "$1 $3"
#
/\bAndrea Bocelli\b/ --> " Ahn-drayah Bocelli "
/(?<=\bartist |\bband |\bwith |\bby |\bfrom |\bplay |\bplaying |\bturn |\bturning
|\bxbox )360\b/i --> "three sixty"
/(?<=\bApollo )440\b/i --> "four forty"
/(?<=\bBoyz )II(?= Men\b)/i --> "\e/+t$\e/+"
/\bREO Speedwagon\b/ --> " R E O Speedwagon "
/\bBlink[-.– ]?182\b/i --> " Blink 1 82 "
/(?<=\bMy )Age(?= Again\b)/ --> "\e/+'e&Id&Z\e/+"
/\bPanic! At the Disco\b/i --> "Panic At the Disco"
/"Ms\.\s/ --> "Ms "
/ - (\D)/ --> " ; $1"
/ \(Bonus Track Version\)/i --> " ; bonus track version "
/ \(Deluxe Version\)/i --> " ; Deluxe Version "
/ \(Remastered\)/i --> " ; Remastered "
/÷ \(Deluxe\)/i --> "divide deluxe"
/\bToo \$hort\b/i --> "too short"
/\bJoey Bada\b\$\$/i --> "joey badass"
/\bTravi\$ Scott\b/i --> "travis scott"
/\bCa\$h Out\b/i --> "cash out"
/\bA\$AP Ferg\b/i --> "\e/+'e&I.s@p_'fE0R+g\e/+"
/\bReal (Madrid|Salt Lake)\b/ --> "\e/+R+e&I.'Al\e/+ $1"
/\bA\$AP Rocky\b/i --> "\e/+'e&I.s@p_'R+A.ki\e/+"
#
/(?<=\bcanal)\s?(plus|\+)/i --> "pluce"
/(?<=\bSur )la Table\b/i --> "\e/+l$_'tOb\e/+"
/\b(a|the) convert\b/ --> "$1\e/+'kAn.vE0R+t\e/+"
/(\d+)\.(\d)(\d)\s?\%(?! percent\b)/ --> "$1 point $2 $3 percent"
/(\D|^)1\s?°/ --> "$1\x31 degree "
/°/ --> " degrees "
/\bRs\.1\b/i --> "1 rupee"
/\bRs\.([2-9][\d,\.]*)\b/i --> "$1 rupees"
/(\d)[\s\xa0]+(sen)(?=\.)/ --> "$1 $2 "
/\ba capella\b/i --> "\e/+'A_k$.'pE.l$\e/+"
/\bblvd\b/i --> " Boulevard "
/\bbtw\b/i --> " by the way "
/\bAbe Lincoln\b/ --> "\e/+'e&Ib_'lInK.k$n\e/+"
/\bActive Directory\b/ --> "\e/+'@k.tIv_d$.'R+Ek.t$.R+i\e/+"
/\bActivity Monitor\b/ --> "\e/+@k.'tI.v$.r6i_'mA.n$t.$R+\e/+"
/\bAd Lib\b/ --> "\e/+'@d_'lIb\e/+"
/\bAirPort Express\b/ --> "\e/+'ER+.pOR+t_Ik.'spR+Es\e/+"
/\bAirPort Extreme\b/ --> "\e/+'ER+.pOR+t_Ik.'stR+im\e/+"
/\bAirPort Utility\b/ --> "\e/+'ER+.pOR+t_ju.'tI.l$.r6i\e/+"
/\bAMR NB\b/ --> "\e/+'e&I_'Em_'AR+_'n@R+.o&U.b@nd\e/+"
/\bAOL Instant Messenger\b/ -->
"\e/+'e&I_'o&U_'El_'In.st$nt.'mEs.$n.d&Z$R+\e/+"
/\bAndrea Orlandi\b/ --> "\e/+An.'dR+e&I.$_OR+.'l@nd.i\e/+"
/\bAngel Rangel\b/ --> "\e/+An.'d&ZEl_R+An.'d&ZEl\e/+"
/\bApp Store\b/ --> "\e/+'@p_stOR+\e/+"
/\bappletv\b/i --> "Apple TV"
/\bsafemotos\b/i --> "\e/+'se&If_'mo&U.to&Uz\e/+"
/\bAptos St\. BBQ\b/ --> "\e/+'@p.tOs_stR+it_'bAR+.bI.kju\e/+"
/\bAston Villa\b/ --> "\e/+'@s.t$n_'vIl.$\e/+"
/\baugust dvorak\b/i --> "\e/+'O.g$st_'dvO.R+@k\e/+"
/\bAzbe Jug\b/ --> "\e/+'AZ.be&I_jug\e/+"
/\bBeats Solo[2²](?=\s|$|[[:punct:]])/i --> "\e/+'bits_'so&U.lo&U_'tu\e/+"
/\bBeats Solo\s?[3³](?=\s|$|[[:punct:]])/i --> "\e/+'bits_'so&U.lo&U_'TR+i\e/+"
/\bBeats\s?[Xˣ](?=\s|$|[[:punct:]])/i --> "\e/+bits_'Eks\e/+"
/\bBBC Minute\b/ --> "\e/+'bi.bi.'si_'mIn.It\e/+"
/\bBaye Djiby Fall\b/ --> "\e/+ba&I_'d&Zib.i_f@l\e/+"
/\bbhat?i d(oo|u)j\b/i --> "\e/+ba&I_'dud&Z\e/+"
/\bBleeding Love\b/ --> "\e/+'bli.dInK_'l^vv.\e/+"
/\bBlue (Da Ba Dee)\b/ --> "\e/+'blu_'dA_bA_'di.\e/+"
/\bCamel Meriem\b/ --> "\e/+k@.'mEl_'mER+.i.Em\e/+"
/\bD[ií]az\b/ --> "\e/+'di.@z\e/+"
/\bCarl[']*s Jr[\.]*\b/ --> "\e/+'kAR+lz_'d&Zun.j$R+\e/+"
/\bclose to\b/ --> "\e/+klo&Us_tu\e/+"
/\bclones, (\x1b\\pause=\d+\\)?(?=ireland\b|county monaghan\b)/i -->
"\e/+'klo&U.nIs\e/+, $1"
/\bDa Silva\b/ --> "\e/+d$_'sIl.v$\e/+"
/\bDao Castellana\b/ --> "\e/+da&U_kAs.tE.jA.n$\e/+"
/\bDavid De Gea\b/i --> "\e/+'dA.vId_d$_'he&I.$\e/+"
/\bDe Aza\b/ --> "\e/+di_'@z$\e/+"
/\bDe Bruyne\b/ --> "\e/+d$_'bR+un\e/+"
/\bDe Camargo\b/ --> "\e/+de&I_k$.'mAR+.go&U\e/+"
/\bDe Guzman\b/ --> "\e/+d$_'gUz.mAn\e/+"
/\bDe Jesus\b/ --> "\e/+d$.'he&I.zus\e/+"
/\bDe Jong\b/ --> "\e/+d$_'jOnK\e/+"
/\bDe La Rosa\b/ --> "\e/+dE.l$.'R+o&Uz.$\e/+"
/\bDe Laet\b/ --> "\e/+d$_'lAt\e/+"
/\bDe Ridder\b/ --> "\e/+d$_'R+Id.$R+\e/+"
/\bDesert Hills Premium Outlets\b/ --> "\e/+'dE.z$R+t_hIlz_'pR+i.mi.
$m_'a&Ut.l$ts\e/+"
/\bDigitalColor Meter\b/ --> "\e/+'dId&Z.I.r6l%)_'k^.l$R+_'mi.r6$R+\e/+"
/\bDirectory Utility\b/ --> "\e/+d$.'R+Ek.t$.R+i_ju.'tI.l$.r6i\e/+"
/\bDirk Kuyt\b/ --> "\e/+'diR+.Ik_'ka&Ut\e/+"
/\bDisk First Aid\b/ --> "\e/+'dIsk_'fE0R+st_e&Id\e/+"
/\bDja Djédjé/ --> "\e/+d&ZA_d&Ze&I.d&Ze&I\e/+"
/\bDomain Admins\b/ --> "\e/+do&U.'me&In_'@d.mInz\e/+"
/\bDos Santos\b/ --> "\e/+do&Us_'sAnt.o&Us\e/+"
/\bDr\. No\b/ --> "\e/+'dAk.t$R+_'no&U\e/+"
/\bDVD @CCESS\b/ --> "\e/+'di.vi.'di_'@k.sEs\e/+"
/\bdvořák\b/i --> "dvorak"
/\bdvorak keyboard\b/i --> "\e/+'dvO.R+@k_'ki.bOR+d\e/+"
/\bDubois( County|), (\x1b\\pause=\d+\\)?(?=Idaho\b|Illinois\b|Indiana\b|
Pennsylvania\b|Wyoming\b)/ --> "\e/+du.'bO&Is\e/+ $1, $2"
/\bEden Hazard\b/ --> "\e/+'e&I.dEn_'Az.AR+\e/+"
/\bEl Hany\b/ --> "\e/+El_'hA.ni\e/+"
/\bEminem Presents the Re-Up ; bonus track version\b/ -->
"\e/+E.mI.nEm_pR+I.'zEnts_'D$_'R+i.^p#'bo&U.n$s_'tR+@k_'vE0R+.Z$n\e/+"
/\bEmre Can\b/i --> "\e/+'Em.R+e&I_'t&SAn\e/+"
/\bEric Bauthéac\b/ --> "\e/+'e&I.R+ik_bo&U.'te&I.Ak\e/+"
/\bEric Mouloungui\b/ --> "\e/+'e&I.R+ik_mu.'lun.gwi\e/+"
/\bErwin Hoffer\b/ --> "\e/+'ER+.vIn_'hOf.$R+\e/+"
/\bEsporte Interativo\b/ --> "\e/+Es.'pOR+.te&I_In.t$R+.A.'ti.vo&U\e/+"
/\bFabien Robert\b/ --> "\e/+fA.bi.En_ro&U.bER+\e/+"
/\bFaruk Ateş/ --> "\e/+f$.'R+uk_'A.0tES\e/+"
/\bFinal Cut\b/ --> "\e/+'fa&I.nl%)_'k^t\e/+"
/\bFinal Cut Effects\b/ --> "\e/+'fa&I.nl%)_'k^t_$.'fEkts\e/+"
/\bFinal Cut Pro\b/ --> "\e/+'fa&I.nl%)_'k^t_'pR+o&U\e/+"
/\bFinal Cut Scripts\b/ --> "\e/+'fa&I.nl%)_'k^t_'skR+Ipts\e/+"
/\bFinal Cut Studio\b/ --> "\e/+'fa&I.nl%)_'k^t_'stu.r6i.o&U\e/+"
/\bfleur de lis\b/ --> "\e/+flUR+_d$_'li\e/+"
/\bFlorence \+ The Machine(|\'s)\b/i --> "Florence and the Machine"
/\bFuki Sushi\b/i --> "\e/+'fu.ki_'su.Si\e/+"
/\bGerard Roland\b/ --> "\e/+ZER+'.AR+_R+o&Ul.An\e/+"
/\bGokhan Tore\b/ --> "\e/+'go&Uk.An_'tOR+.e&I\e/+"
/\bGuy Ndy Assembe\b/ --> "\e/+'gi_n$.di_$.'sEm.be&I\e/+"
/\bgyu-kaku\b/i --> "\e/+'gi.'ju_'kA.ku\e/+"
/\bHà Nôi\b/ --> "\e/+'hA_'nO.i\e/+"
/\bHawaii Five-0\b/i --> "Hawaii five oh"
/\bHonolulu, HI\b/i --> "Honolulu, Hawaii"
/\bHustler's P\.O\.M\.E\./ --> "\e/+'h^s.l$R+s_po&Um\e/+"
/\biforgot\.apple\.com\b/ --> "\e/+a&I.f$R+.'gAt_dAr6_'@.pl%)_'dAt_'kAm\e/+"
/\biPhone 3G\b/ --> "\e/+'a&I.fo&Un_'TR+i_'d&Zi\e/+"
/\biPhone 3GS\b/ --> "\e/+'a&I.fo&Un_'TR+i_'d&Zi_'Es\e/+"
/\biPhone 4\b/ --> "\e/+'a&I.fo&Un_'fOR+\e/+"
/\biPod classic\b/ --> "\e/+'a&I.pAd_'kl@.sIk\e/+"
/\biPod nano\b/ --> "\e/+'a&I.pAd_'n@.no&U\e/+"
/\biPod shuffle\b/ --> "\e/+'a&I.pAd_'S^.fl%)\e/+"
/\biPod touch\b/ --> "\e/+'a&I.pAd_'t^t&S\e/+"
/\biTunes Connect\b/ --> "\e/+'a&I.tunz_k$.'nEkt\e/+"
/\biTunes Extras\b/ --> "\e/+'a&I.tunz_'Ek.stR+$z\e/+"
/\biTunes LP\b/ --> "\e/+'a&I.tunz_'El_'pi\e/+"
/\biTunes Match\b/ --> "\e/+'a&I.tunz_'m@t&S\e/+"
/\biTunes Media\b/ --> "\e/+'a&I.tunz_'mid.i.$\e/+"
/\biTunes Music Store\b/ --> "\e/+'a&I.tunz_'mju.zIk_stOR+\e/+"
/\biTunes Pass\b/ --> "\e/+'a&I.tunz_'p@s\e/+"
/\biTunes U\b/ --> "\e/+'a&I.tunz_'ju\e/+"
/\bJaime Burnes-France\b/ --> "\e/+'d&Ze&I.mi_bE0nz.fR+@ns\e/+"
/\bJan Kirchhoff\b/ --> "\e/+'jAn_'kiR+k.hOf\e/+"
/\bJan Moravek\b/ --> "\e/+jAn_mOR+.'Av.Ek\e/+"
/\bJan Mucha\b/ --> "\e/+jAn_'muk.h$\e/+"
/\bJan Polak\b/ --> "\e/+jAn_'po&U.lAk\e/+"
/\bJan Rosenthal\b/ --> "\e/+jAn_'R+o&Uz.$n.tAl\e/+"
/\bJan Schlaudraff\b/ --> "\e/+jAn_'Sla&Ud.R+Af\e/+"
/\bJan Vertonghen\b/ --> "\e/+jAn_v$R+'.tOnK.$n\e/+"
/\bJean Armel Kana-Biyik\b/ --> "\e/+ZAn_AR+.'mEl_kA.n$_'bi.jik\e/+"
/\bJean Baptiste Pierazzi\b/ --> "\e/+ZAn_bA.'tist_pi.ER+.'At.si\e/+"
/\bJean Beausejour\b/ --> "\e/+ZOn_'bOs.$.ju\e/+"
/\bJean Calvé(?=$|\s|-|[[:punct:]])/ --> "\e/+ZAn_kAl.'ve&I\e/+"
/\bJean Fanor\b/ --> "\e/+'ZOn_f$.'nOR+\e/+"
/\bJean Makoun\b/ --> "\e/+ZOn_m$.'kun\e/+"
/\bJean Philippe Sabo\b/ --> "\e/+ZAn_fi.'lip_sA.bo&U\e/+"
/\bJean-Bryan Boukaka\b/ --> "\e/+ZAn_bra&I.$n_bu.kA.k$\e/+"
/\bJean-Christophe Bahebeck\b/ --> "\e/+ZAn_kri.'stOf_bA.$.'bEk\e/+"
/\bJean-Daniel Akpa-Akpro\b/ --> "\e/+ZAn_dAn.'jEl_'Ak.p$_'Ak.pR+o&U\e/+"
/\bJean-Eudes Maurice\b/ --> "\e/+ZAn_ju.'dEs_mo&U.'R+is\e/+"
/\bJean-Louis Leca\b/ --> "\e/+ZAn_lu.i_lE.k$\e/+"
/\bJean-Pascal Mignot\b/ --> "\e/+ZAn_pAs.kAl_min.'jo&U\e/+"
/\bJeremy Pied\b/ --> "\e/+Ze&I.R+e&I.mi_pi.je&I\e/+"
/\bJerome Leroy\b/ --> "\e/+ZER+.o&Um_l$.R+wA\e/+"
/\bJerome Martin\b/ --> "\e/+ZER+.o&Um_mAR+.'tAn\e/+"
/\bJesse Joronen\b/ --> "\e/+'jEs.$_'jOR+.$.n$n\e/+"
/\bJo Jung\b/ --> "\e/+d&Zo&U_d&ZunK\e/+"
/\bJoan Angel Roman\b/ --> "\e/+wAn_'AnK.hEl_R+o&U.'mAn\e/+"
/\bJoan Hartock\b/ --> "\e/+Zo&U.An_hAR+.tOk\e/+"
/\bJohan Martial\b/ --> "\e/+jo&U.An_mAR+.ti.'Al\e/+"
/\bJonas De Roeck\b/ --> "\e/+'jo&Un.$s_d$_'R+o&Uk\e/+"
/\bJonas Martin\b/ --> "\e/+Zo&U.nAs_mAR+.'tAn\e/+"
/\bJulius Biada\b/ --> "\e/+'juli.$s_bi.'Ad.$\e/+"
/\bJuri Judt\b/ --> "\e/+'juR+.i_'jUd\e/+"
/\bJust remember: A watched iPhone never boils\b/ -->
"\e/+'dZ^st_R+I.'mEm.b$R+#$_'wAt&St_'a&I.fo&Un_'nE.v$R+_'bO&Ilz\e/+"
/\bKen Burns\b/ --> "\e/+'kEn_'bE0nz\e/+"
/\bKeychain Access\b/ --> "\e/+'ki.t&Se&In_'@k.sEs\e/+"
/\bKoch (Brothers|Industries)\b/i --> "\e/+'ko&Uk\e/+ $1"
/\bLa Secla\b/ --> "\e/+l$.'sEk.l$\e/+"
/\bLe Crom\b/ --> "\e/+l$_kro&Um\e/+"
/\bLED\b/ --> "\e/+El_i_'di\e/+"
/\bLEDs\b/ --> "\e/+El_i_'diz\e/+"
/\bLe Fondre\b/ --> "\e/+l$_'FOnd.R+$\e/+"
/\bLe Lan\b/ --> "\e/+l$_lAn\e/+"
/\bLe Pogam\b/ --> "\e/+l$_po&Ug.$m\e/+"
/\blil uzi vert\b/ --> "\e/+'lIL_'u.zi_'vER+t\e/+"
/\bLionel Cappone\b/ --> "\e/+li.o&U.nEl_ kA.pOn\e/+"
/\bLogic Pro X\b/ --> "\e/+'lA.d&ZIk_'pR+o&U_'tEn\e/+"
/\bLogic X\b/ --> "\e/+'lA.d&ZIk_'tEn\e/+"
/\bLouis Armstrong\b/ --> "\e/+'lu.i_'AR+m.stR+OnK\e/+"
/\bLouis Saha\b/ --> "\e/+lu.'i_'sA.$\e/+"
/\bLucas Piazón\b/ --> "\e/+lu.'k^s_pi.^.'zOn\e/+"
/\bMac App Store\b/ --> "\e/+'m@k_'@p_'stOR+\e/+"
/\bOS X\b/ --> "\e/+'o&U.'Es_'tEn\e/+"
/\bMac OS\b/ --> "\e/+'m@k_'o&U.'Es\e/+"
/\bMac Pro\b/ --> "\e/+'m@k_'pR+o&U\e/+"
/\bMac mini\b/ --> "\e/+'m@k_'mI.ni\e/+"
/\bMacBook Air\b/ --> "\e/+'m@k.bUk_'ER+\e/+"
/\bMacBook Pro\b/ --> "\e/+'m@k.bUk_'pR+o&U\e/+"
/\bMagic Mouse\b/ --> "\e/+'m@.d&ZIk_ma&Us\e/+"
/\bMagic Songs\b/ --> "\e/+'m@.d&ZIk_sOnKz\e/+"
/\bMagic Trackpad\b/ --> "\e/+'m@.d&ZIk_'tR+@k.p@d\e/+"
/\bMama Said\b/ --> "\e/+'mA.m$_'sEd\e/+"
/\bMarcel Gecov\b/ --> "\e/+'mAR+tsEl_'gEts.Of\e/+"
/\bMarcus Thames\b/ --> "\e/+'mAR+.k$s_'temz\e/+"
/\bMatthias Lehmann\b/ --> "\e/+'mA0t.i.$s_'le&I.mAn\e/+"
/\bMbah a Moute\b/ --> "\e/+$m.bA.A.'mu.te&I\e/+"
/\bMel Bellefontaine\b/ --> "\e/+'mEl_bEl.fAn.'te&In\e/+"
/\bmicex ind\b/i --> "micex index"
/\bMichael Lumb\b/ --> "\e/+'mik.a&Il_le&Im\e/+"
/\bMiss Movin' On\b/ --> "\e/+'mIs_'mu.vIn_'An\e/+"
/\bMiss Movin On\b/ --> "\e/+'mIs_'mu.vIn_'An\e/+"
/\bMono Lake\b/ --> "\e/+'mo&Un.o&U_le&Ik\e/+"
/\bMonte Vista\b/ --> "\e/+mAn.t$_'vIs.t$\e/+"
/\bMount Rainier\b/ --> "\e/+ma&Unt_R+e&I.'niR+\e/+"
/\bMoussa Sow\b/ --> "\e/+mu.s$_so&U\e/+"
/\bMusic Store\b/ --> "\e/+'mju.zIk_stOR+\e/+"
/\bNicolas Zeitlin\b/ --> "\e/+'nIk.$.l$s_'za&It.lIn\e/+"
/\bNicolas Gomollon\b/ --> "\e/+'nIk.$.l$s_'gOm.$.l$n\e/+"
/\bNike \+ iPod\b/ --> "\e/+'na&I.ki_pl^s_'a&I.pAd\e/+"
/\bO.co Colosseum\b/ --> "\e/+'o&U_dAt_ko&U_kAl.$.'si.$m\e/+"
/\bOpen Link\b/ --> "\e/+'o&U.p$n_lInKk\e/+"
/\bOb-La-Di, Ob-La-Da\b/ --> "\e/+'o&U_'blA_'di#'o&U_'blA_'dA\e/+"
/\bou=people, o=company\b/ --> "\e/+'o&U_'ju_'i.kw$lz_'pi.pl
%)#'o&U_'i.kw$lz_'k^m.p$.ni\e/+"
/\bp(e|ae)dophile\b/ --> "\e/+'pE.r6$.fa&Il\e/+"
/\bPatrick Roy\b/ --> "\e/+'p@.tR+Ik_'wA\e/+"
/\bPeer Kluge\b/ --> "\e/+'pER+_'klug.$\e/+"
/\bPetit Biscuit\b/i --> "\e/+p$.'ti_bi.'skwi\e/+"
/\bPéter Gulacsi\b/ --> "\e/+'pe&It.ER+_'gu.lA.t&Si\e/+"
/\bPhi Phi island\b/ --> "\e/+'pi_'pi_'a&I.l$nd\e/+"
/\bPlease use\b/ --> "\e/+'pliz_'juz\e/+"
/\bPodcast Capture\b/ --> "\e/+'pAd.k@st_'k@p.t&S$R+\e/+"
/\bPodcast Producer\b/ --> "\e/+'pAd.k@st_pR+$.'du.s$R+\e/+"
/\bPodcast Producer Server\b/ --> "\e/+'pAd.k@st_pR+$.'du.s$R+_'sE0R+.v$R+\e/+"
/\bPodcast Publisher\b/ --> "\e/+'pAd.k@st_'p^.blI.S$R+\e/+"
/\bPort Micro\b/ --> "\e/+'pOR+t_'ma&I.kR+o&U\e/+"
/\bPort Micro 0\b/ --> "\e/+'pOR+t_'ma&I.kR+o&U_'ziR+.o&U\e/+"
/\bPort Micro 1\b/ --> "\e/+'pOR+t_'ma&I.kR+o&U_'w^n\e/+"
/\bPower Nap\b/ --> "\e/+'pa&U.$R+_n@p\e/+"
/\bPowerbeats[3³](?=\s|$|[[:punct:]])/i --> "\e/+'pa&U.$R+.bits_'TR+i\e/+"
/\bPowerbeats[2²](?=\s|$|[[:punct:]])/i --> "\e/+'pa&U.$R+.bits_'tu\e/+"
/\bRAID Utility\b/ --> "\e/+'R+e&Id_ju.'tI.l$.r6i\e/+"
/\bRegina(\,)? (\x1b\\pause=\d+\\)?(?=Canada\b|Saskatchewan\b)/ -->
"\e/+R+I.'d&Za&In.$\e/+, $1"
/\bRemote Install Mac OS X\b/ -->
"\e/+R+I.'mo&Ut_In.'stOl_'m@k_'o&U.'Es_'tEn\e/+"
/\bRicky Gervais\b/ --> "\e/+'R+I.ki_d&Z$R+.'ve&Iz\e/+"
/\bRobinson Cancel\b/ --> "\e/+'R+Ab.In.s$n_k@n.'sEl\e/+"
/\bRomain Grange\b/ --> "\e/+R+o&U.mAn_gR+AnZ\e/+"
/\bRoman Colon\b/ --> "\e/+R+o&U.'mAn_k$.'lo&Un\e/+"
/\bRudy Mater\b/ --> "\e/+'R+u.di_mA.'te&I\e/+"
/\bSAP Center\b/ --> "\e/+'Es.e&I.'pi_'sEn.r6$R+\e/+"
/\bSamed Yesil\b/ --> "\e/+'sAm.e&Id_'je&I.Sil\e/+"
/\bSan Francisco\'s\b/i --> "\e/+s@n_fR+$n.'sIs.ko&Uz\e/+"
/\bSan Francisco\b/i --> "\e/+s@n_fR+$n.'sIs.ko&U\e/+"
/\bSanta Cruz\b/i --> "\e/+'s@.n$_kR+uz\e/+"
/\bSan Lorenzo\b/i --> "\e/+'s@n_l$.'R+En.zo&U\e/+"
/\bLos Gatos\b/i --> "\e/+'lo&Us_'gA.r6o&Us\e/+"
/\bsci fi\b/ --> "\e/+'sa&I_'fa&I\e/+"
/\bSerie A\b/ --> "\e/+'se&I.R+i.$_A\e/+"
/\bSergio Mitre\b/ --> "\e/+sER+Z.i.o&U_'mi.tR+e&I\e/+"
/\bSimon Mignolet\b/ --> "\e/+si.mOn_ min.jo&U.'le&I\e/+"
/\bSir Mix A Lot\b/ --> "\e/+'sE0R+_'mIks_$_'lAt\e/+"
/\bSpeakerboxxx\/The Love Below\b/ -->
"\e/+'spi.k$R+.bAks_D$_'l^v_bI.'lo&U\e/+"
/\bSt\. Denis\b/ --> "\e/+s@n_d$.'ni\e/+"
/\bSt\. Elsewhere\b/ --> "\e/+'se&Int_'Els.wER+\e/+"
/\bSt\.? Louis\b/ --> "\e/+se&Int_'lu.Is\e/+"
/\bTantek Çelik\b/ --> "\e/+'tAn.tEk_'t&SEl.Ik\e/+"
/\bThe Apple Collection\b/ --> "\e/+Di_'@.pl%)_k$.'lEk.S$n\e/+"
/\bThe Universal Client\b/ --> "\e/+D$_ju.n$.'vE0R+.sl%)_'kla&I.$nt\e/+"
/\bThe power to be your best\b/ --> "\e/+D$_'pa&U.$R+_t$_bi_j$R+_'bEst\e/+"
/\bTheresa May\b/ --> "\e/+t$.'R+i.s$_'me&I\e/+"
/\bThere's an app for that\b/ --> "\e/+DER+z_$n_'@p_f$R+_'D@t\e/+"
/\bThink different\b/ --> "\e/+'TInKk_'dI.fR+$nt\e/+"
/\bTime Capsule\b/ --> "\e/+'ta&Im_k@p.sl%)\e/+"
/\bTime Machine\b/ --> "\e/+'ta&Im_m$.'Sin\e/+"
/\bThnks Fr Th Mmrs\b/ --> "\e/+'T@nks.fOR+.T$.'mEm.R+iz\e/+"
/\bThorgan Hazard\b/ --> "\e/+tOR+.gAn_Az.AR+\e/+"
/\bTristan Do\b/ --> "\e/+tris.t$n_do&U\e/+"
/\bUsual Suspects\b/ --> "\e/+'juZ.u.$l_'s^s.pEkts\e/+"
/\bVan der Vaart\b/ --> "\e/+vAn d$R+ 'vAR+t\e/+"
/\bWest Bromwich Albion\b/ --> "\e/+wEst_'bR+Am.IdZ_'@l.bi.$n\e/+"
/\bWilliam Gallas\b/ --> "\e/+wil.jAm_gAl.As\e/+"
/\bWilson Palacios\b/ --> "\e/+wil.'sO&Um_pA.'lAs.jo&Us\e/+"
/\bWily Mo Peña\b/ --> "\e/+'wI.li_'mo&U_'pe&In.j$\e/+"
/\bWily Peralta\b/ --> "\e/+'wI.li_p$.'R+Al.t$\e/+"
/\bwound[\s-]up(?=\.|!|\?)/ --> "\e/+'wa&Und_'^p\e/+"
/\bWyclef Jean\b/ --> "\e/+'wa&I.klIf_'ZAn\e/+"
/\bXavier Cedeño\b/ --> "\e/+'hAv.i.ER+_s$.'de&In.jo&U\e/+"
/\bXavier Nady\b/ --> "\e/+'Eks.e&I.vi.E0_'ne&I.di\e/+"
/\bXavier Paul\b/ --> "\e/+'ze&Iv.jE0_'pOl\e/+"
/\bYan Gomes\b/ --> "\e/+'jAn_'go&Umz\e/+"
/\bZhi Gin Lam\b/ --> "\e/+t&Si_kin_l^m\e/+"
/\bde Haan\b/ --> "\e/+d$_'hAn\e/+"
/\bkelp bass\b/ --> "\e/+'kElp_b@s\e/+"
/\bkid-friendly restaurants\b/ --> "\e/+'kId.'fR+End.li_'R+Est.R+Ants\e/+"
/\blarge mouth bass\b/ --> "\e/+'lAR+d&Z_ma&UT_'b@s\e/+"
/\bsea bass\b/ --> "\e/+'si_b@s\e/+"
/\bstriped bass\b/ --> "\e/+'stR+a&Ipt_b@s\e/+"
/(?<=\bEric )Bass\b/i --> "\e/+'b@s\e/+" # bass homograph disambiguation
/\bWi-Fi \+ Cellular\b/ --> "\e/+'wa&I.fa&I_pl^s_'sE.lj$.l$R+\e/+"
/\bWi-Fi Direct\b/ --> "\e/+'wa&I.fa&I_d$.'R+Ekt\e/+"
/\bWiki Server 2\b/ --> "\e/+'wI.ki_'sE0R+.v$R+_'tu\e/+"
/\bWiki Server 3\b/ --> "\e/+'wI.ki_'sE0R+.v$R+_'TR+i\e/+"
/\bX Window System\b/ --> "\e/+'Eks_'wIn.do&U_sI.st$m\e/+"
/\bBuca di Beppo\b/i --> "\e/+'bu.kA_di_'bEp.o&U\e/+"
#
/\bCoen Gortebaker\b/ --> "\e/+'kun_'gOR+.t$.bAk.$R+\e/+"
/\bDaley Blind\b/ --> "\e/+'de&Il.i_blInt\e/+"
/\bGill Swerts\b/ --> "\e/+'hIl_'svER+ts\e/+"
/\bJan Vennegoor\b/ --> "\e/+'jAn_'vEn.$.gOR+\e/+"
/\bJan Vertonghen\b/ --> "\e/+'jAn_'vER+.tOnK.hEn\e/+"
/\bJan Wuytens\b/ --> "\e/+'jAn_'wu.i.tEnz\e/+"
/\bJan-Arie van der Heijden\b/ --> "\e/+'jAn_'AR+.i.$_v@n_dER+_'he&I.d$n\e/+"
/\bJulian Jenner\b/ --> "\e/+'jul.i.An_'jEn.$R+\e/+"
/\bJust Berends\b/ --> "\e/+'j^st_'be&I.R+$nts\e/+"
/\bSaid Bakkati\b/ --> "\e/+sA.'id_b$.'kA0t.i\e/+"
/\bAndrea Mei\b/ --> "\e/+'And.R+e&I.$_me&I\e/+"
#
/\bAlves de Lima\b/ --> "\e/+Al.'ve&Iz_d$_'lim$\e/+"
/\bAndrea Barzagli\b/ --> "\e/+An.'dR+e&I.$_bAR+.zA.li\e/+"
/\bAndrea Bertolacci\b/ --> "\e/+An.'dR+e&I.$_bER+.to&U.'lAts.i\e/+"
/\bAndrea Campagnolo\b/ --> "\e/+An.'dR+e&I.$_kAm.pAn.'jo&U.lo&U\e/+"
/\bAndrea Catellani\b/ --> "\e/+An.'dR+e&I.$_kA.tEl.'An.i\e/+"
/\bAndrea Coda\b/ --> "\e/+An.'dR+e&I.$_'ko&Ud.$\e/+"
/\bAndrea Consigli\b/ --> "\e/+An.'dR+e&I.$_kOn.'sil.ji\e/+"
/\bAndrea Cossu\b/ --> "\e/+An.'dR+e&I.$_'kOs.su\e/+"
/\bAndrea Costa\b/ --> "\e/+An.'dR+e&I.$_'ko&Us.t$\e/+"
/\bAndrea Doninelli\b/ --> "\e/+An.'dR+e&I.$_dOn.i.'nEl.li\e/+"
/\bAndrea Dossena\b/ --> "\e/+An.'dR+e&I.$_dOs.'sEn.$\e/+"
/\bAndrea Gessa\b/ --> "\e/+An.'dR+e&I.$_d&ZEs.s$\e/+"
/\bAndrea Lazzari\b/ --> "\e/+An.'dR+e&I.$_lAd.'dzAR+.i\e/+"
/\bAndrea Mantovani\b/ --> "\e/+An.'dR+e&I.$_mAn.to&U.'vAn.i\e/+"
/\bAndrea Masiello\b/ --> "\e/+An.'dR+e&I.$_mAz.i.'El.o&U\e/+"
/\bAndrea Parola\b/ --> "\e/+An.'dR+e&I.$_pA.'R+o&Ul.$\e/+"
/\bAndrea Pirlo\b/ --> "\e/+An.'dR+e&I.$_'piR+.lo&U\e/+"
/\bAndrea Poli\b/ --> "\e/+An.'dR+e&I.$_'po&U.li\e/+"
/\bAndrea Raggi\b/ --> "\e/+An.'dR+e&I.$_'R+A.d&Zi\e/+"
/\bAndrea Ranocchia\b/ --> "\e/+An.'dR+e&I.$_R+A.'no&U.ki.$\e/+"
/\bAndrea Rispoli\b/ --> "\e/+An.'dR+e&I.$_R+is.'po&U.li\e/+"
/\bAndrea Romano\b/ --> "\e/+An.'dR+e&I.$_R+o&U.'mAn.o&U\e/+"
/\bAndrea Rossi\b/ --> "\e/+An.'dR+e&I.$_'R+Os.si\e/+"
/\bAndrea Sbraga\b/ --> "\e/+An.'dR+e&I.$_'zbR+A.g$\e/+"
/\bAndrea Seculin\b/ --> "\e/+An.'dR+e&I.$_s$.'ku.lin\e/+"
/\bAndrea Tozzo\b/ --> "\e/+An.'dR+e&I.$_'tOts.so\e/+"
/\bDi Michele\b/ --> "\e/+di_mi.'kEl.e&I\e/+"
/\bIgnazio Abate\b/ --> "\e/+ij.'njA.s.i.o&U_A.'bA.te&I\e/+"
/\bJean-Alain Fanchone\b/ --> "\e/+ZAn_A.'lAn_fAn.'SOn\e/+"
/\bJean Francois Gillet\b/ --> "\e/+ZAn_frAns.'wA_Zi.'le&I\e/+"
/\bJean Mbida\b/ --> "\e/+ZAn_m'bi.d$\e/+"
/\bJose Angel\b/ --> "\e/+'ho&U.ze&I_'AnK.hEl\e/+"
/\bLame Surraco\b/ --> "\e/+'lA.me&I_su.'R+A.ko&U\e/+"
/\bManan(?= Vohra)\b/i --> "\e/+'mA.n$n\e/+"
/\bMichele Camporese\b/ --> "\e/+mi.'ke&I.le&I_kAm.pOR+.'e&I.ze&I\e/+"
/\bMichele Canini\b/ --> "\e/+mi.'ke&I.le&I_kA.'ni.ni\e/+"
/\bMichele Ferri\b/ --> "\e/+mi.'ke&I.le&I_'fER+.i\e/+"
/\bMichele Pazienza\b/ --> "\e/+mi.'ke&I.le&I_pAts.i.'En.ts$\e/+"
/\bMiguel Angel Britos\b/ --> "\e/+mi.'gEl_'AnK.hEl_'bR+i.to&US\e/+"
/\bMilan Milanovic\b/ --> "\e/+'mi.lAn_'mi.lAn.$.vIt&S\e/+"
/\bNadir Minotti\b/ --> "\e/+nA.'diR+_min.'Ot.ti\e/+"
/\bNicola Belmonte\b/ --> "\e/+ni.'k'o&U.l$_bEl.'mOn.te&I\e/+"
/\bNicola Berselli\b/ --> "\e/+ni.'ko&U.l$_bER+.'sEl.li\e/+"
/\bNicola Leali\b/ --> "\e/+ni.'ko&U.l$_le&I.'A.li\e/+"
/\bNicola Legrottaglie\b/ --> "\e/+ni.'ko&U.l$_le&I.gR+Ot.'tAl.je&I\e/+"
/\bNicola Murru\b/ --> "\e/+ni.'ko&U.l$_'mu.R+u\e/+"
/\bNicola Pavarini\b/ --> "\e/+ni.'ko&U.l$_pA.v$.'R+i.ni\e/+"
/\bNicola Pozzi\b/ --> "\e/+ni.'ko&U.l$_'pOts.i\e/+"
/\bPhilippe(?= Coutinho\b)/i --> "\e/+fi.'li.pi\e/+"
/\bServin Cesar\b/ --> "\e/+s$R+.'vin_'t&Se&I.zAR+\e/+"
#
/\bÁngel Dealbert\b/ --> "\e/+'AnK.hEl_de&I.'Al.bER+t\e/+"
/[aáÁ]ngel Di Mar[íi]a\b/i --> "\e/+'An.hEl_di_mA.'R+i.$\e/+"
/\bÁngel Propin\b/ --> "\e/+'AnK.hEl_'pR+o&U.pin\e/+"
/\bCarles Gil\b/ --> "\e/+'kAR+.lEs_'hil\e/+"
/\bEver Banega\b/ --> "\e/+'e&I.vER+_bA.'ne&I.g$\e/+"
/\bImanol Elias\b/ --> "\e/+i.mA.'no&Ul_'e&I.li.As\e/+"
/\bJaime Isuardi\b/ --> "\e/+'ha&I.me&I_i.su.'AR+.di\e/+"
/\bJaime Romero\b/ --> "\e/+'ha&I.me&I_R+o&U.'mER+.o&U\e/+"
/\bJoan Angel Roman\b/ --> "\e/+Zu.'AnK_Angel_'R+o&Um.An\e/+"
/\bJoan Capdevila\b/ --> "\e/+Zu.'AnK_k$.d$.'vil.j$\e/+"
/\bJoan Tomas\b/ --> "\e/+Zu.'AnK_to&U.'mAs\e/+"
/\bJoan Verdu\b/ --> "\e/+Zu.'AnK_vER+.'du\e/+"
/\bJoan Oriol\b/ --> "\e/+Zu.'An_uR+.i.'Ol\e/+"
/\bJoao Victor\b/ --> "\e/+'Zu.a&U_vik.'tOR+\e/+"
/\bJosé Angel\b/ --> "\e/+ho&U.'ze&I_'AnK.hEl\e/+"
/\bAngel(?= Nieto\b)/i --> "\e/+'AnK.hEl\e/+"
/\bJosé Maria Cases\b/ --> "\e/+ho&U.'ze&I_mA.'R+i.$_'kAs.Es\e/+"
/\bManu Del Moral\b/ --> "\e/+'mA.nu_dEl_mOR+.Al\e/+"
/\bMate Bilic\b/ --> "\e/+'mA.te&I_'bi.lit&S\e/+"
/\bMiguel Angel Luque\b/ --> "\e/+mi.'gEl_'AnK.hEl_'lu.ke&I\e/+"
/\bNacho Cases\b/ --> "\e/+'nA.t&So&U_'kAs.Es\e/+"
/\bOscar Plano\b/ --> "\e/+'Os.kAR+_'plAn.o&U\e/+"
/\bPedro Astray\b/ --> "\e/+'pe&Id.R+o&U_A.'stR+a&I\e/+"
/\bRamiro Mayor\b/ --> "\e/+R+$.'miR.+o&U_mA.'jOR+\e/+"
#
/\bAndrea Barzagli\b/ --> "\e/+An.'dR+e&I.$_bAR+.'zA.li\e/+"
/\bAngel Reyna\b/ --> "\e/+'AnK.hEl_'R+e&I.i.n$\e/+"
/\bAnthony Lopes\b/ --> "\e/+'@n.t$ni_'lOp.Is\e/+"
/\bDaley Blind\b/ --> "\e/+'dA.li_blInt\e/+"
/\bDavid Donatelli\b/ --> "\e/+'de&I.vId_dA.n$.'tE.li\e/+"
/\bDries Mertens\b/ --> "\e/+'dR+is_'mER+.t$ns\e/+"
/\bGermán Re\b/ --> "\e/+hER+.'mAn_'R+e&I\e/+"
/\bGuy-Rolland N'dy Assembe\b/ --> "\e/+gi_R+Ol.'An_$n.di_A.'sEm.be&I\e/+"
/\bIn-Hwan Jung\b/ --> "\e/+'In.hAn.d&Z^nK\e/+"
/\bJan Vertonghen\b/ --> "\e/+'jAn_v$R+.'tOnK.$n\e/+"
/\bJean-Daniel\b/ --> "\e/+ZAn_dAn.'jEl\e/+"
/\bJean Effala\b/ --> "\e/+ZAn_E.'fAl.$\e/+"
/\bJean-Jacques\b/ --> "\e/+ZAn_ZAk\e/+"
/\bJean Makoun\b/ --> "\e/+ZAn_m$.kun\e/+"
/\bJean-Armel Kana-Biyik\b/ --> "\e/+ZAn_AR+.'mEl_kAn.$_bi.'jik\e/+"
/\bJean-Patrick Abouna\b/ --> "\e/+ZAn_pA.tR+ik_$.bun.$\e/+"
/\bJean Beausejour\b/ --> "\e/+ZAn_bo&U.se&I.ZuR+\e/+"
/\bJesús Escoboza\b/ --> "\e/+he&I.'sus_Es.ko&U.'bo&Us.$\e/+"
/\bJesús Molina\b/ --> "\e/+he&I.'sus_mo&U.'lin.$\e/+"
/\bJesús Navas\b/ --> "\e/+he&I.'sus_'nA.vAs\e/+"
/\bJesús Zavala\b/ --> "\e/+he&I.'sus_sA.'vA.l$\e/+"
/\bJosé de Jesús Corona\b/ --> "\e/+ho&U.'ze&I_de&I_he&I.'sus_k$.'R+o&U.n$\e/+"
/\bJung-Soo\b/ --> "\e/+'d&ZUnK.su\e/+"
/\bJung-Woo\b/ --> "\e/+'d&ZUnK.wu\e/+"
/\bLuis Angel Mendoza\b/ --> "\e/+lu.'is_AnK.'hEl_mEn.'do&U.s$\e/+"
/\bLuis Muriel\b/ --> "\e/+lu.'is_'muR+.i.e&Il\e/+"
/\bMate Maleš(?=$|\s|-|[[:punct:]])/ --> "\e/+'mA.te&I_'mAl.ES\e/+"
/\bMax-Alain\b/ --> "\e/+m@ks_A.'lAn\e/+"
/\bMilan Badelj\b/ --> "\e/+'mi.lAn_'bAd.e&I\e/+"
/\bMile Jedinak\b/ --> "\e/+'mi.le&I_'jEd.in.Ak\e/+"
/\bPark Geun Hye\b/ --> "\e/+'pAR+k_'gUn_'he&I\e/+"
/\bSerey Die\b/ --> "\e/+sER+.'e&I_di.'e&I\e/+"
/\bStephen(?= Curry\b)/ --> "\e/+'stE.f$n\e/+"
/\bYuki Abe\b/ --> "\e/+'ju.ki_'A.be&I\e/+"
/\bInspectah Deck\b/i --> "\e/+In.spEk.t$.'dEk\e/+"
/\bOndrej Kase\b/i --> "\e/+'On.dR+e&I_'kA.sE\e/+"
#
# Last names
/\bDe Leow\b/ --> "\e/+d$_'lo&U\e/+"
/\bDe Ville\b/ --> "\e/+d$_'vIl\e/+"
/\bDe Vore\b/ --> "\e/+d$_'vOR+\e/+"
/\bLe Monde\b/ --> "\e/+l$.'mAnd\e/+"
#
# Locations that need context of ", state", ex "Lima, Ohio", as they can be
ambiguous otherwise
/\bOntonagon(?=,? (Michigan\b|MI\b|\e\\tn=state\\MI\b))/ -->
"\e/+An.t$.'nA.g$n\e/+"
/\bCharlotte(?=,? (Michigan\b|MI\b|\e\\tn=state\\MI\b))/ -->
"\e/+SAR+.'lAt\e/+"
/\bDowagiac(?=,? (Michigan\b|MI\b|\e\\tn=state\\MI\b))/ -->
"\e/+d$.'wA.Z@k\e/+"
/\bOkemus(?=,? (Michigan\b|MI\b|\e\\tn=state\\MI\b))/ --> "\e/+'o&U.k$.m$s\e/+"
/\bMilan(?=,? (Michigan\b|MI\b|\e\\tn=state\\MI\b))/ --> "\e/+'ma&I.lIn\e/+"
/\bLake Orion(?=,? (Michigan\b|MI\b|\e\\tn=state\\MI\b))/ -->
"\e/+le&IK_'OR+.i.$n\e/+"
/\bHoughton(?=,? (Michigan\b|MI\b|\e\\tn=state\\MI\b))/ -->
"\e/+'ho&U.tn%)\e/+"
/\bGratiot(?=,? (Michigan\b|MI\b|\e\\tn=state\\MI\b))/ --> "\e/+'gr@S.It\e/+"
/\bGaylord(?=,? (Michigan\b|MI\b|\e\\tn=state\\MI\b))/ -->
"\e/+'ge&I.l$R+d\e/+"
/\bBois Blanc Island(?=,? (Michigan\b|MI\b|\e\\tn=state\\MI\b))/ -->
"\e/+bAb_'lo&U\e/+"
/\bOcqueoc(?=,? (Michigan\b|MI\b|\e\\tn=state\\MI\b))/ --> "\e/+'A.ki.Ak\e/+"
/\bGrosse Ile(?=,? (Michigan\b|MI\b|\e\\tn=state\\MI\b))/ -->
"\e/+gR+o&Us_'il\e/+"
/\bOnekama(?=,? (Michigan\b|MI\b|\e\\tn=state\\MI\b))/ -->
"\e/+o&U.'nE.k$.m$\e/+"
/\bBowie(?=,? (Maryland\b|MD\b|\e\\tn=state\\MD\b))/ --> "\e/+'bu.i\e/+"
/\bLihue(?=,? (Hawaii\b|HI\b|\e\\tn=state\\HI\b))/ --> "\e/+li.'hu.e&I\e/+"
/\bMebane(?=,? (North Carolina\b|NC\b|\e\\tn=state\\NC\b))/ --> "\e/+'mE.b$n\e/
+"
/\bFuquay[-–]Varina(?=,? (North Carolina\b|NC\b|\e\\tn=state\\NC\b))/ -->
"\e/+'fju.kwe&I.v$.'R+i.n$\e/+"
/\bBoise(?=,? (Idaho\b|ID\b|\e\\tn=state\\ID\b))/ --> "\e/+'bO&I.si\e/+"
/\bNorfolk(?=,? (Nebraska\b|NE\b|\e\\tn=state\\NE\b))/ -->
"\e/+'nOR+.fOR+k\e/+"
/\bBeaufort(?=,? (North Carolina\b|NC\b|\e\\tn=state\\NC\b))/ -->
"\e/+'bo&U.f$R+t.\e/+"
/\bBeaufort(?=,? (South Carolina\b|SC\b|\e\\tn=state\\SC\b))/ -->
"\e/+'bju.f$R+t\e/+"
/\bKissimmee(?=,? (Florida\b|FL\b|\e\\tn=state\\FL\b))/ --> "\e/+kI.'sI.mi\e/+"
/\bVersailles(?=,? (Kentucky\b|KY\b|\e\\tn=state\\KY\b))/ -->
"\e/+v$R+.'se&Ilz\e/+"
/\bLima(?=,? (Ohio\b|OH\b|\e\\tn=state\\OH\b))/ --> "\e/+'la&I.m$\e/+"
/\bSebring(?=,? (Ohio|OH|\e\\tn=state\\OH))\b/i --> "\e/+'si.bR+InK\e/+"
/\bLima(?= bean)/ --> "\e/+'la&I.m$\e/+" # This matches contexts where "Lima
beans" is uppercase
#
# Place names
/\bSaint[ -–]Tropez\b/i --> "\e/+sAn_tR+$.'pe&I\e/+"
/\bBof?A\b/ --> "B of A"
/(?<=\bWall )St(\.|\b)/i --> "Street"
/\bLa Jolla\b/i --> "\e/+l$_'hO&I.j$\e/+"
/\bLa Brea\b/i --> "\e/+l$_'bR+e&I.$\e/+"
/\bBossier City\b/ --> "\e/+'bo&U. Z$R+_'sI.ti\e/+"
/\bBaie d'Espoire\b/i --> "\e/+'be&I_dEs.'pER+\e/+"
/\bBoise City\b/ --> "\e/+'bo&Is_'sIt.i\e/+"
/\bBrett Favre\b/ --> "\e/+bR+Et_fAR+v\e/+"
/\bCanyon de Chelly\b/ --> "\e/+'k@n.j$n_d$_'Se&I.li\e/+"
/\bChamps Elysées\b/ --> "\e/+'SAmps_E.li.'se&I\e/+"
/\bChoa Chu Kang\b/ --> "\e/+'t&SwA_'t&Su_kAnK\e/+"
/\bDes Plaines\b/ --> "\e/+dEz_ple&Inz\e/+"
/\bDe Anza\b/i --> "\e/+di_'@n.z$\e/+"
/\bKusu Island\b/ --> "\e/+'ku.su_'a&I.l$nd\e/+"
/\bLac Courte Oreilles\b/ --> "\e/+l$_'kud_$.R+e&I \e/+"
/\bLa Plata\b/i --> "\e/+l$_'ple&It.$\e/+"
/\bLiancourt Rocks\b/ --> "\e/+'li.$nK.kOR+t_'R+Aks\e/+"
/\bLos [AÁá]ngeles Azules\b/i --> "\e/+lo&Us_'An.h$.l$s_$.'su.l$s\e/+"
/\blosangelesduiattorney\.com\b/i --> "los angeles D U I attorney dot com"
/\bcolonoscopycenterlosangeles\.com\b/i --> "colonoscopy center los angeles dot
com"
/\bLos Angeles\b/i --> "\e/+lAs.'@n.d&Z$.l$s\e/+"
/\bLos Altos\b/i --> "\e/+lOs.'@l.to&Us\e/+"
/\bMagdalen College\b/ --> "\e/+'mOd. lIn_'kAl.Id&Z\e/+"
/\bMagdalene College\b/ --> "\e/+'mOd. lIn_'kAl.Id&Z\e/+"
/(?<=[Ii]n )Nice\b/ --> "\e/+'nis\e/+"
/\bNice(?=,? France\b)/i --> "\e/+'nis\e/+"
/\bper se\b/ --> "\e/+pE0_'se&I\e/+"
/\bPlanet Granite\b/ --> "\e/+'pl@.nIt_'gr@.nIt\e/+"
/\bPulau Tekong\b/ --> "\e/+pU.'la&U_'t$.kAnK\e/+"
/\bPulau Ubin\b/ --> "\e/+pU.'la&U_'u.bIn\e/+"
/\bSt(\.|) Ive\b/ --> "\e/+s$nt_'iv\e/+"
/\bSan Luis Obispo\b/ --> "\e/+s@n_'lu.Is.$.'bIs.po&U\e/+"
/\bSanta Teresa\b/i --> "\e/+s@n.t$_'t$.'R+i.s$\e/+" #workaround
/\bSan Rafael\b/ --> "\e/+s@n_R+$.'fEl\e/+"
/\bSault Ste(\.|) Marie\b/i --> "\e/+'su_se&Int_m$.'R+i\e/+"
/\bsilicon valley\b/i --> "\e/+'sI.l$.k$n_'v@.li\e/+"
/\bsri lanka\b/i --> "\e/+SR+i.'lOnK.k$\e/+"
/\bSix Minute English\b/ --> "\e/+'sIks_'mI.nIt_'InK.glIS\e/+"
/\bSt(\.|) Helena\b/i --> "\e/+'se&Int_h$.'li.n$\e/+"
/\bTopsail Beach\b/ --> "\e/+'tOp.s$l_bit&S\e/+"
/\bcinque terre\b/i --> "\e/+'t&SInKk.we&I_'tER+.e&I\e/+"
/\b(Sure\. Let[’']s kick things off with) Oh, (What a Night)\b/i --> "$1: Oh $2"
/\bsanta clara (da|dah|de) as[íi]s\b/i --> "\e/+s@n.$.'kl@R+.$_de&I_$.'sis\e/+"
/\barroyo de arguello\b/i --> "\e/+$.'R+O&I.o&U_de&I_AR+.'gwe&I.jo&U\e/+"
/(?<=^|\s|-|[[:punct:]])[ÈèE] tutto qua\b/i --> "\e/+'e&I_'tu.r6o&U_'kwA\e/+"
/\bCanc[uú]n\b/i --> "\e/+k@n.'kun\e/+"
/\bDes Moines\b/i --> "\e/+d$m.'O&In\e/+"
/\bHmart\b/i --> "H mart"
/\bEstrella(?= Parkway| Pkwy| Pkwy\.| Pky\b)/i --> " \e/+$.'stR+E.j^\e/+"
/\bKolb(?= Road| Rd\.| Rd\b)/i --> "\e/+'ko&Ulb\e/+"
#
# Misc names
/\bF[üu]hrer\b/i --> "\e/+'fjE0.E0\e/+"
/\bQuinoaGrill\b/i --> "quinoa grill"
/\bUchu Conbini\b/i --> "\e/+'u.t&Su_'ko&Um.bi.ni\e/+"
/(?<=\bSlate )Presents(?= Lexicon Valley\b)/ --> "\e/+pR+I.'zEnts\e/+"
/\bDecksanddrumsandrockandroll\b/ --> "decks n drums n rock n roll"
/\bMarathon(?= Classic\b)/ --> "\e/+'mER+.IT.An\e/+" # workaround
/(?<=\bNew York City )Marathon\b/i --> "\e/+'mER+.IT.An\e/+" # workaround
/\bNicolas Cage\b/ --> "\e/+'nIk.$.l$s_ke&Id&Z\e/+"
/\bTaquería La Bamba Ay Caramba\b/ --> "\e/+tA.k$.'R+i.
$_lA_'bAm.bA_a&I_k$.'R+Am.bA\e/+"
/\bTiny Desk Concerts\b/ --> "\e/+'ta&I.ni_dEsk_'kAn.s$R+ts\e/+"
/\bLes(?= Baxter\b)/ --> "\e/+'lEs\e/+"
/\bcrème brûlée\b/i --> "\e/+kR+Em_bR+u.'le&I\e/+"
/\bmark as read\b/i --> "mark as \e/+'R+Ed\e/+"
/\bper minute\b/ --> "\e/+pE0_'mIn.It\e/+"
/\bshall I read\b/i --> "\e/+S@l_a&I_R+id\e/+"
/\b1234 by feist\b/i --> "one two three four by feist"
/\bfeist(\s|\s-\s)1234\b/i --> "feist one two three four"
/\bA Seat at the Table\b/ --> "\e/+$_'sir6_$t_D$_'te&I.bl%)\e/+"
/\bWhat's the 411\b/ --> "\e/+'w^ts_'D$_'fOR+_'w^n_'w^n\e/+"
/\bmuhammad ali\b/i --> "\e/+m$.'hA.m$d_A.'li\e/+"
/\byasiel puig\b/i --> "\e/+'ja.si.$l_'pwig\e/+"
/\bqoulee ouhibbouka\b/i --> "\e/+'kU.li_o&U.'hib_'bu.k$\e/+"
/\bingles (super)?market\b/i --> "\e/+'InK.g$lz $1 mAR+.k$t\e/+"
/\btsai ing-wen\b/i --> "\e/+'tsa&I_'InK.'wEn\e/+"
/\bhasta la casa\b/i --> "\e/+'A.st$_l$_'kA.s$\e/+"
/\bu\.?e\.?f\.?a\.?\b/i --> "\e/+ju.'e&I.f$\e/+"
/\bmah\s?na,? mah\s?na\b/i --> "\e/+m$.'nA_m$.'nA\e/+"
/\b(Dussehra|Dusshera|Dasara)\b/i --> "\e/+'d^.S$.R+$\e/+"
/\bLouis(?= Vuitton\b)/i --> "\e/+'lu.i\e/+"
/(?<=\bMagnum )PI\b/i --> "P I"
/\bWavves\b/i --> "waves"
/(?<=Calling |Call |Messaging |Message |Texting |Text)Age\b/i --> "\e/+'O.gi\e/
+"
/\bwhoscall\b/i --> "\e/+'huz.kOl\e/+"
#
# Proper readout for time in dd.ddPM and variants
/\b(0?[1-9]|1[012])\.([0-6][0-9])\s*([ap]\.?m)\b/i --> "$1:$2 $3"
#
# Pronounce flat and sharp in keys
/(?<=\b[ACDFG])#(?= (major|minor)\b)/i --> " sharp"
/(?<=\b[ABDEG])(b|♭)(?= (major|minor)\b)/i --> " flat"
#
# Music bulk-addition
/\bNU'?EST\b/i --> "new east"
/(?<=\blil )2z\b/i --> "\e/+'tu.zi\e/+"
/(?<=\bRyan )Caraveo\b/i --> "\e/+kA.R+$.'ve&I.jo&U\e/+"
/\bYessirr\b/i --> "yes sir"
/\bLuv Ya Gyal\b/i --> "love \e/+j^\e/+ gal"
/\b24kGoldn\b/i --> "2 4 K golden"
/\bKaash(?= Paige\b)/i --> "\e/+'k@S\e/+"
/\bAzChike\b/i --> "A Z \e/+'t&Sa&Ik\e/+"
/(?<=\bAna )Gabriel\b/i --> "\e/+gA.bR+i.'El\e/+"
/\bLa Fiera de Ojinaga\b/i --> "\e/+'lA_'fjE.R+$_dE_o&U.hi.'nA.g$\e/+"
/\bNo me rindo\b/i --> "\e/+'no&U.me&I_'R+In.do&U\e/+"
/\bMe operar[eé](?=\s|[[:punct:]]|$|\e)/i --> "\e/+'me&I_A.p$.'R+AR+.e&I\e/+"
/(?<=\bOFF THE )RIP\b/i --> "rip"
/\bballin'?(?=\s|[[:punct:]]|$)/i --> "\e/+'bO.lIn\e/+" # doesn't seem to work
as a dictionary entry
/(?<=\bCash |\bRaw |\bGang )S\*\*t\b/i --> "shit"
/\bPnB(?= Rock\b)/i --> "P \e/+$n\e/+ B"
/\blovelytheband\b/i --> "lovely the band"
/(?<=\byou )(and|&|\+)(?= me\b)/i --> "\e/+$n\e/+"
/(\e\\pause=\d+\\) ?\? ?(\e\\pause=\d+\\)/ --> "$1 question mark $2"
/\bQuarterbackin[’']?\b/i --> "\e/+'kwOR+.r6$R+.b@.kIn\e/+"
/\bME!/ --> "me!" # rdar://problem/50243384
/(?<=\bby |\bfrom |\bplaying |\bartist |\bband )311(?=$|\.)/i --> "three
eleven"
/\bSEKAI NO OWARI\b/i --> "\e/+'sE.ke&I_no&U.'wA.R+i\e/+"
/\bblackbear\b/i --> "black bear"
/(?<=\bPa )Mí(?=\s|[[:punct:]]|$|\e)/i --> "\e/+'mi\e/+"
/(?<=\bMC )Solaar\b/i --> "\e/+sA.'lAR+\e/+"
/\bAna Tijoux\b/i --> "\e/+'A.n$_ti.'Zu\e/+"
/\bGui(?= Boratto\b)/i --> "\e/+'gi\e/+"
/\bMIA(?= \(featuring Drake\))/i --> "\e/+'mi.j$\e/+, "
/(?<=\bElla )Mai\b/i --> "may"
/\bYeah Yeah Yeahs\b/i --> "\e/+j@_'jE_'jE.Ez\e/+" # Workaround, double
vowels
/(?<=\bHOLD )ME(?= TIGHT OR DON['’]T\b)/ --> "me"
/\bC\+C Music Factory\b/i --> "C and C Music Factory"
/\b10 d e a t h b r e a s t\b/i --> "\e/+tEn_'dET.bR+Est\e/+"
/\b03' adolescence\b/i --> "\e/+'o&U_'TR+i_@.r6l%).'E.s$ns\e/+"
/\b24k magic\b/i --> "\e/+twEn.r6i.'fOR+_'k@.R+$t_'m@.d&ZIk\e/+"
/\b305 to my city\b/i --> "\e/+TR+i.o&U_'fa&Iv_t$_ma&I_'sI.r6i\e/+"
/\ba beber\b/i --> "\e/+A_bE.'bER+\e/+"
/\bace frehley\b/i --> "\e/+'e&Is_'fR+e&I.li\e/+"
/\badeste fideles\b/i --> "\e/+A.'dEs.te&I_fI.'d.e&I.le&Iz\e/+"
/\bafrika bambaataa\b/i --> "\e/+'@.fR+I.k$_b^m.'bA.t$\e/+"
/\baha gazelle\b/i --> "\e/+$.'hA#g$.'zEl\e/+"
/\balessia cara\b/i --> "\e/+$.'lEs.j$_'kAR+.$\e/+"
/\balexandre desplat\b/i --> "\e/+@.lEg.'zAn.dR+$_dE.'splA\e/+"
/\bali bomaye\b/i --> "\e/+'A.li_bAm.a&I.'e&I\e/+"
/\balina baraz\b/i --> "\e/+$.'li.n$_b$.'R+Az\e/+"
/\balka yagnik\b/i --> "\e/+'Al.kA_'jAg.nIk\e/+"
/\balso sprach zarathustra\b/i --> "\e/+Alzo&U_'spR+Ak_zAR+.$.'tu.stR+$\e/+"
/\balta consigna\b/i --> "\e/+'Al.tA_kOn.'sik.nA\e/+"
/\baly x\b/i --> "\e/+'@.li_'Eks\e/+"
/\bamadou and mariam\b/i --> "\e/+A.mA.'du_@n_mA.R+i.'Am\e/+"
/\bambitionz az a ridah\b/i --> "\e/+@m.'bI.S$nz_@z_$_'R+a&I.r6$\e/+"
/\bamir obe\b/i --> "\e/+$.'miR+_'o&U.be&I\e/+"
/\banders lystell\b/i --> "\e/+'@n.d$R+s_lI.'stElx\e/+"
/\banderson \.paak\b/i --> "\e/+'@n.d$R+.s$n_'p@k\e/+"
/\banneliese van der pol\b/i --> "\e/+A.n$.'li.z$_v@n_dE0R+_'po&Ul\e/+"
/\bannie lennox\b/i --> "\e/+'@.ni_'lE.nIks\e/+"
/\bantonin dvorak\b/i --> "\e/+'An.t$.'nin_dU.'vOR+.ZAk\e/+"
/\bariel camacho\b/i --> "\e/+A.R+i.'El_k$.'mA.t&So&U\e/+"
/\barmin van buuren\b/i --> "\e/+'AR+.mIn_v@n_'bjE0.$n\e/+"
/\barpád jóo\b/i --> "\e/+'AR+.pAd_'jo&U\e/+"
/\basap ferg\b/i --> "\e/+'e&I.s@p_'fE0R+g\e/+"
/\bau fond du temple saint\b/i --> "\e/+o&U_'fOn_du_'tOm.pl$_'s^n\e/+"
/\bauli'i cravalho\b/i --> "\e/+a&U.'li.i_kR+$.'vA.li.o&U\e/+"
/\bave maria\b/i --> "\e/+'A.ve&I_m$.'R+i.$\e/+"
/\bayumi hamasaki\b/i --> "\e/+a&I.'ju.mi_hA.m$.'sA.ki\e/+"
/\bazizi gibson\b/i --> "\e/+^.'zi.zi_'gIb.s$n\e/+"
/\bback that azz up\b/i --> "\e/+'b@k_D@r6_'@s_^p\e/+"
/\bbad and boujee\b/i --> "\e/+'b@r6_$n_'bu.d&Zi\e/+"
/\bbanda ms\b/i --> "\e/+'ban.da_'em.'es\e/+"
/\bbarry louis polisar\b/i --> "\e/+'bER+.i_'lu.$s_pO.l$.'sAR+\e/+"
/\bbebe rexha\b/i --> "\e/+'bi.bi_'R+Ek.s$\e/+"
/\bbela fleck\b/i --> "\e/+'be&I.l$_'flEk\e/+"
/\bbenét and tamia\b/i --> "\e/+b$'.ne&I_@n_t$.'mi.$\e/+"
/\bberliner philharmoniker\b/i --> "\e/+bER+.'li.n^_fIl.hAR+.'mA.nI.k^\e/+"
/\bbig gipp\b/i --> "\e/+'bIg_'gIp\e/+"
/\bbitches n marijuana\b/i --> "\e/+'bI.t&SIz_$n_m@R+.$.'wA.n$\e/+"
/\bbling blaww burr\b/i --> "\e/+blInK#bla&U#'bE0R+\e/+"
/\bbohdan warchal\b/i --> "\e/+'bo&U.dAn_'vAR+.kAl\e/+"
/\bbohdon warchal\b/i --> "\e/+'bo&U.dAn_'vAR+.kAl\e/+"
/\bbon iver\b/i --> "\e/+'bo&Un_i.'vER+\e/+"
/\bboosie badazz\b/i --> "\e/+'bu.si_'b@.r6@s\e/+"
/\bbystrik rezucha\b/i --> "\e/+'bi.stR+Ik_R+E.'zu.k$\e/+"
/\bc'est la vie\b/i --> "\e/+se&I.lA.'vi\e/+"
/\bcalibre 50\b/i --> "\e/+kA.'li.br6e&I_sin.'kwAn.te&I\e/+"
/\bcandi staton\b/i --> "\e/+'k@n.di_'ste&I.tn%)\e/+"
/\bcapriccio espagnol\b/i --> "\e/+k^.'pR+i.t&So&U_Es.pAn.'jOl\e/+"
/\bcartel de santa\b/i --> "\e/+kAr6.'tEl_de&I_'sAn.tA\e/+"
/\bcece winans\b/i --> "\e/+'sisi_'wa&I.n$nz\e/+"
/\bcharles aznavour\b/i --> "\e/+SAR+l_'Az.n$.vuR+\e/+"
/\bcharles dutoit\b/i --> "\e/+'SAR+l_du.'twA\e/+"
/(?<=\bchino )bandido\b/i --> "\e/+'b@n.'di.r6o&U\e/+" #Workaround
/\bchristina milian\b/i --> "\e/+kR+Is.'ti.n$_mI.li.'An\e/+"
/\bclaudio arrau\b/i --> "\e/+kla&U.r6i.o&U_A.'R+a&U\e/+"
/\bclave nueva\b/i --> "\e/+'klA.ve&I_'nwe&I.vA\e/+"
/\bcolbie caillat\b/i --> "\e/+'ko&Ul.bi_k$.'le&I\e/+"
/\bcorazón sin cara\b/i --> "\e/+kO.r6A.'so&Un_sin_'kA.r6A\e/+"
/\bcorbin bleu\b/i --> "\e/+'kOR+.bIn_'blu\e/+"
/\bcrecer german\b/i --> "\e/+kr6E.'sEr6_hEr6.'mAn\e/+"
/\bculpable tu\b/i --> "\e/+kul.'pA.ble&I_'ttu\e/+"
/\bcyhi the prince\b/i --> "\e/+'sa&I.hi_'D$_'pR+Ins\e/+"
/\bDana Fuchs\b/i --> "\e/+'de&I.n$_'fjuks\e/+"
/\bdanza kuduro\b/i --> "\e/+'dAn.sA_ku.'du.R+o&U\e/+"
/\bdavid guetta\b/i --> "\e/+'de&I.vId_'gE.r6$\e/+"
/\bde amor\b/i --> "\e/+de&I_A.'mOr6\e/+"
/\bde aranjuez\b/i --> "\e/+'de&I_A.'r6An.wEs\e/+"
/\bDecyfer\b/i --> "decipher"
/\bde la soul\b/i --> "\e/+de&I_lA_'so&Ul\e/+"
/\bde ser\b/i --> "\e/+dE_'sEr6\e/+"
/\bdej loaf\b/i --> "\e/+'de&IZ_'lo&Uf\e/+"
/\bdevvon terrell\b/i --> "\e/+d$.'vOn_t$.'R+El\e/+"
/\bdid it on'em\b/i --> "\e/+'dIr6_Ir6_A.n$m\e/+"
/\bdidn't cha know\b/i --> "\e/+'dI.dn%)_t&S$_'no&U\e/+"
/\bdie antwoord\b/i --> "\e/+'di_'Ant.vOR+d\e/+"
/\bdie fledermaus\b/i --> "\e/+'di_'fle&I.r6$R+.ma&Us\e/+"
/\bdifferent hos\b/i --> "\e/+'dI.fR+$nt_'ho&Uz\e/+"
/\bdile que\b/i --> "\e/+'di.le&I_ke&I\e/+"
/\bdionne warwick\b/i --> "\e/+di.'On_'wOR+.wIk\e/+"
/\bdoja cat\b/i --> "\e/+'do&U.Z$_k@t\e/+"
/\bdon't tell 'em\b/i --> "\e/+'do&Un_'tEl_$m\e/+"
/\bdos gringos\b/i --> "\e/+do&Us_'gR+InK.go&Us\e/+"
/\bDown AKA Kilo\b/i --> "\e/+'da&Un_'e&I.'ke&I.'e&I_'kI.lo&U\e/+"
/(?<=\bdrankin' )(and|\&) drivin'/i --> "'n \e/+'dR+a&I.v$n\e/+"
/\bdriicky graham\b/i --> "\e/+'dR+I.ki_'gR+e&I.$m\e/+"
/\bdoo uap\b/i --> "\e/+'du_@p\e/+"
/\bdu hast\b/i --> "\e/+du_'hAst\e/+"
/\bdua lipa\b/i --> "\e/+'du.$_'li.p$\e/+"
/\bd[eé]j[aà] vu\b/i --> "\e/+de&I.ZA_'vu\e/+"
/(?<=\bearth), (wind (and|\&))(?= fire\b)/i --> "\e\\pause=70\\ wind
\e\\pause=70\\ n'"
/(?<=\bskies), wind,?(?= and thunderstorms\b)/i --> "\e/+'wInd\e/+"
/\bel chapo\b/i --> "\e/+El_'t&SA.po&U\e/+"
/\bel corazon\b/i --> "\e/+El_kO.r6.A.'zo&Un\e/+"
/\bel karma\b/i --> "\e/+'El_'kAr6.mA\e/+"
/\bel terco\b/i --> "\e/+El_'tER+.ko&U\e/+"
/\bella y yo\b/i --> "\e/+'E.jA_ii_jo&U\e/+"
/\belliott yamin\b/i --> "\e/+'El.i.$t_jA.'min\e/+"
/\ben la intimidad\b/i --> "\e/+En_lA_in.tti.mi.'dAd\e/+"
/\ben ti\b/i --> "\e/+En_'tti\e/+"
/\bentre tu y yo\b/i --> "\e/+En.tr6E_ttuu_'i_'jo&U\e/+"
/\bera istrefi\b/i --> "\e/+'ER+.$_I.'stR+E.fi\e/+"
/\beres mia\b/i --> "\e/+'Er6.Es_'mi.$\e/+"
/\beres mìa\b/i --> "\e/+'Er6.Es_'mi.$\e/+"
/\bte gust[eé](?=\s|[[:punct:]]|$)/i --> "\e/+te&I_gu.'ste&I\e/+"
/\beric benét\b/i --> "\e/+'ER+.Ik_b$.'ne&I\e/+"
/\berykah badu\b/i --> "\e/+'ER+.I.k$_'bA.r6u\e/+"
/\bewan maccoll\b/i --> "\e/+'ju.$n_m$_'kAl\e/+"
/\bex's (and|\&) oh's\b/i --> "exes 'n ohs"
/\bFleshgod\b/i --> "flesh god"
/(?<=\bIsrael )Houghton\b/i --> "\e/+'ho&U.t$n\e/+" # Workaround
/\bflight of the conchords\b/i --> "\e/+'fla&Ir6_$v_D$_'kAn.kOR+dz\e/+"
/\bflo rida\b/i --> "\e/+'flo&U_'R+a&I.r6$\e/+"
/\bflor pálida\b/i --> "\e/+'flOr6_'pA.li.dA\e/+"
/\bfranz ferdinand\b/i --> "\e/+fR+@nz_'fE0R+.d$.n@nd\e/+"
/\bfrode fjellheim\b/i --> "\e/+'fR+o&U.d$_'fjEl.ha&Im\e/+"
/\bgeorg solti\b/i --> "\e/+'ge&I.OR+g_'SOl.ti\e/+"
/\bgilberto gil\b/i --> "\e/+Zil.'bER+.tu_'Zil\e/+"
/\bgillian welch\b/i --> "\e/+'gIl.i.$n_'wElt&S\e/+"
/\bgive it to ya\b/i --> "\e/+'gIv_It_t$_'j^\e/+"
/\bglenn medeiros\b/i --> "\e/+'glEn_m$.'diR+.o&Us\e/+"
/\bgrace vanderwaal\b/i --> "\e/+'gR+e&Is_'v@n.d$R+_'wAl\e/+"
/\bgrupo maximo grado\b/i --> "\e/+'gR+u.po&U_mAk.'si.mo&U_'gR+A.do&U\e/+"
/\bgrupo niche\b/i --> "\e/+'gr6+u.po&U_'ni.t&Se&I\e/+"
/\bgucci mane\b/i --> "\e/+'gu.t&Si_'me&In\e/+"
/(?<=\bguns )(n['’]|['’]n)(?= roses\b)/i --> "'n"
/\bhablame de\b/i --> "\e/+'A.blAme&I_de&I\e/+"
/\bhari hari\b/i --> "\e/+'hA.r6i_'hA.r6i\e/+"
/\bhasta el amanecer\b/i --> "\e/+'A.stA_'El_A.mE.n.E.'sEr6\e/+"
/\bhook n sling\b/i --> "\e/+'hUk_$n_'slInK\e/+"
/\bhot chelle rae\b/i --> "\e/+hAt_SEl_'R+e&I\e/+"
/\bhot in herre\b/i --> "\e/+'hAr6_In_hiR+\e/+"
/\bidina menzel\b/i --> "\e/+I.'di.n$_mEn.zEl\e/+"
/\bilmar lapinsch\b/i --> "\e/+'Il.mAR+_'lA.pInS\e/+"
/\bin-n-out\b/i --> "\e/+'In.$n.'a&Ut\e/+"
/\bini kamoze\b/i --> "\e/+'a&I.ni_kA.'mo&U.zI\e/+"
/\bivan ulz\b/i --> "\e/+'a&I.v$n_'^lz\e/+"
/\bjacek koman\b/i --> "\e/+'jA.tsEk_'ko&U.mAn\e/+"
/\bjagged edge\b/i --> "\e/+'d&Z@.gId_'Ed&Z\e/+"
/\bjai alai\b/i --> "\e/+'ha&I_$.'la&I\e/+"
/\bjaime laredo\b/i --> "\e/+'d&Ze&I.mi_l$.'R+e&I.do&U\e/+"
/\bjanelle monáe\b/i --> "\e/+d&Z$.'nEl_mo&U.'ne&I\e/+"
/\bjanis joplin's\b/i --> "\e/+'d&Z@.nIs_'d&ZA.plInz\e/+"
/\bjanis joplin\b/i --> "\e/+'d&Z@.nIs_'d&ZA.plIn\e/+"
/\bjascha heifetz\b/i --> "\e/+'jA.S$_'ha&I.fIts\e/+"
/\bjason isbell\b/i --> "\e/+'d&Ze&I.s$n_'Iz.b$l\e/+"
/\bjavier colon\b/i --> "\e/+hA.'vjER+_ko&U.'lo&Un\e/+"
/\bjean yves\b/i --> "\e/+'ZOn_'iv\e/+"
/\bjess glynne\b/i --> "\e/+'d&ZEs_'glIn\e/+"
/\bjohn frusciante\b/i --> "\e/+'d&ZAn_fR+u.'SAn.te&I\e/+"
/\bjon pardi\b/i --> "\e/+'d&ZAn_'pAR+.di\e/+"
/\bJoshua Radin\b/i --> "\e/+'d&ZA.Sju.$_'R+e&I.dIn\e/+"
/\bJoshua(?= Bell\b)/ --> "\e/+'d&ZA.Su.^\e/+"
/\bjr jr\b/i --> "junior junior"
/\bkardinal offishall\b/i --> "\e/+kAR+.dI.'nAl_O.'fI.S@l\e/+"
/\bkat deluna\b/i --> "\e/+'k@t_d$.'lu.n$\e/+"
/\bkeke palmer\b/i --> "\e/+'ki.ki_'pA.m$R+\e/+"
/\bkelsea ballerini\b/i --> "\e/+'kEl.si_b@.l$.'R+i.ni\e/+"
/\bkeys n krates\b/i --> "\e/+'ki.z$n_'kR+e&Its\e/+"
/\bkid cudi\b/i --> "\e/+'kId_'k^.r6i\e/+"
/\bkishi bashi\b/i --> "\e/+'ki.Si_'bA.Si\e/+"
/\bla familia\b/i --> "\e/+'lA_f$.'mi.li.$\e/+"
/\bla sylphide\b/i --> "\e/+lA_sIl.'fid\e/+"
/\bla vie en rose\b/i --> "\e/+'lA_'vi_An_'R+o&Uz\e/+"
/\blady antebellum\b/i --> "\e/+'le&I.r6i_'@n.tI.'bE.l$m\e/+"
/\blana del rey\b/i --> "\e/+'lA.n$_dEl_'R+e&I\e/+"
/\blara mulcahy\b/i --> "\e/+'lAR+.$_m^l.'ke&I.i\e/+"
/\blas mañanitas\b/i --> "\e/+lAs_mA.njA.'nit.dAs\e/+"
/\blaura mvula\b/i --> "\e/+lOR+.$_m$.'vu.l$\e/+"
/\ble contesto\b/i --> "\e/+le&I_kOn.'tEs.to&U\e/+"
/\bles misérables\b/i --> "\e/+le&I_'mIz.E.'R+A.bl$\e/+"
/\blet em(')? know\b/i --> "\e/+'lEr6_$m_'no&U\e/+"
/\blet me see ya girl\b/i --> "\e/+lEt_mi_'si_j$_'gE0R+l\e/+"
/\blianne la havas\b/i --> "\e/+li.'@n_'lA_'hA.vAs\e/+"
/\blike woah\b/i --> "\e/+la&Ik_'wo&U\e/+"
/\blin-manuel miranda\b/i --> "\e/+'lIn.mAn.'wEl_m$.'R+@n.d$\e/+"
/\blindsay lohan\b/i --> "\e/+'lIn.zi_'lo&U.h@n\e/+"
/\blogo te pate\b/i --> "\e/+'lO.go&U_tE_'pAt.te&I\e/+"
/\blos chacos\b/i --> "\e/+'lo&Us_'t&SA.ko&Us\e/+"
/\blos recoditos\b/i --> "\e/+'lo&Us_R+e&I.ko&U.'dit.to&Us\e/+"
/\bluther vandross\b/i --> "\e/+'lu.T$R+_v@n.'dR+o&Us\e/+"
/\bLykke Li\b/i --> "\e/+'lI.ki_'li\e/+"
/\blyric ave\b/i --> "\e/+'lIR+.Ik_'@.v\e/+"
/\blyte funkie ones\b/i --> "\e/+la&It_'f^nK.ki_w^nz\e/+"
/\bm\.a\.a\.d\. city\b/i --> "\e/+'m@d_'sI.r6i\e/+"
/(?<=\bmaddie )&(?= tae\b)/i --> "'n"
/\bmadeleine peyroux\b/i --> "\e/+'mA.r6$.lEn_pe&I.'R+u\e/+"
/\bmajid jordan\b/i --> "\e/+'mA.d&ZId_'d&ZOR+.d$n\e/+"
/\bmali music\b/i --> "\e/+'m@.li_'mju.zIk\e/+"
/\bmarian lapsansky\b/i --> "\e/+'mAR+.i.An_l@p.'sAn.ski\e/+"
/\bmarsha ambrosius\b/i --> "\e/+'mAR+.S$_@m.'bR+o&U.Z$s\e/+"
/\bmas ysa\b/i --> "\e/+'mAs_'i.s^\e/+"
/\bmatt maher\b/i --> "\e/+m@t_'maR+\e/+"
/\bmaty noyes\b/i --> "\e/+'m@.r6i_'nO&Iz\e/+"
/\bmaurice abravanel\b/i --> "\e/+mO.'R+is_A.'bR+A.v$.nEl\e/+"
/\bmax peraza\b/i --> "\e/+'mAks_pE.'r6A.sA\e/+"
/\bmayor anhelo\b/i --> "\e/+ma&I.'jOr6_An.'hE.lo&UWeight\e/+"
/\bmc eiht\b/i --> "\e/+'Em_'si_'e&It\e/+"
/\bme ama\b/i --> "\e/+me&I_A.'mA\e/+"
/\bme está(?=$|\s|-|[[:punct:]])/i --> "\e/+me&I_Es.'ttAH\e/+"
/\bme gustas mucho\b/i --> "\e/+me&I_'gU.stAs_'mU.t&So&U\e/+"
/\bme odia\b/i --> "\e/+me&I_'o&U.di.A\e/+"
/\bme quieres\b/i --> "\e/+me&I_'kjEr6Es\e/+"
/\bme vas a extrañar\b/i --> "\e/+me&I_'vAs_A_Ek.str6A.'njAr6\e/+"
/\bmeg and dia\b/i --> "\e/+'mEg_$n_'di.$\e/+"
/\bmichel teló(?=$|\s|-|[[:punct:]])/i --> "\e/+mi.'SEl_tE.'lO\e/+"
/\bmike posner\b/i --> "\e/+'ma&Ik_'po&Uz.n$R+\e/+"
/\bmikis theodorakis\b/i --> "\e/+'mi.kIs_Ti.o&U.dO.'R+A.kIs\e/+"
/\bmos def\b/i --> "\e/+'mo&Us_'dEf\e/+"
/\bmoths to flames\b/i --> "\e/+'mOTs_t$_'fle&Imz\e/+"
/\bmumford and sons\b/i --> "\e/+'m^m.f$R+r6_$n_s^nz\e/+"
/\bmura masa\b/i --> "\e/+'mE0R+.$_'mA.s$\e/+"
/\bmura masa\b/i --> "\e/+'muR+.$_'mA.s$\e/+"
/\bmusiq soulchild\b/i --> "\e/+'mju.zIk_'so&Ul_t&Sa&Ild\e/+"
/\bmusiq soulchild\b/i --> "\e/+'mju.zIk_'so&Ul.t&Sa&Ild\e/+"
/\bnana mouskouri\b/i --> "\e/+'nAn.$_mU.'sku.R+i\e/+"
/\bNarendra Modi\b/i --> "\e/+n$.'R+En.dR+$_'mo&U.r6i\e/+"
/\bnct 127\b/i --> "\e/+'En_'si_'ti_w^n_twEn.r6i.'sE.v$n\e/+"
/\bnebu kiniza\b/i --> "\e/+'nE.bu_kI.'ni.z$\e/+"
/\bnella fantasia\b/i --> "\e/+'nE.lA_fAn.t$.'zi.$\e/+"
/\bnessun dorma\b/i --> "\e/+'nE.sUn_'dOr6.m$\e/+"
/\bniall horan\b/i --> "\e/+'na&I.$l_'hO.R+.$n\e/+"
/\bnicki minaj\b/i --> "\e/+'nI.ki_mI.'nAZ\e/+"
/\boh my dis side\b/i --> "\e/+'o&U_ma&I_'dIs.sa&Id\e/+"
/\bokieriete onaodowan\b/i --> "\e/+o&U.ki$.'R+E.te&I_o&U.'nA.do&U.wAn\e/+"
/\bolesya rulin\b/i --> "\e/+O.'li.sj$_'R+u.lIn\e/+"
/\bor nah\b/i --> "\e/+'OR+_'nA\e/+"
/\boru worship\b/i --> "\e/+'o&U_'AR+_'ju_'wE0R+.SIp\e/+"
/\bout do ya\b/i --> "\e/+a&Ut_'du_'j$\e/+"
/\bpaul grund\b/i --> "\e/+'pa&Ul_'gR+Unt\e/+"
/\bpaul kantschieder\b/i --> "\e/+'pa&Ul_'kAnt.Si.d$R+\e/+"
/\bpeter cetera\b/i --> "\e/+'pi.r6$R+_s$.'tER+.$\e/+"
/\bpeter schmalfuss\b/i --> "\e/+'pe&I.tAR+_'SmAl.fUs\e/+"
/\bpharrell williams\b/i --> "\e/+f$.'R+El_'wIl.j$mz\e/+"
/\bpierre boulez\b/i --> "\e/+pi.'ER+_bu.'lEz\e/+"
/\bpolovtsian dances\b/i --> "\e/+pA.'lAft.si.$n_'d@n.sIz\e/+"
/\bpor favor\b/i --> "\e/+pOr6_fA.'vOr6\e/+"
/\bprocol harum\b/i --> "\e/+'pR+o&U.kAl_'hAR+.r$m\e/+"
/\bpropuesta indecente\b/i --> "\e/+pr6o&U.'pwEs.tA_in.dE.'sEn.te&I\e/+"
/\bprélude à l'après-midi d'un faune\b/i -->
"\e/+'pR+e&I.lur6_A_l.@.pr6e&I_mI.'di_d^n_'fo&Un\e/+"
/\bque sera sera\b/i --> "\e/+'ke&I_sE.'R+A_'sE.'R+A\e/+"
/\br\.a\. the rugged man\b/i --> "\e/+'AR+#'e&I#'D$_'R+^.gId_'m@n\e/+"
/\brafael kubelik\b/i --> "\e/+'R+@.fa&I.El_'ku.b$.lIk\e/+"
/\bray lamontagne\b/i --> "\e/+'re&I_l$.mAn.'te&In\e/+"
/\brazón de ser\b/i --> "\e/+r6A.'sOn_dE_'sEr6\e/+"
/\brecuerdos de\b/i --> "\e/+r6r6+E.'kwEr6.do&Us_de&I\e/+"
/\bremy ma\b/i --> "\e/+'R+E.mi_'mA\e/+"
/\brené camacho\b/i --> "\e/+R+E.'ne&I_kA.'mA.t&So&U\e/+"
/\briccardo muti\b/i --> "\e/+R+I.'kAR+.do&U_'mu.tti\e/+"
/\brodrigo y gabriela\b/i --> "\e/+R+O.'dR+.i.go&U_'i_g@.bR+i.'E.l$\e/+"
/\bsalt n pepa\b/i --> "\e/+'sOl.t$n.'pEp.$\e/+"
/\bsarah jarosz\b/i --> "\e/+sER+.$_d&Z$.'ro&Uz\e/+"
/\bsay aah\b/i --> "\e/+se&I_'A\e/+"
/\bsensaci[oóÓ]n del bloque\b/i --> "\e/+sEn.s$.'sjOn_dEl_'blo&U_ke&I\e/+"
/\bsha na na\b/i --> "\e/+'SA_'nA_'nA\e/+"
/\bshabba ranks\b/i --> "\e/+'SA.b$_'R+@nKks\e/+"
/\bshabba shabba\b/i --> "\e/+'SA.b$_'SA.b$\e/+"
/\bsi no me falla el corazón\b/i -->
"\e/+'si_'no&U_'me&I_'fA.j^_El_kO.r6^.'so&Un\e/+"
/\bshokumotsu ga tsuranaru sekai\b/i --> "\e/+'So&U.ku.'mo&Ut.su_gA_tsu.R+
$.na.R+u_sE.'ka&I\e/+"
/\bsiiiiiiiiilver surffffeeeeer\b/i --> "\e/+'sIl.v$R+_'sE0R+.f$R+\e/+"
/\bSigur R[oó]s\b/i --> "\e/+'si.g$r_'R+o&Us\e/+"
/\bsin contrato\b/i --> "\e/+sin_kOn.'tr6At.do&U\e/+"
/\bsnatam kaur\b/i --> "\e/+s$.'nAt.d$m_'kOR+\e/+"
/\bsofia carson\b/i --> "\e/+so&U.'fi.$_'kAR+.s$n\e/+"
/\bsolo con verte\b/i --> "\e/+'so&U.lo&U_kOn_'vER+.te&I\e/+"
/\bsoulja boy\b/i --> "\e/+'so&Ul.d&Z$_bO&I\e/+"
/\bst\. tropez\b/i --> "\e/+s@n_tR+o&U.'pe&I\e/+"
/\bsuga suga\b/i --> "\e/+'SU.g$_'SU.g$\e/+"
/\bsuper saiyan\b/i --> "\e/+'su.p$R+_'se&I.$n\e/+"
/\bsuzy bogguss\b/i --> "\e/+'su.zi_'bA.g$s\e/+"
/\bsviatoslav richter\b/i --> "\e/+svi.'A.t$s.lAf_'R+Ik.t$R+\e/+"
/\bsymphonie fantastique\b/i --> "\e/+sAm.f$.'ni_fOn.tA.'stik\e/+"
/\btaio cruz\b/i --> "\e/+'ta&I.o&U_'kR+uz\e/+"
/\btalib kweli\b/i --> "\e/+tA.'lIb_kwA.'li\e/+"
/\btamar braxton\b/i --> "\e/+'te&I.mAR+_'bR+@k.st$n\e/+"
/\btaylor caniff\b/i --> "\e/+'te&I.l$R+_k$.'nIf\e/+"
/\bte amo\b/i --> "\e/+tte&I_'A.mo&U\e/+" #Workaround double Ts?
/\bte amo y\b/i --> "\e/+tte&I_'A.mo&U_'i\e/+"
/\bte busco\b/i --> "\e/+tte&I_'bUs.ko&U\e/+"
/\bte entiende\b/i --> "\e/+'tte&I_En.'tjEn.de&I\e/+"
/\bte hubieras ido\b/i --> "\e/+tte&I_u.'bjE.r6As_'i.do&U\e/+"
/\bte metiste\b/i --> "\e/+'tte&I_mE.'ttis.tte&I\e/+"
/\bte vas\b/i --> "\e/+tte&I_'vAs\e/+"
/\btear in my heart\b/i --> "\e/+'tER+_In_ma&I_'hAR+t\e/+"
/\btech n9ne\b/i --> "\e/+'tEk_'na&In\e/+"
/\btegan and sara\b/i --> "\e/+'ti.g$n_$n_'sER+.$\e/+"
/\btek weh yuh heart\b/i --> "\e/+tEk_'wE_j$_'hAR+t\e/+"
/\btell 'em\b/i --> "\e/+'tEl_$m\e/+"
/\bthe a team\b/i --> "\e/+Di_'e&I_tim\e/+"
/\bthe avett brothers\b/i --> "\e/+'Di_'e&I.v$t_bR+^.D$R+z\e/+"
/\bthe percocet and stripper joint\b/i -->
"\e/+D$_pE0R+.k$.'sEt_@n_'stR+I.p$R+_d&ZO&Int\e/+"
/\btinie tempah\b/i --> "\e/+'ta&I.ni_'tEm.p$\e/+"
/\bto ü(?=$|\s|-|[[:punct:]])/i --> "\e/+t$.'ju\e/+"
/\btommy tutone\b/i --> "\e/+'tA.mi_'tut.to&Un\e/+"
/\btoo close to touch\b/i --> "\e/+'tu_'klo&Us_t$_'t^t&S\e/+"
/\btory lanez\b/i --> "\e/+'tOR+.i_'le&Inz\e/+"
/\btoro i moy\b/i --> "\e/+'tOR+.o&U_'i_'mO&I\e/+"
/\btrio sur\b/i --> "\e/+'tR+i.o&U_'suR+\e/+"
/\btroy ave\b/i --> "\e/+tR+O&I_'@v\e/+"
/\btroy sivan\b/i --> "\e/+'tR+O&I_'sI.v$n\e/+"
/\btucker beathard\b/i --> "\e/+'t^.k$R+_'bET.$R+d\e/+"
/\bulices chaidez\b/i --> "\e/+u.'li.sEs_t&Sa&I.'dEs\e/+"
/\bun segundo\b/i --> "\e/+Un_sE.'gUn.do&U\e/+"
/\buse (the|a)\b/i --> "\e/+'juz\e/+ $1"
/\bvente pa' ca\b/i --> "\e/+'vEnte&I_pA_kA\e/+"
/\bvesselin gellev\b/i --> "\e/+'vE.s$.'lIn_'gE.lEf\e/+"
/\bvince gill\b/i --> "\e/+'vIns_'gIl\e/+"
/\bLouis(?= The Child\b)/i --> "lewis"
/\bvivir mi vida\b/i --> "\e/+vi.'viR+_mi_'vi.d$\e/+"
/\bvladimir horowitz\b/i --> "\e/+'vl@.r6$.miR+_'hOR+.$.vIts\e/+"
/\bvybez kartel\b/i --> "\e/+'va&Ibz_kAR+.'tEl\e/+"
/\bwaka flocka\b/i --> "\e/+'wA.k$_'flA.k$\e/+"
/\bwalter klien\b/i --> "\e/+'vAl.t$R+_'klin\e/+"
/\bway hii\b/i --> "\e/+'we&I_'ha&I\e/+"
/\bwe dem boyz\b/i --> "\e/+wi_dEm_'bO&Iz\e/+"
/\bwhere are ü now\b/i --> "\e/+wER+_AR+_ju_'na&U\e/+"
/\bwiener staatsoper\b/i --> "\e/+'vi.n$R+_'StAts.o&U.pE0R+\e/+"
/\bwiener staatsopernchor\b/i --> "\e/+'vi.n$R+_'StAts.o&U.pE0R+n.kOR+\e/+"
/\bwisin y yandel\b/i --> "\e/+'wI.sIn.iii.j@n.'dEl\e/+"
/\bx ambassadors\b/i --> "\e/+'Eks_'@m.'b@.s$.r6$R+z\e/+"
/\by así fue\b/i --> "\e/+'i_A.'si.'fwe&I\e/+"
/\by las\b/i --> "\e/+'i_'lAs\e/+"
/\by los\b/i --> "\e/+'i_'lOs\e/+"
/\by su\b/i --> "\e/+'i_'su\e/+"
/\by sus\b/i --> "\e/+'i_'sus\e/+"
/\by te\b/i --> "\e/+'i.tte&I\e/+"
/\by te amo\b/i --> "\e/+'i_'tte&I_'A.mo&U\e/+"
/\byeah yeah yeahs\b/i --> "\e/+'jE_'jE_'jEz\e/+"
/\byung joc\b/i --> "\e/+'j^nK_'d&ZAk\e/+"
/\byvng swag\b/i --> "\e/+'j^nK_'sw@g\e/+"
/\bzadok the priest\b/i --> "\e/+'ze&I.r6Ak_D$_'pR+ist\e/+"
/\bzay hilfigerrr and zayion mccall\b/i --> "\e/+'ze&I_'hIl.fI.g$R+_@n_'za&I.
$n_m$.'kOl\e/+"
/\bzayn malik\b/i --> "\e/+'ze&In_'m@.lIk\e/+"
/\bólafur arnalds\b/i --> "\e/+'o&U.lA.fuR+#'AR+.nAldz\e/+"
/\b(\d{2})" iPad\b/ --> " $1 inch iPad "
/\b(\d{2})\.5" iPad\b/ --> " $1 point five inch iPad "
/\bbuenos dias\b/i --> "\e/+'bwE.no&Us_'di.As\e/+"
/\bguten tag\b/i --> "\e/+'gu.tn%)_'tAg\e/+"
/\bde Machaut\b/i --> "\e/+d$_mA.'So&U\e/+"
/\bapplepie\b/ --> "apple pie"
/\bcarmouflage\b/ --> "camouflage"
/\bbasil\b/i --> "\e/+'be&I.z$l\e/+"
/\bblindspott\b/ --> "blind spot"
/\bLes grosses têtes\b/i --> "\e/+le&I_'gro&Us_'tEt\e/+"
# Bay Area Places
/\bVisitacion Valley\b/i --> "\e/+vI.zI.'te&I.S$n\e/+ valley"
/\bSAP Center\b/ --> "S A P Center"
/\bjohn cena\b/i --> "\e/+'d&ZAn_'si.n$\e/+"
/\bjordan feliz\b/i --> "\e/+'d&ZOR+.dn%)_f$.'liz\e/+"
/\bjuan luis guerra\b/i --> "\e/+'hwAn_lu.'is_'gEr6.r6A\e/+"
/\bjung tru\b/i --> "\e/+d&Z^nK_'tR+u\e/+"
/\bkala balch\b/i --> "\e/+'ke&I.l$_'bOlt&S\e/+"
/\bkidz bop\b/i --> "\e/+'kIdz.bAp\e/+"
/\blaura pausini\b/i --> "\e/+'la&U.r6.A_pa&U.'si.ni\e/+"
/\blos lobos\b/i --> "\e/+'lo&Us_'lo&U.bo&Us\e/+"
/\bmark mancina\b/i --> "\e/+'mAR+k_m@n.'t&Si.n$\e/+"
/\bmaszella holzapfel\b/i --> "\e/+mA.'sE.l$_'hOlt.sAp.fl%)\e/+"
/\bmikael mutti\b/i --> "\e/+'mi.kA.El_'mUt.ti\e/+"
/\bnapua greig\b/i --> "\e/+n$.'pu.$_gR+Eg\e/+"
/\bnicola fasano\b/i --> "\e/+'ni.ko&U.lA_f$.'sA.no&U\e/+"
/\boran juice jones\b/i --> "\e/+'OR+.$n_'d&Zus_'d&Zo&Unz\e/+"
/\bparov stelar\b/i --> "\e/+'pAR+.$f_'stEl.E0R+\e/+"
/\bpfeifer broz\b/i --> "\e/+'fa&I.f$R+_bR+o&Uz\e/+"
/\bramón ayala\b/i --> "\e/+r6r6A.'mo&Un_A.'jA.l$\e/+"
/\bremy zero\b/i --> "\e/+'R+Em.i_'zIR+.o&U\e/+"
/\briz ortolani\b/i --> "\e/+'r6r6its_Or6.to&U.'lA.ni\e/+"
/\brosi golan\b/i --> "\e/+'R+o&Uz.i_go&U.'lAn\e/+"
/\bserena ryder\b/i --> "\e/+s$.'R+i.n$_'R+a&I.r6$R+\e/+"
/\bspandau ballet\b/i --> "\e/+'sp@n.da&U_'b@.le&I\e/+"
/\btony toni toné(?=$|\s|-|[[:punct:]])/i -->
"\e/+'to&U.ni_'to&U.ni_'to&U.ni\e/+"
/\btorleif thedéen\b/i --> "\e/+'tOR+.le&If_t$.'di.$n\e/+"
/\bvalery gergiev\b/i --> "\e/+vA.'lER+.i_'gER+.'gjEf\e/+"
/\bvários artistas\b/i --> "\e/+'vA.r6i.o&Us_Ar6.'tis.tAs\e/+"
/\bwisin y yandel\b/i --> "\e/+wi.'sin.'i.jAn.'dEl\e/+"
/\bwm\. paul young\b/i --> "\e/+'wIl.j$m_'pOl_'j^nK\e/+"
/\bwynonna judd\b/i --> "\e/+wa&I.'no&U.n$_'d&Z^d\e/+"
/\byung wun\b/i --> "\e/+'j^nK_w^n\e/+"
/\b2 guys n the parque\b/i --> "\e/+'tu_'ga&Iz_In_D$_'pAR+k\e/+"
/\b311 essentials\b/i --> "three eleven essentials"
/\bgeddy lee\b/i --> "\e/+'gE.r6i_'li\e/+"
/\bFace ID\b/i --> "\e/+'fe&Is.'a&I_'di\e/+"
/\bSuper Retina Display\b/i --> "Super \e/+'R+Et.I.n$\e/+ Display"
/\bAnimoji\b/i --> "\e/+'@.n$.mo&U.d&Zi\e/+"
/(\d+)\s?>\s?(\d+)/ --> "$1 is greater than $2"
/(\d+)\s?≥\s?(\d+)/ --> "$1 is greater than or equal to $2"
/(\d+)\s?<\s?(\d+)/ --> "$1 is less than $2"
/(\d+)\s?≤\s?(\d+)/ --> "$1 is less than or equal to $2"
/(\d+)\s?≠\s?(\d+)/ --> "$1 is not equal to $2"
/\bMahalangur Himal\b/i --> "\e/+mA.hA.'l^nK.g$R+_'hI.mAl\e/+"
/\balejandro fernández\b/i --> "\e/+A.lE.'hAn.dr6+o&U_fEr6.'nAn.dEs\e/+"
/\bannasophia robb\b/i --> "\e/+'A.n$_s$.'fi.$_'R+Ab\e/+"
/\bantônio carlos jobim\b/i --> "\e/+An.'to&U.ni.o&U_'kAR+.luZ.Zo&U.'bin\e/+"
/\bantonio lucio\b/i --> "\e/+An.'to&U.ni.o&U_'lu.t&So&U\e/+"
/\bbebel gilberto\b/i --> "\e/+b$.'bEl.Zil.'bER+t.tU\e/+"
/\bberliner symphoniker\b/i --> "\e/+bER+.'li.n$R+_zIm.'fo&U.nI.k$R+\e/+"
/\bbig mato\b/i --> "\e/+'bIg_'me&I.to&U\e/+"
/\bbilly vera\b/i --> "\e/+'bI.li_'vE.R+$\e/+"
/\bbruce channel\b/i --> "\e/+'bR+us_S$.'nEl\e/+"
/\bbutterfly boucher\b/i --> "\e/+'b^.t$R+.fla&I_'ba&U.t&SE0R+\e/+"
/\bby que\b/i --> "\e/+ba&I_'kju\e/+"
/\bcalle 13\b/i --> "\e/+'kA.je&I_'tr6E.se&I\e/+"
/\bcasa de leones\b/i --> "\e/+'kA.zA_de&I_li.'o&U.nEs\e/+"
/\bcelso valli\b/i --> "\e/+'t&SEl.so&U_'vA.li\e/+"
/\bchad kroeger\b/i --> "\e/+'t&S@d_'kR+u.g$R+\e/+"
/\bdaniel reichard\b/i --> "\e/+'d@n.jl%)_R+I.'SAR+d\e/+"
/\bfedde le grand\b/i --> "\e/+fEd_l$_'gR+@nd\e/+"
/\bgente de zona\b/i --> "\e/+'hEn.te&I_de&I_'so&U.nA\e/+"
/\bhenrik måwe\b/i --> "\e/+'hEn.r6+Ik_'mo&U.vE\e/+"
/\bheribert beissel\b/i --> "\e/+'hE.R+I.bER+t_'ba&I.sl%\e/+"
/\bimar lapinsch\b/i --> "\e/+'i.mAr6r6_'lA.pInS\e/+"
/\bjawga boyz\b/i --> "\e/+'d&ZO.d&Z$_bO&Iz\e/+"
/\bjimmy durante\b/i --> "\e/+'d&ZI.mi_dU.'R+@n.ti\e/+"
/\bQutu?b Minar\b/ --> "\e/+ku.'tub_mi.'nAR+\e/+"
/\bjoão gilberto\b/i --> "\e/+Zu.'a&U_Zil.'bER+t.tU\e/+"
/(?<=\bAxwell )Λ Ingrosso\b/i --> "and \e/+In.'gR+o&U.so&U\e/+"
/\bVan Aswegen\b/ --> "\e/+'v@n_'As.wE.g$n\e/+"
#recent music additions
/\bTOMORROW X TOGETHER\b/i --> "tomorrow by together"
/\b1000X\b/ --> "one thousand times"
/\bBeastie Boys\b/i --> "\e/+'bi.sti.bO&Iz\e/+"
/\b6lack\b/i --> "black"
/\$uicideboy\$/i --> "suicide boys"
/\.Paak\b/i --> "paak"
/(?<=\bTori )Amos\b/i --> "\e/+'e&I.m$s\e/+"
/\bbette davis\b/i --> "\e/+'bE.r6i_'de&I.vIs\e/+"
/\bChaka Khan\b/i --> "\e/+'SA.k$_'kAn\e/+"
/\bFetty Wap\b/i --> "\e/+'fE.r6i_'wAp\e/+"
/\bIron Maiden\b/i --> "\e/+'a&I.E0n_'me&Id.n%)\e/+"
/(?<=\bKool )(and|\&)(?= The Gang\b)/i --> "'n"
/\bNEEDTOBREATHE\b/i --> "Need to Breathe"
/\bPusha T\b/i --> "\e/+'pU.S$_'ti\e/+"
/\brag'n'bone Man\b/i --> "\e/+'R+@g_$n_'bo&Un_'m@n\e/+"
/\bSnakehips\b/i --> "Snake hips"
/\bBlack Eyed Peas\b/i --> "\e/+bl@.'ka&Id_'piz\e/+" # Workaround
/\bty dolla \$ign\b/i --> "\e/+'ta&I_'dA.l$.sa&In\e/+"
/\bwhat's the 411\b/i --> "what's the four one one"
/(?<=\bbuilding )429\b/i --> "four twenty nine"
/\b90125\b/i --> "nine oh one two five"
/(?<=\bA Decade of Hits )1969-1979\b/i --> ", 19 69 to 19 79"
/(?<=\bBeatles )1967-1970\b/i --> ", 19 67 to 19 70"
/\bBow Chicka Wow Wow\b/i --> "\e/+'ba&U_t&SI.k$.'wa&U_'wa&U\e/+"
/\bCardiac Arrest\b/i --> "\e/+'kAR+.di.@k_E0.'R+Est\e/+"
/\bDO IT\b/ --> "do it"
/\bDROP IT\b/i --> "drop it"
/\besc[áa]pate conmigo\b/i --> "\e/+$s.'kA.p$.te&I_k$n.'mI.go&U\e/+"
/\bF\*ck(?= Everybody\b)/i --> "fuck"
/\bF[óo]rmula volume 2\b/i --> "\e/+'fOR+.mj$.l$_v$.'lu.me&I_'do&Us\e/+"
/\bFrom the Westside With Love II\b/i --> "from the westside with love, 2"
/\bGrandes Éxitos\b/i --> "\e/+'gR+An.de&Iz_'e&Ik.'sI.'to&Us\e/+" #Workaround
/(?<=\bGreatest Hits) '93-'03\b/i --> ", 93 to O 3"
/(?<=\bgreatest Hits) 1985-1995\b/i --> ", 19 85 to 19 95"
/(?<=\bGreatest Hits) II\b/i --> ", 2"
/\b(HIStory) (Past Present and Future)(?=, Book I\b)/i --> "$1, $2"
/(?<=\bHot Rocks) 1964-1971\b/i --> ", 19 64 to 19 71"
/\bHoy Más Fuerte\b/i --> "\e/+'O&I_'mAs_'fwER+.te&I\e/+"
/(?<=\bIt's |\bWe're |\bWe |\bHe |\bShe )Lit\b/i --> "lit"
/\bKaty Lied\b/i --> "katy lied"
/\bLifestylez ov da Poor and Dangerous\b/i --> "lifestyles of \e/+d$\e/+ poor
and dangerous"
/\bLittle Deuce Coupe\b/i --> "little deuce coop"
/\blow kii savage\b/i --> "low key savage"
/\bMe Dejé Llevar\b/i --> "\e/+'me&I_d$.'he&I_l$.'vAR+\e/+"
/\bMis Número 1\.\.\.40 Aniversario\b/i -->
"\e/+'mis_'nu.m$.R+o&U_'u.no&U_kwA.dR+A.'hE.si.mo&U_A.nI.v$R+.'sAR+.i.o&U\e/+"
/\bComet Of 1812\b/i --> "comet of 18 12"
/\bPlata O Plomo\b/i --> "\e/+'plAt.t^_'o&U_'plo&U.mo&U\e/+" #Workaround
/(?<=\bRearviewmirror Greatest Hits )1991-2003\b/i --> "19 91 to 2003"
/\brearviewmirror\b/i --> "rearview mirror"
/\bRed Coupe\b/i --> "red coop"
/\bRomeo(?= Santos\b)/i --> "\e/+R+o&U.'me&I.o&U\e/+"
/\bSgt Pepper's Lonely Hearts Club Band\b/i --> "Sergeant Pepper's Lonely
Hearts Club Band"
/\bSi Lo Digo Es Porque Puedo\b/i -->
"\e/+'si_'lo&U_'di.go&U_'Es_pUR+.'ke&I_'pwe&I.r6o&U\e/+"
/\bSOB X RBE\b/i --> " S O B R B E"
/\bSongsthatwewontgetsuedforbutattheendofthedayweallgonnadieanyway\b/i -->
"songs that we won't get sued 4 but at the end of the day we all gonna die anyway"
/\bSouthernplayalisticadillacmuzik\b/i --> "Southern playalistic cadillac
music"
/\bSoy Peor\b/i --> "\e/+'sO&I_pe&I.'OR+\e/+"
/\bStraight To It\b/i --> "straight \e/+'tu\e/+ it"
/(?<=\bThe Beatles) 1967-1970\b/i --> ", 19 67 to 19 70"
/(?<=\bThe Best of )1992-2002\b/i --> "19 92 to 2002"
/(?<=\bThere's )Alot(?= Going On\b)/i --> "a lot"
/(?<=\bThese )Heaux\b/i --> "hoes"
/\bTove(?= Styrke\b)/i --> "\e/+'tu.v$\e/+"
/\bVengo a Aclarar\b/i --> "\e/+'vEnK.go&U_$_'A.kl$.'R+AR+\e/+"
/\bpreatures\b/i --> "preachers"
/\bDZ (Death)(rays)\b/i --> "\e/+'di_'zi\e/+ $1 $2"
/\bDami Im\b/i --> "\e/+'d@.mi_'im\e/+"
/\bIsleepers\b/i --> "I sleepers"
/(?<=\bJay )Chou\b/i --> "\e/+'t&Sa&U\e/+"
#Workaround
/(?<=\bTommy )Thayer\b/i --> "\e/+'T.e&I.E0\e/+"
/\bOscar Ivan Treviño\b/i --> "\e/+'Os.k$R+_i.'vAn_tR+E.'vi.njo&U\e/+"
/\bSA Martinez\b/i --> "S A martinez"
/\bC[ée]sar S[aá]nchez\b/i --> "\e/+'si.z$R+_'s@n.t&Se&Iz\e/+"
/\bGy[oö]rgy Ligeti\b/i --> "\e/+'d&ZOR+.d&Zi_l$.'gE.r6i\e/+"
/\bA[S$]AP(?= Illz\b)/i --> "\e/+'e&I.s@p\e/+"
/(?<=\bvan der )Beek\b/i --> "\e/+'bik\e/+"
/\bAlain Johannes\b/i --> "\e/+'@.l$n_j$.'hA.n$s\e/+"
/\bByun Baek-hyun\b/i --> "\e/+'bjUn_'bAk_'hjUn\e/+"
/\bJorge(?= Gaxiola\b)/i --> "\e/+'hOR+.he&I\e/+"
/(?<=\bJosé )Areas\b/i --> "\e/+$.'R+e&I.$s\e/+"
/(?<=\bMatt )Gentling\b/i --> "\e/+'gEn.lInK\e/+"
/\bSergio Vallín\b/i --> "\e/+'sE0.d&Zi.o&U_v$.'jIn\e/+"
/\bSulata Foai-Amiatu\b/i --> "\e/+s$.'l@.r6$_'fo&U.a&I_@.mi.'A.r6u\e/+"
/(?<=\bNokio the )N-Tity\b/i --> "entity"
/(?<=\bJohn )Espy\b/i --> "\e/+'Es.pi\e/+"
/(?<=\bJoel )Fido(?= Martínez\b)/i --> "\e/+'fi.do&U\e/+"
/\bLes(?= Lawless\b)/i --> "\e/+'lEz\e/+"
/\bOle Beich\b/i --> "\e/+'o&U.l$_'be&Ik\e/+"
/\bIvan(?= L\. Moody\b)/i --> "\e/+'a&I.v$n\e/+"
/\bA\$AP Twelvyy\b/i --> "\e/+'e&I.s@p_'twEl.vi\e/+"
/\bChou Tzu-?Yu\b/i --> "\e/+'t&So&U_'zu_'ju\e/+"
/(?<=\bLelee )Lyons\b/i --> "\e/+'la&I.$nz\e/+"
/\bLol(?= Tolhurst\b)/i --> "\e/+'lAl\e/+"
/(?<=\bLuis )Ángel\b/i --> "\e/+'An.hEl\e/+"
/(?<=\bRoyce da )5\'9\"?\b/i --> "five nine"
/\btkay maidza\b/i --> "T K \e/+'ma&Id.z$\e/+"
/(?<=\bSoul )II(?= soul\b)/i --> "\e/+t$\e/+"
/\bj\.? willgoose,? esq\./i --> "jay willgoose esquire"
/\bjean michel jarre\b/i --> "\e/+'ZAn_mI.'SEl_'ZAR+\e/+"
/\bsixx:A\.M\./i --> "6AM"
/\bRainer \+ Grimm\b/i --> "rainer and grim"
/\bDan \+ Shay\b/i --> "dan and shay"
/\bLouis(?= Prima\b)/ --> "\e/+'lu.i\e/+"
/(?<=\bAdam )and(?= Eve\b)/i --> "n'"
/\bDDU DU DDU DU\b/ --> "\e/+'du_d$_'du_du\e/+"
/(?<=\bflip )flops\b/i --> "\e/+flAps\e/+" #Workaround
/(?<=\bHEARD ABOUT )US\b/ --> "us"
/\bIk Voel Je Liefde\b/i --> "\e/+'Ik_'ful_j$_'lif.d$\e/+"
/\bItz hani Gnue\b/i --> "it's \e/+'hA.ni_'gnu.$\e/+"
/\bOSOM\b/ --> "O S O M"
/(?<=\bPalau )Sant Jordi\b/i --> "\e/+'s@n_'ZOR+.Di\e/+"
/(?<=\bHndrxx )presents\b/i --> "\e/+pR+$.'zEnts\e/+"
#AM/PM rules
/\b0:00\s?am\b/i --> "midnight"
/(\d):00\s?(am|pm)\b/i --> "$1 $2"
/(?<=\bPBS KIDS )Presents\b/i --> "\e/+pR+$.'zEnts\e/+"
/(?<=\bPBS )Presents\b/i --> "\e/+pR+$.'zEnts\e/+"
/(?<=\bDaily |Health |Finance |Energy )202\b/i --> "two oh two"
/(?<=\bMobile),? AL\b/i --> " Alabama"
/\bMobile,?(?= Alabama\b| \e\\tn=state\\AL\b)/i --> "\e/+mo&U.'bil\e/+" # CEO
hometown, rdar://problem/50109205
# en-US state normalization, see <rdar://problem/37775306> Siri Bug - Oregon
mispronounced in "What time is it in Oregon" response
/\e\\tn=state\\AL\e\\tn=normal\\/ --> "Alabama"
/\e\\tn=state\\AK\e\\tn=normal\\/ --> "Alaska"
/\e\\tn=state\\AZ\e\\tn=normal\\/ --> "Arizona"
/\e\\tn=state\\AR\e\\tn=normal\\/ --> "Arkansas"
/\e\\tn=state\\CA\e\\tn=normal\\/ --> "California"
/\e\\tn=state\\CO\e\\tn=normal\\/ --> "Colorado"
/\e\\tn=state\\CT\e\\tn=normal\\/ --> "Connecticut"
/\e\\tn=state\\DE\e\\tn=normal\\/ --> "Delaware"
/\e\\tn=state\\FL\e\\tn=normal\\/ --> "Florida"
/\e\\tn=state\\GA\e\\tn=normal\\/ --> "Georgia"
/\e\\tn=state\\HI\e\\tn=normal\\/ --> "Hawaii"
/\e\\tn=state\\ID\e\\tn=normal\\/ --> "Idaho"
/\e\\tn=state\\IL\e\\tn=normal\\/ --> "Illinois"
/\e\\tn=state\\IN\e\\tn=normal\\/ --> "Indiana"
/\e\\tn=state\\IA\e\\tn=normal\\/ --> "Iowa"
/\e\\tn=state\\KS\e\\tn=normal\\/ --> "Kansas"
/\e\\tn=state\\KY\e\\tn=normal\\/ --> "Kentucky"
/\e\\tn=state\\LA\e\\tn=normal\\/ --> "Louisiana"
/\e\\tn=state\\ME\e\\tn=normal\\/ --> "Maine"
/\e\\tn=state\\MD\e\\tn=normal\\/ --> "Maryland"
/\e\\tn=state\\MA\e\\tn=normal\\/ --> "Massachusetts"
/\e\\tn=state\\MI\e\\tn=normal\\/ --> "Michigan"
/\e\\tn=state\\MN\e\\tn=normal\\/ --> "Minnesota"
/\e\\tn=state\\MS\e\\tn=normal\\/ --> "Mississippi"
/\e\\tn=state\\MO\e\\tn=normal\\/ --> "Missouri"
/\e\\tn=state\\MT\e\\tn=normal\\/ --> "Montana"
/\e\\tn=state\\NE\e\\tn=normal\\/ --> "Nebraska"
/\e\\tn=state\\NV\e\\tn=normal\\/ --> "Nevada"
/\e\\tn=state\\NH\e\\tn=normal\\/ --> "New Hampshire"
/\e\\tn=state\\NJ\e\\tn=normal\\/ --> "New Jersey"
/\e\\tn=state\\NM\e\\tn=normal\\/ --> "New Mexico"
/\e\\tn=state\\NY\e\\tn=normal\\/ --> "New York"
/\e\\tn=state\\NC\e\\tn=normal\\/ --> "North Carolina"
/\e\\tn=state\\ND\e\\tn=normal\\/ --> "North Dakota"
/\e\\tn=state\\OH\e\\tn=normal\\/ --> "Ohio"
/\e\\tn=state\\OK\e\\tn=normal\\/ --> "Oklahoma"
/\e\\tn=state\\OR\e\\tn=normal\\/ --> "Oregon"
/\e\\tn=state\\PA\e\\tn=normal\\/ --> "Pennsylvania"
/\e\\tn=state\\RI\e\\tn=normal\\/ --> "Rhode Island"
/\e\\tn=state\\SC\e\\tn=normal\\/ --> "South Carolina"
/\e\\tn=state\\SD\e\\tn=normal\\/ --> "South Dakota"
/\e\\tn=state\\TN\e\\tn=normal\\/ --> "Tennessee"
/\e\\tn=state\\TX\e\\tn=normal\\/ --> "Texas"
/\e\\tn=state\\UT\e\\tn=normal\\/ --> "Utah"
/\e\\tn=state\\VT\e\\tn=normal\\/ --> "Vermont"
/\e\\tn=state\\VA\e\\tn=normal\\/ --> "Virginia"
/\e\\tn=state\\WA\e\\tn=normal\\/ --> "Washington"
/\e\\tn=state\\WV\e\\tn=normal\\/ --> "West Virginia"
/\e\\tn=state\\WI\e\\tn=normal\\/ --> "Wisconsin"
/\e\\tn=state\\WY\e\\tn=normal\\/ --> "Wyoming"
/\e\\tn=state\\AS\e\\tn=normal\\/ --> "American Samoa"
/\e\\tn=state\\DC\e\\tn=normal\\/ --> "District of Columbia"
/\e\\tn=state\\FM\e\\tn=normal\\/ --> "Federated States of Micronesia"
/\e\\tn=state\\GU\e\\tn=normal\\/ --> "Guam"
/\e\\tn=state\\MH\e\\tn=normal\\/ --> "Marshall Islands"
/\e\\tn=state\\MP\e\\tn=normal\\/ --> "Northern Mariana Islands"
/\e\\tn=state\\PW\e\\tn=normal\\/ --> "Palau"
/\e\\tn=state\\PR\e\\tn=normal\\/ --> "Puerto Rico"
/\e\\tn=state\\VI\e\\tn=normal\\/ --> "Virgin Islands"
/\e\\tn=state\\AA\e\\tn=normal\\/ --> "Armed Forces Americas"
/\e\\tn=state\\AE\e\\tn=normal\\/ --> "Armed Forces Europe, the Middle East
and Canada"
/\e\\tn=state\\AP\e\\tn=normal\\/ --> "Armed Forces Pacific"
/\bpoke(?= bar\b)/i --> "\e/+'po&U.ki\e/+"
/(?<=\bdelicious |\byummy |\bgross |\bhad |\beat |\beats |\bate )poke\b/i -->
"\e/+'po&U.ki\e/+" # poke homograph disambiguation
/\bidina menzel\b/i --> "\e/+I.'di.n$_mEn.'zEl\e/+"
/(?<=\biron )(and|\&)(?= wine\b)/i --> "n'"
/\bjoan(?= sebastian\b)/i --> "\e/+ho&U.'wA+n\e/+"
/\bgonz[aá]lez\b/i --> "\e/+g$n.'zA.l$s\e/+"
/\bde mesillas\b/i --> "\e/+de&I_m$.'si.j$s\e/+"
/\blos cadetes de linares\b/i --> "\e/+'lo&Us_k$.'dE.t$s_de&I_l$.'nA.R+$s\e/+"
/\blos inquietos\b/i --> "\e/+'lo&Us_InK.ki.'E.to&Us\e/+"
/\blos invasores de nuevo le[oó]n\b/i --> "\e/+'lo&Us_In.vA.'sO.R+
$s_de&I_'nwe&I.vo&U_le&I.'An\e/+"
/\blos plebes del rancho de\b/i -->
"\e/+'lo&Us_'plE.b$s_dEl_'R+@n.t&So&U_de&I\e/+"
/\blos rieleros del norte\b/i --> "\e/+'lo&Us_R+i.
$.'lE.R+o&Us_dEl_'nOR+.te&I\e/+"
/\blos temerarios\b/i --> "\e/+'lo&Us_tE.m$.'R+AR+.i.$s\e/+"
/\blos(?= tigres\b)/i --> "\e/+'lo&Us\e/+"
/\bmachel montano\b/i --> "\e/+'mA.Sl%)_mAn.'tA.no&U\e/+"
/(?<=\bnico )(and|\&)(?= vinz\b)/i --> "n'"
/\br[oö]yksopp\b/i --> "\e/+'R+O&Ik.sAp\e/+"
/\bdobre(?= brothers\b)/i --> "\e/+'dA.bR+e&I\e/+"
/\bdblock(?= europe\b)/i --> "d block"
/\bsin[ée]ad\b/i --> "\e/+SI.'ne&Id\e/+"
/(?<=\bcrazy )cousinz\b/i --> "cousins"
/\bhilfige[r]{1,3}\b/i --> "\e/+'hIl.fI.g$R+\e/+"
/(?<=\bmamas )(and|\&)(?= (?:the )?papas\b)/i --> "n'"
/\bamin[ée](?=$|\s|-|[[:punct:]])/i --> "\e/+$.'mi.ne&I\e/+"
/(?<=\bcharlie )sloth\b/i --> "\e/+'slAT\e/+"
/(?<=\bGwen )Stefani\b/i --> "\e/+st$.'fA.ni\e/+"
/\b03(?= Greedo\b)/i --> "O three"
/(?<=\bAnuel )AA\b/i --> "double A"
/\bCa\$h Out\b/i --> "\e/+'k@S.a&Ut\e/+"
/(?<=\bCarlos )Vives\b/i --> "\e/+'vi.ve&Is\e/+"
/\bFabolous\b/i --> "fabulous"
/\bFrou Frou\b/i --> "\e/+'fR+u.fR+u\e/+"
/(?<=\bGeorge )Thorogood\b/i --> "\e/+'TE0.o&U.gUd\e/+"
/\bHRVY\b/i --> "Harvey"
/\bConjunto Primavera\b/i --> "\e/+ko&Un.'hun.to&U_pR+i.m$.'vER+.$\e/+" #
Workaround
/\bEnigma Norteño\b/i --> "\e/+E.'nIg.m$_nOR+.'te&In.jo&U\e/+"
/\bDe(?= La Ghetto\b)/i --> "day"
/(?<=\bEdwin Luna )y La Trakalosa de Monterrey\b/i -->
"\e/+'i_'lA_tR+A.k$.'lo&U.s$_'de&I_'mAn.t$.R+e&I\e/+"
/\bAFI\b/i --> "\e/+'e&I_Ef_'a&I\e/+"
/\barc[áa]ngel\b/i --> "\e/+AR+.'kAnK.hEl\e/+"
/\brj\s?-?mr\.?\s?la\b/i --> "RJ Mister L A"
/\bToro y Moi\b/i --> "\e/+'tOR+.o&U_i_'mwA\e/+"
/\bt3r(?= elemento\b)/i --> "\e/+tER+.'sER+\e/+"
/\bO'Jays\b/i --> "O J's"
/\bOMB(?= Peezy\b)/i --> "O M B"
/(?<=\bNEW )GEN\./ --> "gen"
/\bwifis(?=funeral\b)/i --> "\e/+'wa&I.fa&Iz\e/+"
/\bAlexisonfire\b/i --> "alexis on fire"
/\bMAKJ\b/i --> "mac J"
/\b1\s?(KB)\b/i --> "one kilobyte"
/\b(\d+)\s?(KB)\b/i --> "$1 kilobytes"
/\bKB\./i --> "K B"
/\bDime Si Te Acuerdas\b/i --> "\e/+'di.me&I_'si_'ti_A.'kwER+.d$s\e/+"
/(?<=\bAs Long As You Love )Me\b/i --> "\e/+mi\e/+" #Workaround
/\bDes\s?Jarlais\b/i --> "\e/+'de&I.ZAR+.le&I\e/+"
/\bcaffe\b/i --> "cafe"
/\bInvol2ver\b/i --> "involver two"
/(?<=\bJhené )Aiko\b/i --> "\e/+a&I.'i.ko&U\e/+"
/\b2x2\b/i --> "two by two"
/\b2manydjs\b/i --> "too many dj's"
/(?<=\bAndy C )Presents\b/i --> "\e/+pR+$.'zEnts\e/+"
/(?<=\bThe Internet )Presents\b/i --> "\e/+pR+$.'zEnts\e/+"
/\bmau5trap\b/i --> "mousetrap"
/\bMSFTS\b/i --> "misfits"
/\bNoisey\b/i --> "noisy"
/\bOTHERtone\b/i --> "other tone"
/\bReprezent\b/i --> "represent"
/\bS\s?0?(\d{1,2})[:\s]?E\s?0?(\d{1,3})\b/i --> "season $1 episode $2"
/\bpaper clip\b/i --> "\e/+'pe&I.p$R+.klIp\e/+"
/\bHm\b/i --> "hmm"
/\bde blasio\b/i --> "\e/+d$_'blA.zi.o&U\e/+"
/(?<=\bdavid )ige\b/i --> "\e/+'i.ge&I\e/+"
/\bUNC\b/ --> "U N C"
/\b[ck]hlo[ëé](?=$|\s|-|[[:punct:]])/i --> "chloe"
/\bJoelAdams\b/i --> "joel adams"
/\b36 Crazyfists\b/i --> "3 6 crazy fists"
/\bLa-Z-Boy\b/i --> "lazy boy"
/\bTone-Loc\b/i --> "tone \e/+'lo&Uk\e/+"
/\bgr{1,4}l\b/i --> "girl"
#/\bsi{1,5}\b/i --> "si" #rdar://problem/40821614
/\bmankini\b/i --> "\e/+m@n_'ki.ni\e/+" #Workaround
/\bMar\.(?= \d)/i --> "march"
/(?<=\bplease )read(?= it\b)/i --> "\e/+'R+id\e/+"
/(?<=\bNintendo )DS\b/i --> "D S"
/\bS Club(?= 7\b)/i --> "\e/+'Es.kl^b\e/+" #Workaround
/\bIAMDDB\b/i --> "i am ddb"
/(?<=\bJames )Rocha\b/i --> "\e/+'R+o&U.S$\e/+"
/\D\.O\.L\.L\.A\b/i --> "dolla"
/\bm\.a\.a\.d\.?(?= city)/i --> "mad"
/\bdrum'n'bass\b/i --> "drum n' bass"
/\bmc lean\b/i --> "McLean"
/(?<=\bWretch )32\b/i --> "three two"
/\bTyler, The Creator\b/i --> "tyler the creator"
/(?<=\bDeath )Punch\b/i --> "\e/+p^nt&S\e/+"
/\bMeat Loaf\b/i --> "meatloaf"
/\bMONSTA(?= X\b)/i --> "\e/+'mAn.st$R+\e/+"
/\bCornershop\b/i --> "corner shop"
/\bt\.A\.T\.u\./i --> "tattoo"
/(?<=\bSeinabo )Sey\b/i --> "see"
/\bRY X\b/i --> "rye X"
/(?<=\bWaze )(and|&)(?= Odyssey\b)/i --> "\e/+$n\e/+"
/\bKamakawiwo'ole\b/i --> "\e/+k$.mA.k$.'vi.vo&U.'A+.le&I\e/+"
/(?<=\bHighly )Suspect\b/i --> "\e/+'s^.spEkt\e/+"
/(?<=\bChris )de(?= Burgh\b)/i --> "\e/+d$\e/+" #Workaround
/\bZZ(?= Top\b)/i --> "zee zee"
/\bEn(?= Vogue\b)/i --> "\e/+En\e/+" #Workaround
/\bDevilman\b/i --> "devil man"
/\bYcee\b/i --> "Y C"
/\bINDIIA\b/i --> "india"
/\bATB\b/i --> "A T B"
/\bSHINee\b/i --> "shiny"
/\bDMA\'s\b/i --> "\e/+'di.'Em.'e&Iz\e/+"
/\bOl\'/i --> "\e/+'o&Ul\e/+"
/(?<=\bDionne )Warwick\b/i --> "\e/+'wA+.R+Ik\e/+"
/\bbeyoncé\s\b/i
ʼ --> "\e/+bi.'An.se&Iz\e/+"
/\bbeyoncés\b/i
ʼ --> "\e/+bi.'An.se&Iz\e/+" # normalization of exotic apostrophe
rdar://problem/41120098
/(?<=\bJack )Nicklaus\b/i --> "\e/+'nIk.l$s\e/+"
/(?<=\bI am quite )content\b/i --> "\e/+k$n.'tEnt\e/+"
/(?<=\bWilliam )St\b/i --> "street"
/\b54-40\b/i --> "fifty-four forty"
/\b90059\b/i --> "9 double O five nine"
/\bA(\s|-)Team\b/ --> "\e/+'e&I.'tim\e/+" #Workaround
/\bB4 DA ss\b/i --> "before da money"
/\bE MO TION\b/i --> "emotion"
/\bHaçienda Classiçal\b/i --> "\e/+hA.si.'En.d$_kl@.s$.'s@l\e/+"
/\bLes(?= Pattinson\b| Dennis\b)/i --> "\e/+'lEz\e/+"
/\bsweetsexysavage\b/i --> "sweet sexy savage"
/\bmau5\b/i --> "mouse"
/\bF\. A\. M\. E\./i --> "fame"
/(?<=\bGot |\bBURN )IT\b/i --> "it"
/\bwon['’]t\b/i --> "\e/+'wo&Unt\e/+"
/\b50\/50\b/i --> "fifty fifty"
/(?<=\bDalmatians is spelled )d a l m a t i a n s\b/i -->
"\e\\tn=spell\\dalmatians"
/(?<=\bHimalaya is spelled )H i m a l a y a\b/i --> "\e\\tn=spell\\himalaya"
/\bRead(?= \d{1,2}:\d{1,2} [PA]M\b)/i --> "\e/+'R+Ed\e/+"
/\bGrammy®/i --> "grammy"
#<rdar://problem/54653706> [PRON][en-US-
nashville:nora:167:female:gryphon:premiumhigh] Hong Kong SAR, China
/\b(?<=Macao\b|Macau\b|Hong Kong\b|HongKong\b) SAR\b/i --> "\e\\pause=50\\S A R
"
# World Cup Athletes <rdar://problem/39215321> Add Luthor dump for world cup
athletes to TTS userdict
/\bAdrien(?= Rabiot\b)/i --> "\e/+@.dR+i.'En\e/+"
/\bAlex(?= Sandro\b)/i --> "\e/+$.'lEks\e/+"
/\bAndr[eé]s Iniesta\b/i --> "\e/+An.'dR+Es_i.ni.'E.st$\e/+"
/\bArjen(?= Robben\b)/i --> "\e/+'AR+.j$n\e/+"
/\bDavid Luiz\b/i --> "\e/+'dA.vId_lu.'iz\e/+"
/\bEdin D[zž]eko\b/i --> "\e/+'e&I.d$n_'d&ZE.ko&U\e/+"
/\bGabriel Jesus\b/i --> "\e/+gA.bR+i.'El_Ze&I.'zus\e/+"
/\bmati[ćc](?=$|\s|-|[[:punct:]])/i --> "\e/+'mA.tit&S\e/+"
/\brakiti[ćc](?=$|\s|-|[[:punct:]])/i --> "\e/+'R+@.kI.tit&S\e/+"
/\bJan Oblak\b/i --> "\e/+'jAn_'A.bl@k\e/+"
/\bmbapp[eè](?=$|\s|-|[[:punct:]])/i --> "\e/+$m.'bA.pe&I\e/+"
/\bke[iï]ta\b/i --> "\e/+'ka&I.t$\e/+"
/\balc[aâ]ntara\b/i --> "\e/+@l.'kAn.t$.R+$\e/+"
/\brapha[eë]l\b/i --> "\e/+'R+@.fa&I.El\e/+"
/\bSa[uú]l [nñ][ií]guez\b/i --> "\e/+'sa&Ul_nig.'wEz\e/+"
/\bSergio(?= Ag[uü]ero\b| Busquets\b)/i --> "\e/+'sER+.hi.o&U\e/+"
/\bibrahimovi[ćc](?=$|\s|-|[[:punct:]])/i --> "\e/+i.bR+$.'hi.m$.vIt&S\e/+"
/(?<=\bNaked )(and|&)(?= Famous\b)/i --> "\e/+$n\e/+"
/\bBeyoncé\'s\b/i --> "\e/+bi.'An.se&Iz\e/+"
/\bSi tu écoutes, j'annule tout\b/i --> "\e/+si_'tu_e&I.kut#d&Z$.'nul_'tu\e/+"
/(?<=\banswer is )(\d{1,3}\/\d{1,3})\b/i --> "\e\\tn=fraction\\
$1\e\\tn=normal\\"
# rdar://problem/39449563 Normalizes \d:\d (e.g. 3:1) to "3 to 1" when preceded by
"odds are"
/(?<=\bodds are )(\d{1,3}):(\d{1,3})\b/i --> "$1 to $2"
/(?<=\bViva )La(?= Vida\b)/i --> "\e/+'l$\e/+"
/(?<=\binfinity )(\(?888\)?)\b/i --> "eight eight eight"
/(?<=\bNatalie )La Rose\b/i --> "\e/+l^.'R+o&Uz\e/+" #Workaround
/\bDove(?= Cameron\b)/i --> "\e/+'d^v\e/+"
/\bAyo (&|and) Teo\b/i --> "\e/+e&I.'jo&U_$n_te&I.'jo&U\e/+" #Workaround
/\bCool J\b/i --> "\e/+'kul.d&Ze&I\e/+" #Workaround
/\bRAY BLK\b/i --> "ray black"
/\bWHTKD\b/i --> "white kid"
/\bPuff Daddy\b/i --> "\e/+'p^f_'d@.di\e/+"
/(?<=\bplaying |here's |by )112\b/i --> "one twelve"
/(?<=\bchloe )x(?= halle\b)/i --> "n'"
/(?<=\d(st|nd|rd|th) )c\./i --> "century"
/\bSFJAZZ\b/i --> "SF jazz"
/\bRaven-Symon[eé](?=$|\s|-|[[:punct:]])/i --> "raven simone"
/¡Forward, Russia!/i --> "forward Russia"
/(?<=\bTour )de France\b/i --> "\e/+d$_'fR+Ans\e/+"
/\bEl Capitan\b/i --> "\e/+El_k@.p$.'t@n\e/+"
# Text Normalization: rdar://problem/39579224 -- \dx\d (e.g. "2x4")
/\b(\d{1,3})x(\d{1,3})(?!\=)\b/i --> "$1 by $2" # negative lookahead added to
prevent this rule from firing in math contexts, e.g 2x4=8
/\b(\d{1,})x(\d{1})(?=\=)/ --> "$1 times $2"
/\bA\&M\b/i --> "\e/+'e&I_$n\e/+ M"
/(?<=\bSiri )(and|\&)(?= Dictation\b)/i --> "\e/+$n\e/+"
/\bBET\b/ --> "B E T"
/\bSanta Ana\b/i --> "\e/+'s@.n$_'@.n$\e/+"
/\b1200(?= Techniques\b)/i --> "twelve hundred"
/(?<=\bRÜFÜS DU )SOL\b/i --> "\e/+'sAl\e/+"
/(?<=\bProudly )Present\b/i --> "\e/+pR+I.'zEnt\e/+"
/(?<=\bProudly |\bTimbaland |\bB o B )Presents\b/i --> "\e/+pR+I.'zEnts\e/+" #
presents homograph disambiguation
/(?<=\bWhat )Separates\b/i --> "\e/+'sE.p$.R+e&Its\e/+"
/\bSeparates(?= Me\b)/i --> "\e/+'sE.p$.R+e&Its\e/+"
/\bNizhny Novgorod\b/i --> "\e/+'niS.ni_'no&Uv.g$.R+$d\e/+"
/\bShin Tae-yong\b/i --> "\e/+'SIn_'te&I_'j^nK\e/+"
/\bSu[áa]rez\b/i --> "\e/+'swA.R+Es\e/+"
/(?<=\bGerard )Piqu[ée]/i --> "\e/+pi.'ke&I\e/+"
/(?<=\bDiego )Godin\b/i --> "\e/+go&U.'din\e/+"
/\bJoachim L[öo]w\b/i --> "\e/+jo&U.'A.kim_'luf\e/+"
/(?<=\bpress )and(?= hold the power button\b)/i --> "n'"
/\bhigua[ií]n\b/i --> "\e/+i.gwA.'in\e/+"
/\bpetkovi[ćc](?=$|\s|-|[[:punct:]])/i --> "\e/+pEt.'k^.vIt&S\e/+"
/\bf[àa]bregas\b/i --> "\e/+'fA.bR+e&I.gAs\e/+"
# rdar://problem/39735124 Mac serial number is 12 characters, but I am setting a
wider range to be safe.
/(?<=\bThe serial number of your Mac is )([a-zA-Z0-9]{10,14})\b/i -->
"\e\\tn=spell\\\e\\tn=number\\$1\e\\tn=normal\\"
#
/\bdemb[eé]l[eé](?=$|\s|-|[[:punct:]])/i --> "\e/+dEm.'bEl.e&I\e/+"
/\bJúnior\b/i --> "junior"
/(?<=\bKevin De )Bruyn\b/i --> "\e/+'bR+O&In\e/+"
/(?<=^|\s|-|[[:punct:]])[ÑNñ][ií]guez\b/i --> "\e/+'ni.gEs\e/+"
/\bSané(?=$|\s|-|[[:punct:]])/i --> "\e/+'s@.ne&I\e/+"
/(?<=\bOK, see )you(?= later\b)/i --> "\e/+j$\e/+"
/(?<=\bRight), (?=then\.)/i --> " "
/\bjoke-telling\b/i --> "\e/+'d&Zo&Uk.tE.lInK\e/+"
# Anti-gravity sounds better as two words. This may be the case for other "anti-"
compounds too.
/\banti-gravity\b/i --> "anti gravity"
/\bSalt Lake(?= City\b)/i --> "\e/+'sOlt.le&Ik.\e/+"
/\bLa(?= Bufanda\b)/i --> "\e/+lA\e/+"
/(?<=\bHe |\bShe |\bIt )Lives\b/i --> "\e/+'lIvz\e/+"
/(?<=\bTrue |\bReal |\bBetter )Lives\b/i --> "\e/+'la&Ivz\e/+" # lives
homograph disambiguation
/(?<=\baptos )st\.?\b/i --> "street"
/\bKOD\b/ --> "K O D"
/\bGuerschon Yabusele\b/i --> "\e/+'gE0R+.SAn_'jA.bu.sEl.e&I\e/+"
/\bNGOs\b/ --> "N G O's"
/\bart3mis\b/i --> "artemis"
/\bPynk\b/i --> "pink"
/\bKoЯn\b/i --> "korn"
/\bWh♂(?=$|\s|-|[[:punct:]])/i --> "who"
/(?<=\bLOOK WHAT YOU MADE )ME\b/ --> "me"
/(?<=\bMike )Duce\b/i --> "\e/+'dus\e/+"
/\bNo\.(?= \d{1,}\b)/ --> "number"
/\bDel Naja\b/i --> "\e/+'dEl_'na&I.$\e/+"
/\bA(?= Minor\b| Major\b)/ --> "\e/+'e&I\e/+"
/\bphilz coffee\b/i --> "\e/+fIlz_'kO.fi\e/+"
/\bawkwafina\b/i --> "aquafina"
/\bSME\b/i --> "S M E"
/(?<=\bRock )\'?N\'?(?= Roll\b)/i --> "n'"
#/(?<=\bSkengdo (&|and) )AM\b/i --> "A M"
/\b(\d+) 1\/4(?= (hundred\b|thousand\b|million\b|billion\b|trillion\b))/i -->
"$1 and a quarter"
/\b(\d+) 1\/2(?= (hundred\b|thousand\b|million\b|billion\b|trillion\b))/i -->
"$1 and a half"
/\b(\d+) 3\/4(?= (hundred\b|thousand\b|million\b|billion\b|trillion\b))/i -->
"$1 and three quarter"
/(?<=\bby |playing |artist )67\b/i --> "six seven"
/\bAy(?= Em\b)/i --> "A"
# Adding pause in phrase: rdar://problem/39807140
/\bWhen someone tells me to stop acting like a flamingo– that['’]s when I put my
foot down\b/i --> "When someone tells me to stop acting like a flamingo, that's
when I put my foot down"
/(?<=^|\s|-|[[:punct:]])[AÅ]ge(?= Hareide\b)/i --> "\e/+'O.ge&I\e/+"
/\banghel iordanescu\b/i --> "\e/+'AnK.gIl_jOR+.d$.'nEs.ku\e/+"
/\b[O0]V[O0]\b/i --> "O V O"
/WGBH/ --> "W G B H"
/(?<=\d )1\/2\b/ --> "and a halfth"
/\bLANY\b/ --> "\e/+'le&I.ni\e/+"
/\btheprincela\.com\b/i --> "the prince LA dot com"
/\bL\.?A\.?(?!\w)/ --> "\e/+'El.'e&I\e/+" # workaround
/(?<=\bcanal )[àa] la(?= demande\b)/i --> "\e/+'A_'lA\e/+"
/\bdecades-old\b/i --> \e/+'dE.ke&Idz.o&Uld\e/+
/\bezinearticles\b/i --> "e-zine articles"
/(?<=\ba-list):/i --> "" # delete the colon after "a-list"
/\bam\/?pm\b/i --> "A M P M"
/\bE•MO•TION\b/i --> "emotion"
/\bPM2\.5\b/i --> "P M 2 point 5"
/(?<=^|\s|-|[[:punct:]])μ-Ziq\b/i --> "music"
/\bHoly Cross\b/i --> "holy \e/+'kR+As\e/+"
/\bNCIS\b/i --> "N C I S"
/\btearing(?= the\b)/i --> "\e/+'tER+.InK\e/+"
/(?<=\bOn )Ur(?= Mind\b)/i --> "\e/+'jE0\e/+"
/\bHugo(?= Lloris\b)/i --> "\e/+'ju.go&U\e/+"
/\bMichel(?= Vorm\b)/i --> "\e/+mi.'SEl\e/+"
/\bDele(?= Alli\b)/i --> "\e/+'dE.li\e/+"
/\bDemb[Éée]l[Éée]/i --> "\e/+'dEm.be&I.le&I\e/+"
/\bHeung\-Min\b/i --> "\e/+hUnK.'mIn\e/+"
/\bD\'Agostino\b/i --> "\e/+dA.g$.'sti.no&U\e/+"
/\bJim[Éée]nez\b/i --> "\e/+hi.'me&I.nEz\e/+"
/\bChristian(?= Kabasele\b)/i --> "\e/+'kR+Ist.jOn\e/+"
/\bSebastian(?= Pr[Ööo]dl\b)/i --> "\e/+s$.'b@s.ti.jAn\e/+"
/\bPr[Ööo]dl\b/i --> "\e/+'pR+u.r6l%)\e/+"
/\bWagu[Éée](?=$|\s|-|[[:punct:]])/i --> "\e/+'v@.ge&I\e/+"
/\bDoucour[Éée](?=$|\s|-|[[:punct:]])/i --> "\e/+du.'ku.R+e&I\e/+"
/\bFemen[Ííi]a\b/i --> "\e/+'fE.m$.ni.$\e/+"
/\bI[Ññn]igo\b/i --> "\e/+'In.j$.go&U\e/+"
/\bSalom[Óó]n\b/i --> "\e/+'sA.lo&U.mOn\e/+"
/(?<=\bJosé )Salomon\b/i --> "\e/+'sA.lo&U.mOn\e/+"
/\bRond[Óóo]n\b/i --> "\e/+'R+On.dOn\e/+"
/\bArthur(?= Masuaku\b)/i --> "\e/+AR+.'tuR+\e/+"
/\bKouyat[Éée](?=$|\s|-|[[:punct:]])/i --> "\e/+'ku.j@.te&I\e/+"
/\bArnautovi[Ććc](?=$|\s|-|[[:punct:]])/i --> "\e/+'AR+.na&U.0t$.vIt&S\e/+" # 0
workaround
/\bCeltic(?= game\b|FC\b|Football\b)/i --> "\e/+'sEl.tIk\e/+"
/(?<=\bGlasgow )Celtic\b/i --> "\e/+'sEl.tIk\e/+"
/\bSedin\'?s\b/i --> "\e/+s$.'dinz\e/+"
/\bGlassell(?= Park\b)/i --> "\e/+'gl^.sEl\e/+"
/\bSME(?= Remaster\b)/i --> "S M E"
/(?<=\bAnne\-Marie )David\b/i --> "\e/+d$.'vid\e/+"
# Measure words
/(?<=\b1|\bone)\s?GB\/s\b/i --> "gigabyte per second"
/(?<=\b1|\bone)\s?GBPS\b/i --> "gigabyte per second"
/GB\/s/i --> "gigabytes per second"
/GBPS/i --> "gigabytes per second"
/(?<=^| )1 GB/ --> "one gigabyte"
/(?<=\d )GB/ --> "gigabytes"
/(?<=\b1 |\bone )lb\b/ --> "pound"
#/\blbs?\b/ --> "pounds"
/(?<=\b1 )ft\.?²/i --> "square foot"
/(?<=[0-9] )ft\.?²/i --> "square feet"
/(?<=\b1 |\bone )ft\b/ --> "foot"
#/\bft\b/ --> "feet"
#/(?<=\b1 |\bone )mi\b/ --> "mile" # rdar://problem/40821614
#/\bmi\b/ --> "miles" #rdar://problem/40821614
/(?<=\b1 |\bone )km\b/ --> "kilometer"
/\bkm\b/ --> "kilometers"
/(?<=\d)mW\b/ --> "megawatts"
# Radio stations
/\bNova937\b/i --> "Nova 93.7"
/\bNova919\b/i --> "Nova 91.9"
/\bNova969\b/i --> "Nova 96.9"
/\bNova\s?1069\b/i --> "nova 1 oh 6 9"
/\bSmooth915\b/i --> "Smooth 91.5"
/\bSmooth953\b/i --> "Smooth 95.3"
# Live/Lives rules
/\(Live\)/i --> "\e/+'la&Iv\e/+"
/(?<=\bESPN sports )live\b/i --> "\e/+'la&Iv\e/+"
/(?<=\bHe |She |It )Lives\b/i --> "\e/+'lIvz\e/+"
/\bLive(?= and Die\b)/i --> "\e/+'lIv\e/+"
/\bLive(?= (At The Oscars\b|From Abbey Road Studio\b))/i --> "\e/+'la&Iv\e/+"
/(?<=\bBelievin' )Live\b/i --> "\e/+'la&Iv\e/+"
/\bLive(?= at Luther College\b)/ --> "\e/+'la&Iv\e/+"
/(?<=\b10,000 Maniacs, )Live(?= at the Belly Up\b)/i --> "\e/+'la&Iv\e/+"
/\bj-live\b/i --> "\e/+'d&Ze&I.la&Iv\e/+"
/\bto live\b/i --> "to \e/+'lIv\e/+"
/\bLong Live the Angels\b/i --> "long \e/+'lIv\e/+ the angels"
/\bLong Live the Pimp\b/i --> "long \e/+'lIv\e/+ the pimp"
/\bLong Live\b/i --> "long \e/+'lIv\e/+"
/\bCan I Live\b/i --> "can I \e/+'lIv\e/+"
/\blive(?= and direct to you\b| and loud\b| recording\b| 2012\b| from London\b| at
River Plate\b| radio\b)/i --> "\e/+'la&Iv\e/+"
/\blive for\b/i --> "\e/+'lIv_fOR+\e/+"
/\bLive Another Day\b/ --> "\e/+'lIv_$.'n^D.$R+.'de&I\e/+"
/(?<=\bWSJ )Live\b/ --> "\e/+'la&Iv\e/+"
/\blive and let die\b/i --> "\e/+'lIv_@nd_lEt_'da&I\e/+"
/\bLive Another Day\b/ --> "\e/+'lIv_$.'n^D.$R+_'de&I\e/+"
/\bLive Photo\b/ --> "\e/+la&Iv_'fo&U.to&U\e/+"
/\bLive Photos\b/ --> "\e/+la&Iv_'fo&U.to&Uz\e/+"
/\bLive Loops\b/i --> "\e/+'la&Iv_'lups\e/+"
/\blive at wembley\b/i --> "\e/+la&Iv_@t_'wEm.bli\e/+"
/\bKeynote Live\b/ --> "\e/+'ki.no&Ut_'la&Iv\e/+"
/\biTunes Live\b/ --> "\e/+'a&I.tunz_'la&Iv\e/+"
/\bBeats 1 live\b/i --> "\e/+'bits_'w^n_'la&Iv\e/+"
/\bBeats 1\b/i --> "\e/+'bits.w^n\e/+"
/\bI Don't Want to Live\b/i --> "I Don't Want to \e/+'lIv\e/+"
/(?<=\ball the small things |\ball the young dudes )live\b/i --> "\e/+'la&Iv\e/
+"
/(?<=\bis now )live\b/i --> "\e/+'la&Iv\e/+"
/(?<=\bFormer )Lives\b/ --> "\e/+'la&Ivz\e/+" # works when former is lower-case
only, this rule accounts for former being capitalized <rdar://problem/39089338>
# Doctor vs Drive
/(?<=\bBuckingham )Dr\.?\b/i --> "drive"
/(?<=\bBandley )Dr\.?\b/i --> "drive"
# Lead homograph:
/\blead(?= over\b| vocalist\b| vocalists\b| the series\b| singer\b| singers\b|
author\b| authors\b)/i --> "\e/+'lid\e/+"
/(?<=\bin the )lead\b/i --> "\e/+'lid\e/+"
/(?<=\bgunpowder and|\bgunpowder \& )lead\b/i --> "\e/+'lEd\e/+"
/\bLead(?= Belly\b)/i --> "\e/+'lEd\e/+"
# Two-word workarounds
/\barrhythmia\b/i --> "\e/+$.'R+IT_mi.$\e/+"
/\bKamehameha\b/i --> "\e/+k$.'me&Ij.$_'me&Ij.$\e/+" # two word workaround
rdar://problem/43960929
/\bRucka Rucka\b/i --> "\e/+'R+^k_$_'R+^k_$\e/+" # workaround for
<rdar://problem/35837016>
/\bPeru\b/i --> "\e/+p$_'R+u\e/+"
/\bredistilling\b/i --> "\e/+R+i_dI.'stI.lInK\e/+"
# Stress modification
/(?<=\bPlease try your car's controls )to operate the hood\b/i --> "\e/+t$\e/+
operate the \e/+hUd\e/+" # Workaround, unstressed hood for rdar://problem/32289601
/(?<=\bLiving |\bDining |\bFamily )Room\b(?![[:punct:]]{2})/i -->
"\e/+R+um\e/+" # rdar://problem/43668160, added negative lookahead for
rdar://problem/52788187
# prompt-related
/\bhee…hee\b/i --> "hee...hee"
# present homograph
/(?<=\bAlfred Hitchcock )presents\b/i --> "\e/+pR+I.'zEnts\e/+"
# perfect homograph
/\bPerfect(?= Duet\b)/i --> "\e/+'pE0R+_fIkt\e/+" # Workaround as 'pE0R+.fIkt
changes to P e: . f E k t rdar://problem/35849613
# rdar://problem/40530433
/\bAre you sure you want to cancel all 3 timers\?/i --> "Are you sure you wanna
\e/+'k@n.s$l0\e/+ \e/+'Ol\e/+ 3 \e/+'ta&Im.E0z\e/+?"
/(?<=\bAre you sure you )want to(?= delete this reminder\b)/i --> "wanna"
# rdar://problem/42602739
/(?<=\bpersonal radio |space )station\b/i --> "\e/+ste&I.S$n\e/+"
# record homograph
/\brecord(?= audio\b)/i --> "\e/+R+$.'kOR+d\e/+"
/(?<=\bthe )Record(?= button\b)/i --> "\e/+R+$.'kOR+d\e/+"
/\bRecord\b(?= Labels?\b| Producers?\b| Company\b| Companies\b)/i -->
"\e/+'R+E.k$R+d\e/+"
# Highways
/\bI-280\b/i --> "I 2 80"
/\bI-880\b/i --> "I 8 80"
# POS Modifications
/(?<=\blike )that\b/i --> "\e\\nlu=PRM:1\\that"
/(?<=\bUnfortunately, I don't know a lot about )that\b/i -->
"\e\\nlu=PRM:1\\that"
/\bthat(?= event\b)/i --> "\e\\nlu=PRM:1\\that"
/(?<=\bSorry about )that\b/i --> "\e\\nlu=PRM:1\\that"
/(?<=\bThe square root of )-1 is i, where i is the square root of -1\b/i -->
"negative 1 \e/+Iz.'a&I\e/+, where i is the square root of negative 1"
/(?<=\bWhat body language experts saw when Trump )and(?= Kim met\b)/i --> "\e/+
$n\e/+"
/(?<=\bit only averages two )and(?= a half stars\b)/i --> "\e/+$n\e/+"
/(\bBring It On: In It to Win It)\"? (stars Ashley Benson, Jennifer Kelly Tisdale
and Michael Copon\b)/i --> ","
/\bjury(?= awards\b)/i --> "\e/+'d&ZE0R+.i\e/+"
/(?<=\bEither mud )or dust are found at (?=all times\b)/i --> "\e/+E0\e/+ dust
are found \e/+$t\e/+"
# highways rdar://problem/42826494
/\bUS-110\b/i --> "U S 1 ten"
/\bUS-101\b/i --> "U S 1 oh 1"
/\bI-405\b/i --> "\e/+'a&I\e/+ 4 oh 5"
/\b101(?= freeway\b)/i --> "1 oh 1"
/(?<=\bSan )Tomas(?= Expressway\b)/i --> "\e/+t$.'mAs\e/+"
# suspect homograph
/(?<=\bshooting )suspect\b/i --> "\e/+'s^.spEkt\e/+"
# tear homograph
/\btear(?= off calendar\b)/i --> "\e/+'tER+\e/+"
/(?<=John Lennon, Paul McCartney, George )Harrison and(?= Ringo Starr\b)/i -->
"\e/+'hER+.I.s$n#_'$n\e/+"
# Fixes for web answers feed, <rdar://problem/55316592> [en-US] fix top 100
unnatural_offensive utterances from web answers feed
/\bprotodynastic\b/i --> "\e/+'pR+o&U.r6o&U_da&I.'n@.stIk\e/+"
/\bBye, Felicia\b/i --> "Bye Felicia" # delete comma to prevent awkward pause
/\bFacebook, Inc\.?\b/i --> "Facebook Incorporated" # delete comma to prevent
awkward pause
/(\b\w+)-and-(\w+\b)/i --> "$1 \e/+$n\e/+ $2"
/(\d(\.\d{1,2})?)% (percent)\b/i --> "$1 $3" # remove repeated 'percent'
/\bles Grands[-–]?Lacs\b/i --> "\e/+le&I.'gR+On.'l@k\e/+"
/(?<=\bWarner )Bros.(?= Cartoons\b)/i --> "Brothers"
/\bF[eé]d[eé]ration A[eé]ronautique Internationale\b/i -->
"\e/+fE.r6$.'R+e&I.S$n_ER+.$.nO.'tik_In.t$R+.'nA.si.$.'nAl\e/+"
## Pause issues (known issue, sometimes hyphenated words get treated as EOS)
/\bwould-be\b/i --> "would be"
/\bcustomer-to-customer\b/i --> "customer to customer"
/\bpresent-day\b/i --> "present day"
/\bfifteenth-most\b/i --> "fifteenth most"
/\bdown-and-out\b/i --> "down \e/+$n\e/+ out"
/\bsemi-automatic\b/i --> "semi automatic"
/\blarger-than-life\b/i --> "larger than life"
/\bgender-specific\b/i --> "gender specific"
# Keep these rules here, in this order; temporary workaround for rdar://57760232
fix neural blabbering. PR 3506/overview?commentId=4640486
/\bsupercalifragilisticexpialidocious\b/i -->
"\e/+'su.p$R+.'k@.l$.'fR+@.d&Z$.'lI.stI.kEk.spi.@.l$.'do&U.S$s\e/+" # replacing
with phones to prevent truncation/spelling by the last rule in this block
/([a-z])\1{3,}/i --> "$1$1" # takes sequences of 4+ repititions of the same
letter and replaces with two reptitions. 3+ is too dangerous, ex XXXTentacion.
/\b([a-z]{30})[a-z]+\b/i --> "\e\\tn=spell\\ $1 \e\\tn=orth\\" #
rdar://57760232 fix neural blabbering. Should truncate to 30, then spell.
Truncating because 40+ characters can sometimes fail to be spelled.
# end workaround block #
# rdar://problem/51999471
/(\b[A-Z])[-–]+(?!\b)/i --> "$1" # remove hyphens that are causing neural voice
to stutter/slur output
#
# The following rules MUST be kept as LAST entry in the rule set.
#
# rdar://problem/34731994: Siri namer feature replaces the user's name by
phonetics e.x.
# "\e\toi=lhp\'gOR+.d$n\e\toi=orth\'s reminders" is corrected to
"\e\toi=lhp\'gOR+.d$nz\e\toi=orth\ reminders"
#
# <rdar://problem/35571603> Add a rule to include possessive form when the
artist/name is picked by user rules.
# "\e/+'gE.r6i_'li\e/+'s album" is corrected to "\e/+'gE.r6i_'liz\e/+ album"
#
/(?<=\Ss|\Sz|\Sd&Z|\St&S|\SZ|\SS|\Sts)(\e\\toi=orth\\|\e\/\+)['’]?s\b/ -->
".Iz$1"
/(?<=\Sh|\Sf|\ST|\St|\Sk|\Sp)(\e\\toi=orth\\|\e\/\+)['’]?s\b/ --> "s$1"
/(?<=\SA|\SO|\S@|\Si|\SE|\SI|\Su|\SU|\S\^|\S\$|\SE0|\Sl%|\Sr6|\Sl|\SR\
+|\SD|\SnK|\Sb|\Sd|\Sg|\Sm|\Sn|\Sv|\Sw)(\e\\toi=orth\\|\e\/\+)['’]?s\b/ -->
"z$1"
# ***This test entry must be the VERY LAST line in the rule set.***
# rdar://problem/48523405 TTSVerifier: Check that user rules and dictionary file
get correctly loaded on the device
/\b1CE1C387-08DE-41EA-8E71-18DB4B5E9DAE\b/ --> "OK"