module Phoneme (Phoneme(..), charsToPhoneme) where data Phoneme = AA | AE | AH | AO | AW | AY | B | CH | D | DH | EH | ER | EY | F | G | HH | IH | IY | JH | K | L | M | N | NG | OW | OY | P | R | S | SH | T | TH | UH | UW | V | W | Y | Z | ZH deriving (Show) charsToPhoneme :: String -> Maybe Phoneme charsToPhoneme "AA" = Just AA charsToPhoneme "AE" = Just AE charsToPhoneme "AH" = Just AH charsToPhoneme "AO" = Just AO charsToPhoneme "AW" = Just AW charsToPhoneme "AY" = Just AY charsToPhoneme "B" = Just B charsToPhoneme "CH" = Just CH charsToPhoneme "D" = Just D charsToPhoneme "DH" = Just DH charsToPhoneme "EH" = Just EH charsToPhoneme "ER" = Just ER charsToPhoneme "EY" = Just EY charsToPhoneme "F" = Just F charsToPhoneme "G" = Just G charsToPhoneme "HH" = Just HH charsToPhoneme "IH" = Just IH charsToPhoneme "IY" = Just IY charsToPhoneme "JH" = Just JH charsToPhoneme "K" = Just K charsToPhoneme "L" = Just L charsToPhoneme "M" = Just M charsToPhoneme "N" = Just N charsToPhoneme "NG" = Just NG charsToPhoneme "OW" = Just OW charsToPhoneme "OY" = Just OY charsToPhoneme "P" = Just P charsToPhoneme "R" = Just R charsToPhoneme "S" = Just S charsToPhoneme "SH" = Just SH charsToPhoneme "T" = Just T charsToPhoneme "TH" = Just TH charsToPhoneme "UH" = Just UH charsToPhoneme "UW" = Just UW charsToPhoneme "V" = Just V charsToPhoneme "W" = Just W charsToPhoneme "Y" = Just Y charsToPhoneme "Z" = Just Z charsToPhoneme "ZH" = Just ZH charsToPhoneme _ = Nothing