Copyright | (c) OleksandrZhabenko 2021 |
---|---|
License | MIT |
Maintainer | olexandr543@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
- 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
Documentation
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.
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.