ukrainian-phonetics-basic-array-0.5.3.0: A library to work with the basic Ukrainian phonetics and syllable segmentation.
Copyright(c) OleksandrZhabenko 2021-2022
LicenseMIT
Maintainerolexandr543@yahoo.com
StabilityExperimental
Safe HaskellNone
LanguageHaskell2010
Extensions
  • BangPatterns
  • DeriveDataTypeable
  • TypeSynonymInstances
  • FlexibleInstances

Languages.Phonetic.Ukrainian.Syllable.ArrInt8

Description

This module works with syllable segmentation in Ukrainian. It is rewritten module MMSyn7.Syllable from the mmsyn7s package : https://hackage.haskell.org/package/mmsyn7s The information on Ukrainian syllable segmentation is taken from the: https://msn.khnu.km.ua/pluginfile.php/302375/mod_resource/content/1/%D0%9B.3.%D0%86%D0%86.%20%D0%A1%D0%BA%D0%BB%D0%B0%D0%B4.%D0%9D%D0%B0%D0%B3%D0%BE%D0%BB%D0%BE%D1%81.pdf

Synopsis

Basic functionality

isVowel1 :: Sound8 -> Bool Source #

Function-predicate isVowel1 checks whether its argument is a vowel representation in the Sound8 format.

isSonorous1 :: Sound8 -> Bool Source #

Function-predicate isSonorous1 checks whether its argument is a sonorous consonant representation in the Sound8 format.

isVoicedC1 :: Sound8 -> Bool Source #

Function-predicate isVoicedC1 checks whether its argument is a voiced consonant representation in the Sound8 format.

isVoicelessC1 :: Sound8 -> Bool Source #

Function-predicate isVoiceless1 checks whether its argument is a voiceless consonant representation in the Sound8 format.

isNotVowel2 :: Sound8 -> Sound8 -> Bool Source #

Binary function-predicate isNotVowel2 checks whether its arguments are both consonant representations in the Sound8 format.

sndGroups :: FlowSound -> [FlowSound] Source #

Function sndGroups converts a Ukrainian word being a list of Sound8 to the list of phonetically similar (consonants grouped with consonants and each vowel separately) sounds representations in Sound8 format.

divCnsnts :: FlowSound -> (FlowSound -> FlowSound, FlowSound -> FlowSound) Source #

Function divCnsnts is used to divide groups of Ukrainian consonants into two-elements lists that later are made belonging to different neighbour syllables if the group is between two vowels in a word. The group must be not empty, but this is not checked. The phonetical information for the proper performance is taken from the: https://msn.khnu.km.ua/pluginfile.php/302375/mod_resource/content/1/%D0%9B.3.%D0%86%D0%86.%20%D0%A1%D0%BA%D0%BB%D0%B0%D0%B4.%D0%9D%D0%B0%D0%B3%D0%BE%D0%BB%D0%BE%D1%81.pdf

notEqC :: Sound8 -> Sound8 -> Bool Source #

Binary function-predicate notEqC checks whether its arguments are not the same consonant sound representations (not taking palatalization into account).

representProlonged :: FlowSound -> FlowSound Source #

Function representProlonged converts duplicated consequent in the syllable consonants so that they are represented by just one Sound8. After applying the function to the list of Sound8 being a syllable all groups of duplicated consequent consonants in every syllable are represented with only one Sound8 respectively.

With additional data used (probably for speed up)

notEqCTup :: Array Int (Int8, Bool) -> Sound8 -> Sound8 -> Bool Source #

Binary function-predicate notEqC checks whether its arguments are not the same consonant sound representations (not taking palatalization into account).

divCnsntsTup :: Array Int (Int8, Bool) -> FlowSound -> (FlowSound -> FlowSound, FlowSound -> FlowSound) Source #

Function divCnsntsTup is a variant of the divCnsts where you can provide the tuple element for getBFst' inside.