Copyright | (c) Oleksandr Zhabenko 2021-2024 |
---|---|
License | MIT |
Maintainer | oleksandr.zhabenko@yahoo.com |
Stability | Experimental |
Safe Haskell | None |
Language | Haskell2010 |
Extensions |
|
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
- isVowel1 :: Sound8 -> Bool
- isSonorous1 :: Sound8 -> Bool
- isVoicedC1 :: Sound8 -> Bool
- isVoicelessC1 :: Sound8 -> Bool
- isNotVowel2 :: Sound8 -> Sound8 -> Bool
- isNotVowel2' :: Sound8 -> Sound8 -> Bool
- sndGroups :: FlowSound -> [FlowSound]
- groupSnds :: FlowSound -> [FlowSound]
- divCnsnts :: FlowSound -> (FlowSound -> FlowSound, FlowSound -> FlowSound)
- reSyllableCntnts :: [FlowSound] -> [FlowSound]
- divVwls :: [FlowSound] -> [FlowSound]
- createSyllablesUkrS :: String -> [[FlowSound]]
- notEqC :: Sound8 -> Sound8 -> Bool
- representProlonged :: FlowSound -> FlowSound
- showS8 :: Sound8 -> String
- showFS :: FlowSound -> String
- notEqCTup :: Array Int (Int8, Bool) -> Sound8 -> Sound8 -> Bool
- divCnsntsTup :: Array Int (Int8, Bool) -> FlowSound -> (FlowSound -> FlowSound, FlowSound -> FlowSound)
- reSyllableCntntsTup :: Array Int (Int8, Bool) -> [FlowSound] -> [FlowSound]
- createSyllablesUkrSTup :: Array Int (Int8, Bool) -> Array Int (Int8, Bool) -> Array Int (Int8, Bool) -> Array Int (Int8, Bool) -> Array Int ([Int8], Bool) -> Array Int ([Int8], Int8) -> Array Int (Int8, FlowSound -> Sound8) -> Array Int (Int8, Bool) -> Array Int ([Int8], Bool) -> Array Int ([Int8], Bool) -> Array Int ([Int8], Bool) -> Array Int (Int8, [Int8]) -> Array Int (Char, Int8) -> Array Int (Int8, [Int8]) -> Array Int (Char, Bool) -> Array Int (Char, Bool) -> Array Int (Int8, Bool) -> String -> [[FlowSound]]
Basic functionality
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).
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
reSyllableCntnts :: [FlowSound] -> [FlowSound] Source #
createSyllablesUkrS :: String -> [[FlowSound]] Source #
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.
createSyllablesUkrSTup :: Array Int (Int8, Bool) -> Array Int (Int8, Bool) -> Array Int (Int8, Bool) -> Array Int (Int8, Bool) -> Array Int ([Int8], Bool) -> Array Int ([Int8], Int8) -> Array Int (Int8, FlowSound -> Sound8) -> Array Int (Int8, Bool) -> Array Int ([Int8], Bool) -> Array Int ([Int8], Bool) -> Array Int ([Int8], Bool) -> Array Int (Int8, [Int8]) -> Array Int (Char, Int8) -> Array Int (Int8, [Int8]) -> Array Int (Char, Bool) -> Array Int (Char, Bool) -> Array Int (Int8, Bool) -> String -> [[FlowSound]] Source #