Class IPA2DISC

  • All Implemented Interfaces:
    Function<String,​String>, UnaryOperator<String>

    public class IPA2DISC
    extends PhonemeTranslator
    Translates IPA-encoded phonemic transcriptions using Unicode characters like tɹænskɹɪpʃən to CELEX-DISC-encoded transcriptions like tr{nskrIpS@n

    This should support straight round-trip conversion with IPA symbols used by DISC2IPA, but also recognise other IPA symbols like /ʤ/, and Montreal Forced Aligner symbols like /ej/, for conversion to DISC.

    Mapping

    1-to-1 mappings
    IPADISCExample
    a & hat(German)
    Nasals
    æ̃ c timbre
    ɑ̃ː q détente
    æ̃ː 0 lingerie
    ɒ̃ː ~ bouillon
    Possible linking r
    ɹ R father
    Syllabics
    ŋ̩ C bacon
    F idealism
    H burden
    P dangle
    ɹ r rat
    ɡ g game(this is LATIN SMALL LETTER SCRIPT G which is always straight-backed)
    Monophthongs
    ɜː 3 NURSE
    æ { TRAP
    ʉ } put(Dutch)
    ɔː $ THOUGHT
    ɪ I KIT
    ʏ Y Pfütze
    ʌ V STRUT
    ɒ Q LOT
    ɔ O Glocke(German)
    ʊ U FOOT
    ə @ another Schwa
    u GOOSE
    i FLEECE
    ɛ E DRESS
    ɑː # BATH
    ɑ A kalevala(German)
    y für(German)
    o boot(German)
    ɛː ) Käse(German)
    øː | Möbel(German)
    œ̃ː ^ Parfum(German)
    œ / Götter(German)
    Diphthongs
    1 FACE
    2 PRICE
    ɔɪ 4 CHOICE
    əʊ 5 GOAT
    6 MOUTH
    ɪə 7 NEAR
    ɛə 8 SQUARE
    ʊə 9 CURE
    ai W weit(German)
    au B Haut(German)
    ɔy X freut(German)
    œy L huis(Dutch)
    Consonants
    ŋ N bang
    θ T thin
    ð D then
    ʃ S sheep
    ʒ Z measure
    pf + Pferd(German)
    Affricates
    d͜ʒ _ jeep
    t͜ʃ J cheap
    t͜s = Zahl(German)
    Extensions to DISC, not in CELEX
    ʔ ? uh-ohGlottal Stop
    Any other symbol is passed through unchanged, including:
    p p pat
    b b bad
    t t tack
    d d dad
    k k cad
    g g game
    l l lad
    m m mad
    n n nat
    f f fat
    v v vat
    s s sap
    z z zap
    j j yank
    h h had
    w w why
    x x loch
    Other mappings
    IPADISCExample
    Affricates
    ʤ _ jeep(ligature)
    ʧ J cheap(ligature)
    d͡ʒ _ jeep(over-joined)
    t͡ʃ J cheap(over-joined)
    Unicode's LATIN SMALL LETTER TURNED E instead of schwa
    ǝ @ another
    ǝʊ 5 MOUTH
    ɪǝ 7 NEAR
    ɛǝ 8 SQUARE
    ʊǝ 9 CURE
    MFA phoneme labels
    aj 2 PRICE
    aw 6 MOUTH
    bj attribute
    dj duel
    _ jeep
    ej 1 FACE
    fj fuel
    k kangaroo
    mj Munich
    p Pacific
    pj puberty
    t table
    tj tuition
    J cheap
    vj view
    ɐ V understand
    ɒː Q author
    ɔj 4 CHOICE
    əw 5 GOAT
    ɜ 3 leisurely
    ɟ g legume
    ɟʷ g linguistics
    ɡ g get
    ɫ l milk
    ɫ̩ P model
    ʉː } ooze
    ʎ j leak
    Author:
    Robert Fromont robert@fromont.net.nz
    See Also:
    DISC2IPA
    • Constructor Detail

      • IPA2DISC

        public IPA2DISC()
        Default constructor.
    • Method Detail

      • getDelimiter

        public String getDelimiter()
        Getter for delimiter: Delimiter between IPA phonemes, if any.
        Returns:
        Delimiter between IPA phonemes, if any.
      • setDelimiter

        public IPA2DISC setDelimiter​(String newDelimiter)
        Setter for delimiter: Delimiter between IPA phonemes, if any.
        Parameters:
        newDelimiter - Delimiter between IPA phonemes, if any.
      • apply

        public String apply​(String source)
        Translates a phonemic transcription from the source encoding to the destination encoding.
        Specified by:
        apply in interface Function<String,​String>
        Overrides:
        apply in class PhonemeTranslator
        Parameters:
        source - Phonemic transcription in the source encoding.
        Returns:
        Phonemic transcription in the destination encoding.