ukrainian-phonetics-basic-array-0.10.0.0: A library to work with the basic Ukrainian phonetics and syllable segmentation.
Copyright(c) Oleksandr Zhabenko 2021-2024
LicenseMIT
Maintaineroleksandr.zhabenko@yahoo.com
StabilityExperimental
Safe HaskellSafe-Inferred
LanguageHaskell2010
Extensions
  • BangPatterns
  • DeriveDataTypeable
  • TypeSynonymInstances
  • FlexibleInstances

Phladiprelio.Ukrainian.Syllable

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. Starting from the version 0.6.0.0 variants of either of arguments is greater than 99 is also included.

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

Binary function-predicate isNotVowel2' checks whether its arguments are both consonant representations in the Sound8 format. Starting from the version 0.6.0.0 variants of either of arguments is greater than 99 are not included (so its behaviour is equivalent to the isNotVowel2 till the 0.5.3.0 version).

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.