From 8526658f9f3251f94f0ab06936fc504bf4dd3630 Mon Sep 17 00:00:00 2001 From: DynamiteBob17 Date: Thu, 20 Apr 2023 20:35:35 +0200 Subject: [PATCH] fix: remove a lot of unnecessary as well as duplicate code --- pom.xml | 2 +- src/hr/mlinx/components/Main.java | 18 +- src/hr/mlinx/tts/TextToSpeech.java | 97 ++---- src/hr/mlinx/util/PhonemeFactory.java | 481 -------------------------- 4 files changed, 44 insertions(+), 554 deletions(-) delete mode 100644 src/hr/mlinx/util/PhonemeFactory.java diff --git a/pom.xml b/pom.xml index fc8805c..1f8affd 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 hr.mlinx Text-To-Speech - 1.0.0 + 1.0.1 src ${project.artifactId}-${project.version} diff --git a/src/hr/mlinx/components/Main.java b/src/hr/mlinx/components/Main.java index 5a168f1..bf49dbb 100644 --- a/src/hr/mlinx/components/Main.java +++ b/src/hr/mlinx/components/Main.java @@ -46,14 +46,12 @@ public Main() { panel.setLayout(new BorderLayout()); panel.add(scroll, BorderLayout.CENTER); panel.add(speakBtn, BorderLayout.SOUTH); - - speakBtn.addActionListener(l -> { - new Thread(() -> { - speakBtn.setEnabled(false); - tts.speak(); - speakBtn.setEnabled(true); - }).start(); - }); + + speakBtn.addActionListener(l -> new Thread(() -> { + speakBtn.setEnabled(false); + tts.speak(); + speakBtn.setEnabled(true); + }).start()); f.add(panel); f.pack(); @@ -62,9 +60,7 @@ public Main() { } public static void main(String[] args) { - SwingUtilities.invokeLater(() -> { - new Main(); - }); + SwingUtilities.invokeLater(Main::new); } } \ No newline at end of file diff --git a/src/hr/mlinx/tts/TextToSpeech.java b/src/hr/mlinx/tts/TextToSpeech.java index b2e8902..2160a40 100644 --- a/src/hr/mlinx/tts/TextToSpeech.java +++ b/src/hr/mlinx/tts/TextToSpeech.java @@ -5,11 +5,7 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.io.SequenceInputStream; -import java.util.Arrays; -import java.util.LinkedHashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; +import java.util.*; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; @@ -18,18 +14,13 @@ import javax.sound.sampled.UnsupportedAudioFileException; import javax.swing.JTextArea; -import hr.mlinx.util.PhonemeFactory; - public class TextToSpeech { private static final List PUNCTUATION_MARKS = Arrays.asList("." , ",", "!", "?"); - private JTextArea ta; - private List speech; - private Map> dictionary; - - private Map vowels; - private Map consonants; + private final JTextArea ta; + private final List speech; + private final Map> dictionary; public TextToSpeech(JTextArea ta) { super(); @@ -38,10 +29,6 @@ public TextToSpeech(JTextArea ta) { speech = new LinkedList<>(); dictionary = new LinkedHashMap<>(); fillDictionary(); - - vowels = new LinkedHashMap<>(); - consonants = new LinkedHashMap<>(); - PhonemeFactory.fillPhonemes(vowels, consonants); } public void speak() { @@ -54,45 +41,23 @@ public void speak() { for (String s : speech) { try { if (s.contains("0") || s.contains("1") || s.contains("2")) { - if (as.isEmpty()) { - as.add(vowels.get(s)[0]); - vowels.get(s)[0] = AudioSystem.getAudioInputStream(TextToSpeech.class.getResource("/" + s + "_START.wav")); - } else { - as.add(vowels.get(s)[1]); - vowels.get(s)[1] = AudioSystem.getAudioInputStream(TextToSpeech.class.getResource("/" + s + "_MIDDLE.wav")); - } - + appendPhoneme(as, s); lastPhoneme = s; } else if (s.equals(" ")) { speakWord(as, lastPhoneme); } else if (PUNCTUATION_MARKS.contains(s)) { speakWord(as, lastPhoneme); - + switch (s) { - case ".": - Thread.sleep(800); - break; - case ",": - Thread.sleep(400); - break; - case "!": - Thread.sleep(600); - break; - case "?": - Thread.sleep(1000); - break; - default: - break; + case "." -> Thread.sleep(800); + case "," -> Thread.sleep(400); + case "!" -> Thread.sleep(600); + case "?" -> Thread.sleep(1000); + default -> { + } } } else { - if (as.isEmpty()) { - as.add(consonants.get(s)[0]); - consonants.get(s)[0] = AudioSystem.getAudioInputStream(TextToSpeech.class.getResource("/" + s + "_START.wav")); - } else { - as.add(consonants.get(s)[1]); - consonants.get(s)[1] = AudioSystem.getAudioInputStream(TextToSpeech.class.getResource("/" + s + "_MIDDLE.wav")); - } - + appendPhoneme(as, s); lastPhoneme = s; } } catch (InterruptedException | UnsupportedAudioFileException | IOException e) { @@ -103,18 +68,13 @@ public void speak() { speech.clear(); } } - + private void speakWord(List as, String lastPhoneme) { if (!as.isEmpty()) { try { if (as.size() > 1) { - if (lastPhoneme.contains("0") || lastPhoneme.contains("1") || lastPhoneme.contains("2")) { - as.set(as.size() - 1, vowels.get(lastPhoneme)[2]); - vowels.get(lastPhoneme)[2] = AudioSystem.getAudioInputStream(TextToSpeech.class.getResource("/" + lastPhoneme + "_END.wav")); - } else { - as.set(as.size() - 1, consonants.get(lastPhoneme)[2]); - consonants.get(lastPhoneme)[2] = AudioSystem.getAudioInputStream(TextToSpeech.class.getResource("/" + lastPhoneme + "_END.wav")); - } + as.get(as.size() - 1).close(); + as.set(as.size() - 1, getAudioStream(lastPhoneme, "END")); } } catch (UnsupportedAudioFileException | IOException e) { e.printStackTrace(); @@ -126,7 +86,8 @@ private void speakWord(List as, String lastPhoneme) { append = new AudioInputStream( new SequenceInputStream(append, as.get(i)), append.getFormat(), - append.getFrameLength() + as.get(i).getFrameLength()); + append.getFrameLength() + as.get(i).getFrameLength() + ); } try { @@ -193,9 +154,7 @@ private void analyseText(String text) { phonemes = dictionary.get(firstLetter.toUpperCase()).get(word.toUpperCase()); if (phonemes != null) { - for (String p : phonemes) { - speech.add(p); - } + speech.addAll(Arrays.asList(phonemes)); } } @@ -209,7 +168,7 @@ private void analyseText(String text) { private void fillDictionary() { try (InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("dictionary.txt"); - BufferedReader br = new BufferedReader(new InputStreamReader(is))) { + BufferedReader br = new BufferedReader(new InputStreamReader(Objects.requireNonNull(is)))) { String line; String firstLetter; String[] split; @@ -234,5 +193,21 @@ private void fillDictionary() { e.printStackTrace(); } } + + private void appendPhoneme(List as, String phoneme) + throws UnsupportedAudioFileException, IOException { + if (as.isEmpty()) { + as.add(getAudioStream(phoneme, "START")); + } else { + as.add(getAudioStream(phoneme, "MIDDLE")); + } + } + + public static AudioInputStream getAudioStream(String phoneme, String position) + throws UnsupportedAudioFileException, IOException { + return AudioSystem.getAudioInputStream(Objects.requireNonNull( + TextToSpeech.class.getResource("/" + phoneme + "_" + position + ".wav") + )); + } } diff --git a/src/hr/mlinx/util/PhonemeFactory.java b/src/hr/mlinx/util/PhonemeFactory.java deleted file mode 100644 index 08658be..0000000 --- a/src/hr/mlinx/util/PhonemeFactory.java +++ /dev/null @@ -1,481 +0,0 @@ -package hr.mlinx.util; - -import java.io.IOException; -import java.util.Map; - -import javax.sound.sampled.AudioInputStream; -import javax.sound.sampled.AudioSystem; -import javax.sound.sampled.UnsupportedAudioFileException; - -public class PhonemeFactory { - - public static void fillPhonemes(Map vowels, Map consonants) { - try { - AudioInputStream as0, as1, as2; - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AA0_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AA0_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AA0_END.wav")); - vowels.put("AA0", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AA1_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AA1_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AA1_END.wav")); - vowels.put("AA1", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AA2_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AA2_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AA2_END.wav")); - vowels.put("AA2", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AE0_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AE0_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AE0_END.wav")); - vowels.put("AE0", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AE1_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AE1_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AE1_END.wav")); - vowels.put("AE1", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AE2_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AE2_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AE2_END.wav")); - vowels.put("AE2", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AH0_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AH0_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AH0_END.wav")); - vowels.put("AH0", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AH1_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AH1_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AH1_END.wav")); - vowels.put("AH1", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AH2_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AH2_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AH2_END.wav")); - vowels.put("AH2", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AO0_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AO0_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AO0_END.wav")); - vowels.put("AO0", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AO1_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AO1_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AO1_END.wav")); - vowels.put("AO1", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AO2_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AO2_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AO2_END.wav")); - vowels.put("AO2", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AW0_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AW0_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AW0_END.wav")); - vowels.put("AW0", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AW1_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AW1_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AW1_END.wav")); - vowels.put("AW1", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AW2_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AW2_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AW2_END.wav")); - vowels.put("AW2", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AY0_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AY0_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AY0_END.wav")); - vowels.put("AY0", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AY1_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AY1_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AY1_END.wav")); - vowels.put("AY1", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AY2_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AY2_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/AY2_END.wav")); - vowels.put("AY2", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/EH0_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/EH0_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/EH0_END.wav")); - vowels.put("EH0", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/EH1_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/EH1_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/EH1_END.wav")); - vowels.put("EH1", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/EH2_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/EH2_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/EH2_END.wav")); - vowels.put("EH2", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/ER0_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/ER0_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/ER0_END.wav")); - vowels.put("ER0", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/ER1_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/ER1_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/ER1_END.wav")); - vowels.put("ER1", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/ER2_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/ER2_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/ER2_END.wav")); - vowels.put("ER2", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/EY0_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/EY0_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/EY0_END.wav")); - vowels.put("EY0", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/EY1_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/EY1_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/EY1_END.wav")); - vowels.put("EY1", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/EY2_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/EY2_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/EY2_END.wav")); - vowels.put("EY2", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/IH0_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/IH0_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/IH0_END.wav")); - vowels.put("IH0", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/IH1_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/IH1_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/IH1_END.wav")); - vowels.put("IH1", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/IH2_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/IH2_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/IH2_END.wav")); - vowels.put("IH2", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/IY0_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/IY0_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/IY0_END.wav")); - vowels.put("IY0", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/IY1_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/IY1_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/IY1_END.wav")); - vowels.put("IY1", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/IY2_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/IY2_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/IY2_END.wav")); - vowels.put("IY2", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/OW0_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/OW0_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/OW0_END.wav")); - vowels.put("OW0", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/OW1_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/OW1_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/OW1_END.wav")); - vowels.put("OW1", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/OW2_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/OW2_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/OW2_END.wav")); - vowels.put("OW2", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/OY0_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/OY0_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/OY0_END.wav")); - vowels.put("OY0", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/OY1_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/OY1_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/OY1_END.wav")); - vowels.put("OY1", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/OY2_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/OY2_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/OY2_END.wav")); - vowels.put("OY2", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/UH0_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/UH0_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/UH0_END.wav")); - vowels.put("UH0", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/UH1_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/UH1_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/UH1_END.wav")); - vowels.put("UH1", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/UH2_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/UH2_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/UH2_END.wav")); - vowels.put("UH2", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/UW0_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/UW0_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/UW0_END.wav")); - vowels.put("UW0", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/UW1_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/UW1_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/UW1_END.wav")); - vowels.put("UW1", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/UW2_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/UW2_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/UW2_END.wav")); - vowels.put("UW2", new AudioInputStream[] { - as0, as1, as2 - }); - - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/B_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/B_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/B_END.wav")); - consonants.put("B", new AudioInputStream[] { - as0, as1, as2 - }); - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/CH_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/CH_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/CH_END.wav")); - consonants.put("CH", new AudioInputStream[] { - as0, as1, as2 - }); - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/D_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/D_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/D_END.wav")); - consonants.put("D", new AudioInputStream[] { - as0, as1, as2 - }); - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/DH_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/DH_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/DH_END.wav")); - consonants.put("DH", new AudioInputStream[] { - as0, as1, as2 - }); - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/F_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/F_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/F_END.wav")); - consonants.put("F", new AudioInputStream[] { - as0, as1, as2 - }); - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/G_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/G_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/G_END.wav")); - consonants.put("G", new AudioInputStream[] { - as0, as1, as2 - }); - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/HH_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/HH_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/HH_END.wav")); - consonants.put("HH", new AudioInputStream[] { - as0, as1, as2 - }); - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/JH_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/JH_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/JH_END.wav")); - consonants.put("JH", new AudioInputStream[] { - as0, as1, as2 - }); - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/K_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/K_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/K_END.wav")); - consonants.put("K", new AudioInputStream[] { - as0, as1, as2 - }); - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/L_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/L_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/L_END.wav")); - consonants.put("L", new AudioInputStream[] { - as0, as1, as2 - }); - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/M_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/M_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/M_END.wav")); - consonants.put("M", new AudioInputStream[] { - as0, as1, as2 - }); - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/N_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/N_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/N_END.wav")); - consonants.put("N", new AudioInputStream[] { - as0, as1, as2 - }); - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/NG_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/NG_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/NG_END.wav")); - consonants.put("NG", new AudioInputStream[] { - as0, as1, as2 - }); - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/P_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/P_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/P_END.wav")); - consonants.put("P", new AudioInputStream[] { - as0, as1, as2 - }); - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/R_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/R_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/R_END.wav")); - consonants.put("R", new AudioInputStream[] { - as0, as1, as2 - }); - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/S_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/S_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/S_END.wav")); - consonants.put("S", new AudioInputStream[] { - as0, as1, as2 - }); - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/SH_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/SH_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/SH_END.wav")); - consonants.put("SH", new AudioInputStream[] { - as0, as1, as2 - }); - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/T_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/T_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/T_END.wav")); - consonants.put("T", new AudioInputStream[] { - as0, as1, as2 - }); - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/TH_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/TH_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/TH_END.wav")); - consonants.put("TH", new AudioInputStream[] { - as0, as1, as2 - }); - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/V_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/V_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/V_END.wav")); - consonants.put("V", new AudioInputStream[] { - as0, as1, as2 - }); - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/W_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/W_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/W_END.wav")); - consonants.put("W", new AudioInputStream[] { - as0, as1, as2 - }); - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/Y_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/Y_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/Y_END.wav")); - consonants.put("Y", new AudioInputStream[] { - as0, as1, as2 - }); - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/Z_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/Z_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/Z_END.wav")); - consonants.put("Z", new AudioInputStream[] { - as0, as1, as2 - }); - as0 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/ZH_START.wav")); - as1 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/ZH_MIDDLE.wav")); - as2 = AudioSystem.getAudioInputStream(PhonemeFactory.class.getResource("/ZH_END.wav")); - consonants.put("ZH", new AudioInputStream[] { - as0, as1, as2 - }); - - } catch (IOException | UnsupportedAudioFileException e) { - e.printStackTrace(); - } - } - -}