phonetic-languages-rhythmicity 0.9.0.0 → 0.9.1.0
raw patch · 4 files changed
+95/−59 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGELOG.md +5/−0
- Rhythmicity/PolyRhythm.hs +76/−53
- Rhythmicity/TwoFourth.hs +13/−5
- phonetic-languages-rhythmicity.cabal +1/−1
CHANGELOG.md view
@@ -87,3 +87,8 @@ * Ninth version. Added also the linear weighted functions that try to increase / decrease the importance of the line ending and to decrease /increase the importance of the beginnings.++## 0.9.1.0 -- 2021-08-24++* Ninth version revised A. Fixed issues with the custom rhythmicity in the 'readRhythmicity' function. Some documentation+improvements.
Rhythmicity/PolyRhythm.hs view
@@ -24,13 +24,31 @@ import Text.Read (readMaybe) import qualified Data.Either as Either (Either(..)) +{-| The data type that is used to mark the syllables accordingly to+their importance in general rhythm constituting. More important syllables+are marked with the less data constuctors (since the data type has an+instance of the 'Ord' type class). Contrary to 'PolyMarkers' and 'TF.Marker3s',+can be used in case of three levels of importance for rhythm constituting+with the last, fourth 'G' level of the syllables which position is thought as+not significant (though it actually, is not, but for simplicity).+-} data Marker4s = D | E | F | G deriving (Eq,Ord,Show) +{-| The data type that is used to mark the syllables accordingly to+their importance in general rhythm constituting. More important syllables+are marked with the less data constuctors (since the data type has an+instance of the 'Ord' type class). A generalization of the+'Marker4s' and 'TF.Marker3s' for the cases of multiple (may be 4, or 3, or more)+levels of importance in general rhythm constituting.+-} newtype PolyMarkers = PolyMs Char deriving (Eq,Ord) instance Show PolyMarkers where show (PolyMs c) = 'P':' ':[toLower c] +{-| A data type is used to allow usage of the 'Marker4s' and 'PolyMarkers' data types in the+functions as just one single (unified) data type.+-} data PolyMrks = R4 Marker4s | RP PolyMarkers deriving (Eq,Ord,Show) is4s :: PolyMrks -> Bool@@ -56,8 +74,11 @@ } deriving Eq {-| The predicate to check whether the two given arguments can be used together to get meaningful results.+The 'pqty' of the first argument must be equal to the 'sum' of the 'PolyRhythmBasis' 'Int' values+inside the list. There are also other logical constraints that the function takes into account. -}-validPolyChRhPair :: PolyChoices -> PolyRhythmBasis -> Bool+validPolyChRhPair :: PolyChoices -> PolyRhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance.+ -> Bool validPolyChRhPair (PolyCh xs n) (PolyRhythm ys) | ks <= [0] = False | any (<0) rs = False@@ -66,6 +87,8 @@ where (ks,rs) = splitAt 1 ys l = length ys - 1 +{-| Auxiliary data type that is used internally in the 'getPolyChRhData' function in the module.+-} data Intermediate a = J a | I PolyMarkers deriving (Eq, Ord) isJI :: Intermediate a -> Bool@@ -79,8 +102,8 @@ getPolyChRhData :: (Ord a) => Char -- ^ The start of the 'RP' 'PolyMarkers' count in case of 'PolyMrks' with 'Char's. The usual one can be \'a\' or \'h\'. -> Int -- ^ If the argument is less or equal to 4, then 'Marker4s' is used, if it is greater than 4, then 'PolyMarkers' is used.- -> PolyChoices- -> PolyRhythmBasis+ -> PolyChoices -- ^ Data specifies the structure of the period of rhythmicity -- whether maximum or minimum elements are considered and how many syllables costitute the period.+ -> PolyRhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance. -> [a] -> [[PolyMrks]] getPolyChRhData c r choice@(PolyCh ts l1) rhythm@(PolyRhythm ys) xs@@ -662,8 +685,8 @@ rhythmicityPoly :: (Ord a) => Double -- ^ The initial value starting from which it counts. Usually, equals to 1.0. -> Int -- ^ If the argument is less or equal to 4, then 'Marker4s' is used, if it is greater than 4, then 'PolyMarkers' is used.- -> PolyChoices- -> PolyRhythmBasis+ -> PolyChoices -- ^ Data specifies the structure of the period of rhythmicity -- whether maximum or minimum elements are considered and how many syllables costitute the period.+ -> PolyRhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance. -> [a] -> Double -- ^ The greater one corresponds to (probably) more rhythmic list. rhythmicityPoly x0 r choices rhythm = similarityPoly 'a' x0 . getPolyChRhData 'a' r choices rhythm@@ -676,8 +699,8 @@ :: (Ord a) => Either.Either (Double -> Double -> Double) (Int -> Double -> Double -> Double) -> Double -- ^ The initial value starting from which it counts. Usually, equals to 1.0. -> Int -- ^ If the argument is less or equal to 4, then 'Marker4s' is used, if it is greater than 4, then 'PolyMarkers' is used.- -> PolyChoices- -> PolyRhythmBasis+ -> PolyChoices -- ^ Data specifies the structure of the period of rhythmicity -- whether maximum or minimum elements are considered and how many syllables costitute the period.+ -> PolyRhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance. -> [a] -> Double rhythmicityPolyGE f x0 r choices rhythm = similarityPolyGE f 'a' x0 . zip [0..] . getPolyChRhData 'a' r choices rhythm@@ -687,8 +710,8 @@ :: (Ord a) => (Int -> Double -> Double -> Double) -> Double -- ^ The initial value starting from which it counts. Usually, equals to 1.0. -> Int -- ^ If the argument is less or equal to 4, then 'Marker4s' is used, if it is greater than 4, then 'PolyMarkers' is used.- -> PolyChoices- -> PolyRhythmBasis+ -> PolyChoices -- ^ Data specifies the structure of the period of rhythmicity -- whether maximum or minimum elements are considered and how many syllables costitute the period.+ -> PolyRhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance. -> [a] -> Double rhythmicityPolyG1 f = rhythmicityPolyGE (Either.Right f)@@ -698,8 +721,8 @@ :: (Ord a) => (Double -> Double -> Double) -> Double -- ^ The initial value starting from which it counts. Usually, equals to 1.0. -> Int -- ^ If the argument is less or equal to 4, then 'Marker4s' is used, if it is greater than 4, then 'PolyMarkers' is used.- -> PolyChoices- -> PolyRhythmBasis+ -> PolyChoices -- ^ Data specifies the structure of the period of rhythmicity -- whether maximum or minimum elements are considered and how many syllables costitute the period.+ -> PolyRhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance. -> [a] -> Double rhythmicityPolyG12 f = rhythmicityPolyGE (Either.Left f)@@ -712,8 +735,8 @@ :: (Ord a) => Either.Either (Double -> Double -> Double) (Int -> Double -> Double -> Double) -> Double -- ^ The initial value starting from which it counts. Usually, equals to 1.0. -> Int -- ^ If the argument is less or equal to 4, then 'Marker4s' is used, if it is greater than 4, then 'PolyMarkers' is used.- -> PolyChoices- -> PolyRhythmBasis+ -> PolyChoices -- ^ Data specifies the structure of the period of rhythmicity -- whether maximum or minimum elements are considered and how many syllables costitute the period.+ -> PolyRhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance. -> [a] -> Double rhythmicityPolyGE0 f x0 r choices rhythm = similarityPolyGE0 f 'a' x0 . zip [0..] . getPolyChRhData 'a' r choices rhythm@@ -723,8 +746,8 @@ :: (Ord a) => (Int -> Double -> Double -> Double) -> Double -- ^ The initial value starting from which it counts. Usually, equals to 1.0. -> Int -- ^ If the argument is less or equal to 4, then 'Marker4s' is used, if it is greater than 4, then 'PolyMarkers' is used.- -> PolyChoices- -> PolyRhythmBasis+ -> PolyChoices -- ^ Data specifies the structure of the period of rhythmicity -- whether maximum or minimum elements are considered and how many syllables costitute the period.+ -> PolyRhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance. -> [a] -> Double rhythmicityPolyG01 f = rhythmicityPolyGE0 (Either.Right f)@@ -734,8 +757,8 @@ :: (Ord a) => (Double -> Double -> Double) -> Double -- ^ The initial value starting from which it counts. Usually, equals to 1.0. -> Int -- ^ If the argument is less or equal to 4, then 'Marker4s' is used, if it is greater than 4, then 'PolyMarkers' is used.- -> PolyChoices- -> PolyRhythmBasis+ -> PolyChoices -- ^ Data specifies the structure of the period of rhythmicity -- whether maximum or minimum elements are considered and how many syllables costitute the period.+ -> PolyRhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance. -> [a] -> Double rhythmicityPolyG02 f = rhythmicityPolyGE0 (Either.Left f)@@ -748,8 +771,8 @@ rhythmicityPoly0 :: (Ord a) => Double -- ^ The initial value starting from which it counts. Usually, equals to 1.0. -> Int -- ^ If the argument is less or equal to 4, then 'Marker4s' is used, if it is greater than 4, then 'PolyMarkers' is used.- -> PolyChoices- -> PolyRhythmBasis+ -> PolyChoices -- ^ Data specifies the structure of the period of rhythmicity -- whether maximum or minimum elements are considered and how many syllables costitute the period.+ -> PolyRhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance. -> [a] -> Double -- ^ The greater one corresponds to (probably) more rhythmic list. rhythmicityPoly0 x0 r choices rhythm = similarityPoly0 'a' x0 . getPolyChRhData 'a' r choices rhythm@@ -784,8 +807,8 @@ rhythmicityPolyWeightedF2 :: (Ord a) => Double -- ^ The initial value starting from which it counts. Usually, equals to 1.0. -> Int -- ^ If the argument is less or equal to 4, then 'Marker4s' is used, if it is greater than 4, then 'PolyMarkers' is used.- -> PolyChoices- -> PolyRhythmBasis+ -> PolyChoices -- ^ Data specifies the structure of the period of rhythmicity -- whether maximum or minimum elements are considered and how many syllables costitute the period.+ -> PolyRhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance. -> [a] -> Double rhythmicityPolyWeightedF2 = rhythmicityPolyG12 (simpleF2)@@ -794,8 +817,8 @@ rhythmicityPolyWeightedF3 :: (Ord a) => Double -- ^ The initial value starting from which it counts. Usually, equals to 1.0. -> Int -- ^ If the argument is less or equal to 4, then 'Marker4s' is used, if it is greater than 4, then 'PolyMarkers' is used.- -> PolyChoices- -> PolyRhythmBasis+ -> PolyChoices -- ^ Data specifies the structure of the period of rhythmicity -- whether maximum or minimum elements are considered and how many syllables costitute the period.+ -> PolyRhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance. -> [a] -> Double rhythmicityPolyWeightedF3 = rhythmicityPolyG1 (simpleF3)@@ -804,8 +827,8 @@ rhythmicityPolyWeightedF20 :: (Ord a) => Double -- ^ The initial value starting from which it counts. Usually, equals to 1.0. -> Int -- ^ If the argument is less or equal to 4, then 'Marker4s' is used, if it is greater than 4, then 'PolyMarkers' is used.- -> PolyChoices- -> PolyRhythmBasis+ -> PolyChoices -- ^ Data specifies the structure of the period of rhythmicity -- whether maximum or minimum elements are considered and how many syllables costitute the period.+ -> PolyRhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance. -> [a] -> Double rhythmicityPolyWeightedF20 = rhythmicityPolyG02 (simpleF2)@@ -814,8 +837,8 @@ rhythmicityPolyWeightedF30 :: (Ord a) => Double -- ^ The initial value starting from which it counts. Usually, equals to 1.0. -> Int -- ^ If the argument is less or equal to 4, then 'Marker4s' is used, if it is greater than 4, then 'PolyMarkers' is used.- -> PolyChoices- -> PolyRhythmBasis+ -> PolyChoices -- ^ Data specifies the structure of the period of rhythmicity -- whether maximum or minimum elements are considered and how many syllables costitute the period.+ -> PolyRhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance. -> [a] -> Double rhythmicityPolyWeightedF30 = rhythmicityPolyG01 (simpleF3)@@ -824,8 +847,8 @@ rhythmicityPolyWeightedEF2 :: (Ord a) => Double -- ^ The initial value starting from which it counts. Usually, equals to 1.0. -> Int -- ^ If the argument is less or equal to 4, then 'Marker4s' is used, if it is greater than 4, then 'PolyMarkers' is used.- -> PolyChoices- -> PolyRhythmBasis+ -> PolyChoices -- ^ Data specifies the structure of the period of rhythmicity -- whether maximum or minimum elements are considered and how many syllables costitute the period.+ -> PolyRhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance. -> [a] -> Double rhythmicityPolyWeightedEF2 = rhythmicityPolyG12 (simpleEndF2)@@ -834,8 +857,8 @@ rhythmicityPolyWeightedEF3 :: (Ord a) => Double -- ^ The initial value starting from which it counts. Usually, equals to 1.0. -> Int -- ^ If the argument is less or equal to 4, then 'Marker4s' is used, if it is greater than 4, then 'PolyMarkers' is used.- -> PolyChoices- -> PolyRhythmBasis+ -> PolyChoices -- ^ Data specifies the structure of the period of rhythmicity -- whether maximum or minimum elements are considered and how many syllables costitute the period.+ -> PolyRhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance. -> [a] -> Double rhythmicityPolyWeightedEF3 = rhythmicityPolyG1 (simpleEndF3)@@ -844,8 +867,8 @@ rhythmicityPolyWeightedEF20 :: (Ord a) => Double -- ^ The initial value starting from which it counts. Usually, equals to 1.0. -> Int -- ^ If the argument is less or equal to 4, then 'Marker4s' is used, if it is greater than 4, then 'PolyMarkers' is used.- -> PolyChoices- -> PolyRhythmBasis+ -> PolyChoices -- ^ Data specifies the structure of the period of rhythmicity -- whether maximum or minimum elements are considered and how many syllables costitute the period.+ -> PolyRhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance. -> [a] -> Double rhythmicityPolyWeightedEF20 = rhythmicityPolyG02 (simpleEndF2)@@ -854,8 +877,8 @@ rhythmicityPolyWeightedEF30 :: (Ord a) => Double -- ^ The initial value starting from which it counts. Usually, equals to 1.0. -> Int -- ^ If the argument is less or equal to 4, then 'Marker4s' is used, if it is greater than 4, then 'PolyMarkers' is used.- -> PolyChoices- -> PolyRhythmBasis+ -> PolyChoices -- ^ Data specifies the structure of the period of rhythmicity -- whether maximum or minimum elements are considered and how many syllables costitute the period.+ -> PolyRhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance. -> [a] -> Double rhythmicityPolyWeightedEF30 = rhythmicityPolyG01 (simpleEndF3)@@ -886,8 +909,8 @@ rhythmicityPolyWeightedLF2 :: (Ord a) => Double -- ^ The initial value starting from which it counts. Usually, equals to 1.0. -> Int -- ^ If the argument is less or equal to 4, then 'Marker4s' is used, if it is greater than 4, then 'PolyMarkers' is used.- -> PolyChoices- -> PolyRhythmBasis+ -> PolyChoices -- ^ Data specifies the structure of the period of rhythmicity -- whether maximum or minimum elements are considered and how many syllables costitute the period.+ -> PolyRhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance. -> [a] -> Double rhythmicityPolyWeightedLF2 = rhythmicityPolyG12 (linearF2)@@ -896,8 +919,8 @@ rhythmicityPolyWeightedLF3 :: (Ord a) => Double -- ^ The initial value starting from which it counts. Usually, equals to 1.0. -> Int -- ^ If the argument is less or equal to 4, then 'Marker4s' is used, if it is greater than 4, then 'PolyMarkers' is used.- -> PolyChoices- -> PolyRhythmBasis+ -> PolyChoices -- ^ Data specifies the structure of the period of rhythmicity -- whether maximum or minimum elements are considered and how many syllables costitute the period.+ -> PolyRhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance. -> [a] -> Double rhythmicityPolyWeightedLF3 = rhythmicityPolyG1 (linearF3)@@ -906,8 +929,8 @@ rhythmicityPolyWeightedLF20 :: (Ord a) => Double -- ^ The initial value starting from which it counts. Usually, equals to 1.0. -> Int -- ^ If the argument is less or equal to 4, then 'Marker4s' is used, if it is greater than 4, then 'PolyMarkers' is used.- -> PolyChoices- -> PolyRhythmBasis+ -> PolyChoices -- ^ Data specifies the structure of the period of rhythmicity -- whether maximum or minimum elements are considered and how many syllables costitute the period.+ -> PolyRhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance. -> [a] -> Double rhythmicityPolyWeightedLF20 = rhythmicityPolyG02 (linearF2)@@ -916,8 +939,8 @@ rhythmicityPolyWeightedLF30 :: (Ord a) => Double -- ^ The initial value starting from which it counts. Usually, equals to 1.0. -> Int -- ^ If the argument is less or equal to 4, then 'Marker4s' is used, if it is greater than 4, then 'PolyMarkers' is used.- -> PolyChoices- -> PolyRhythmBasis+ -> PolyChoices -- ^ Data specifies the structure of the period of rhythmicity -- whether maximum or minimum elements are considered and how many syllables costitute the period.+ -> PolyRhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance. -> [a] -> Double rhythmicityPolyWeightedLF30 = rhythmicityPolyG01 (linearF3)@@ -926,8 +949,8 @@ rhythmicityPolyWeightedLEF2 :: (Ord a) => Double -- ^ The initial value starting from which it counts. Usually, equals to 1.0. -> Int -- ^ If the argument is less or equal to 4, then 'Marker4s' is used, if it is greater than 4, then 'PolyMarkers' is used.- -> PolyChoices- -> PolyRhythmBasis+ -> PolyChoices -- ^ Data specifies the structure of the period of rhythmicity -- whether maximum or minimum elements are considered and how many syllables costitute the period.+ -> PolyRhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance. -> [a] -> Double rhythmicityPolyWeightedLEF2 = rhythmicityPolyG12 (linearEndF2)@@ -936,8 +959,8 @@ rhythmicityPolyWeightedLEF3 :: (Ord a) => Double -- ^ The initial value starting from which it counts. Usually, equals to 1.0. -> Int -- ^ If the argument is less or equal to 4, then 'Marker4s' is used, if it is greater than 4, then 'PolyMarkers' is used.- -> PolyChoices- -> PolyRhythmBasis+ -> PolyChoices -- ^ Data specifies the structure of the period of rhythmicity -- whether maximum or minimum elements are considered and how many syllables costitute the period.+ -> PolyRhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance. -> [a] -> Double rhythmicityPolyWeightedLEF3 = rhythmicityPolyG1 (linearEndF3)@@ -946,8 +969,8 @@ rhythmicityPolyWeightedLEF20 :: (Ord a) => Double -- ^ The initial value starting from which it counts. Usually, equals to 1.0. -> Int -- ^ If the argument is less or equal to 4, then 'Marker4s' is used, if it is greater than 4, then 'PolyMarkers' is used.- -> PolyChoices- -> PolyRhythmBasis+ -> PolyChoices -- ^ Data specifies the structure of the period of rhythmicity -- whether maximum or minimum elements are considered and how many syllables costitute the period.+ -> PolyRhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance. -> [a] -> Double rhythmicityPolyWeightedLEF20 = rhythmicityPolyG02 (linearEndF2)@@ -956,8 +979,8 @@ rhythmicityPolyWeightedLEF30 :: (Ord a) => Double -- ^ The initial value starting from which it counts. Usually, equals to 1.0. -> Int -- ^ If the argument is less or equal to 4, then 'Marker4s' is used, if it is greater than 4, then 'PolyMarkers' is used.- -> PolyChoices- -> PolyRhythmBasis+ -> PolyChoices -- ^ Data specifies the structure of the period of rhythmicity -- whether maximum or minimum elements are considered and how many syllables costitute the period.+ -> PolyRhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance. -> [a] -> Double rhythmicityPolyWeightedLEF30 = rhythmicityPolyG01 (linearEndF3)@@ -999,11 +1022,11 @@ Nevertheless, the further checks (e. g. 'validPolyChRhPair' or 'validChRhPair') is not applied by it, so they must be applied further during the usage. Examples of the usage: \"c114+112=2\" returns 'Just' @P1 (Ch 1 1 4) (Rhythm 1 1 2) 2@-\"ctttff7+112111=7*3\" returns 'Just' @P2 (PolyCh [True,True,True,False,False] 7) (PolyRhythm [1,1,2,1,1,1]) 7 3@.+\"Mtttff7+112111=7*3\" returns 'Just' @P2 (PolyCh [True,True,True,False,False] 7) (PolyRhythm [1,1,2,1,1,1]) 7 3@. -} readRhythmicity :: String -> Maybe ParseChRh readRhythmicity ys@(x:xs)- | x == 'c' && not (null xs) = if+ | ((x `elem` "cMN") || (x >= 'A' && x <= 'F')) && not (null xs) = if | isDigit . head $ xs -> let x = readMaybe (take 1 ts)::Maybe Int y = readMaybe (drop 1 . take 2 $ ts)::Maybe Int z = readMaybe (drop 2 ts)::Maybe Int
Rhythmicity/TwoFourth.hs view
@@ -17,6 +17,14 @@ import Data.List (sort) +{-| The data type that is used to mark the syllables accordingly to+their importance in general rhythm constituting. More important syllables+are marked with the less data constuctors (since the data type has an+instance of the 'Ord' type class). Can be used in case of three levels of+importance for rhythm constituting+with the last, third 'C' level of the syllables which position is thought as+not significant (though it actually, is not, but for simplicity).+-} data Marker3s = A | B | C deriving (Eq,Ord,Show) {-| Data to specify some quantitative information of the structure of rhythmicity.@@ -63,7 +71,7 @@ -} getChRhData :: (Ord a) => Choices- -> RhythmBasis+ -> RhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance. -> [a] -> [[Marker3s]] getChRhData choice@(Ch n1 m1 l1) rhythm@(Rhythm p q l) xs@@ -198,8 +206,8 @@ :: (Ord a) => Double -- ^ The initial value starting from which it counts. Usually, equals to 1.0. -> Double -- ^ The positive factor (multiplier) coefficient that increases or decreases the result in case of 'A' simultaneous presence (absence). -> Double -- ^ The addition (positive subtraction) coefficient that increases or decreases (probably) the result in case of 'B' similtaneous presence (absence).- -> Choices- -> RhythmBasis+ -> Choices -- ^ Data specifies the structure of the period of rhythmicity -- whether maximum or minimum elements are considered and how many syllables costitute the period.+ -> RhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance. -> [a] -> Double -- ^ In case of positive previous 'Double' arguments this is a positive value. The greater one corresponds to (probably) more rhythmic list. rhythmicityABC x0 k1 k2 choices rhythm = similarityABC k1 k2 x0 . getChRhData choices rhythm@@ -213,8 +221,8 @@ :: (Ord a) => Double -- ^ The initial value starting from which it counts. Usually, equals to 1.0. -> Double -- ^ The positive factor (multiplier) coefficient that increases or decreases the result in case of 'A' simultaneous presence (absence). -> Double -- ^ The addition coefficient that increases the result in case of 'B' similtaneous presence.- -> Choices- -> RhythmBasis+ -> Choices -- ^ Data specifies the structure of the period of rhythmicity -- whether maximum or minimum elements are considered and how many syllables costitute the period.+ -> RhythmBasis -- ^ Data specifies the quantities of the syllables on the corresponding levels of importance. -> [a] -> Double -- ^ In case of positive previous 'Double' arguments this is a positive value. The greater one corresponds to (probably) more rhythmic list. rhythmicityABC0 x0 k1 k2 choices rhythm = similarityABC0 k1 k2 x0 . getChRhData choices rhythm
phonetic-languages-rhythmicity.cabal view
@@ -2,7 +2,7 @@ -- For further documentation, see http://haskell.org/cabal/users-guide/ name: phonetic-languages-rhythmicity-version: 0.9.0.0+version: 0.9.1.0 synopsis: Allows to estimate the rhythmicity properties for the text description: Allows to estimate (somewhat to say, evaluate) the rhythmicity properties for the text. Inspired by the ancient Greek and Latin poetry.