ANNNOUNNNCCCEEERRR VOICCCEEE
APL (Dyalog), 175 bytes



1↓' +'⎕R' '⊢'[AEIOU][^AEIOU]+ '⎕R{m/⍨1,3×2≠/m←⍵.Match}'([AEIOU])\1*([^AEIOU]*? )' ' [AEIOU]' ' [^ AEIOU]+' '([^AEIOU ])\1*'⎕R'\1\1\1\2' '&amp;' '&amp;' '\1\1\1'⊢'$| |^'⎕R'  '⊢1(819⌶)⍞


Try it online!

⍞ prompt for character input

1(819⌶) convert to uppercase (819 ≈ Big)

⊢ pass the result further (serves to separate the strings and the 1)

'$| |^'⎕R'  ' Replace:
 the end, any space, and the beginning
 → two spaces

⊢ pass the result further (serves to separate two groups of strings)

'([AEIOU])\1*([^AEIOU]*? )' ' [AEIOU]' ' [^ AEIOU]+' '([^AEIOU ])\1*'⎕R'\1\1\1\2' '&amp;' '&amp;' '\1\1\1' Replace:
 any number of identical vowels and any number of non-vowels and a space
 → the vowel thrice and the unmodified consonants
 a space and a vowel
 → themselves
 a space and a consonant cluster
 → themselves
 a run of identical consonants
 → three of those vowels

'[AEIOU][^AEIOU]+ '⎕R{…} Replace:
 a run of non-vowels and a space
 → the result of the following anonymous function with the namespace ⍵ as argument:
  ⍵.Match the text that was found
  m← assign that to m
  2≠/ pair-wise different-from
  3× multiply by three
  1, prepend one
  m/⍨ use that to replicate m

⊢ pass the result further (serves to separate two strings)

' +'⎕R' ' Replace:
 one or more spaces
 → with a single space

1↓ drop the initial letter (a space)