phonetic-languages-simplified-properties-array 0.4.1.0 → 0.4.2.0
raw patch · 3 files changed
+103/−218 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGELOG.md +5/−0
- Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG2.hs +96/−216
- phonetic-languages-simplified-properties-array.cabal +2/−2
CHANGELOG.md view
@@ -30,3 +30,8 @@ * Fourth version revised A. Fixed issues with the fixed point of 1.0 (arising from the issue in the dependency package phonetic-languages-rhythmicity).++## 0.4.2.0 -- 2021-07-31++* Fourth version revised B. Some code improvements (reduced duplication). Fixed inverse order of the '0' and+not '0' functions.
Phonetic/Languages/Array/Ukrainian/PropertiesSyllablesG2.hs view
@@ -12,7 +12,7 @@ -- from the @dobutokO-poetry@ package. Uses syllables information. -- Instead of the vector-related, uses just arrays. -{-# LANGUAGE CPP, BangPatterns #-}+{-# LANGUAGE CPP, BangPatterns, MultiWayIf #-} module Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2 ( -- * Newtype to work with@@ -208,42 +208,42 @@ "03z" -> rhythmicity03F k "04z" -> rhythmicity04F k _ -> rhythmicity04- "w" -> case choice of- "w01" -> rhythmicityABC0 1.0 2.0 0.125 (Ch 1 1 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD . createSyllablesUkrS- "w02" -> rhythmicityABC0 1.0 2.0 0.125 (Ch 1 1 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "w03" -> rhythmicityABC0 1.0 2.0 0.125 (Ch 1 1 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "w04" -> rhythmicityABC0 1.0 2.0 0.125 (Ch 1 1 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "w11" -> rhythmicityABC0 1.0 2.0 0.125 (Ch 1 0 4) (Rhythm 2 1 1) . mconcat . syllableDurationsD . createSyllablesUkrS- "w12" -> rhythmicityABC0 1.0 2.0 0.125 (Ch 1 0 4) (Rhythm 2 1 1) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "w13" -> rhythmicityABC0 1.0 2.0 0.125 (Ch 1 0 4) (Rhythm 2 1 1) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "w14" -> rhythmicityABC0 1.0 2.0 0.125 (Ch 1 0 4) (Rhythm 2 1 1) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "w21" -> rhythmicityABC0 1.0 2.0 0.125 (Ch 0 1 4) (Rhythm 1 2 1) . mconcat . syllableDurationsD . createSyllablesUkrS- "w22" -> rhythmicityABC0 1.0 2.0 0.125 (Ch 0 1 4) (Rhythm 1 2 1) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "w23" -> rhythmicityABC0 1.0 2.0 0.125 (Ch 0 1 4) (Rhythm 1 2 1) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "w24" -> rhythmicityABC0 1.0 2.0 0.125 (Ch 0 1 4) (Rhythm 1 2 1) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "w31" -> rhythmicityABC0 1.0 2.0 0.125 (Ch 0 0 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD . createSyllablesUkrS- "w32" -> rhythmicityABC0 1.0 2.0 0.125 (Ch 0 0 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "w33" -> rhythmicityABC0 1.0 2.0 0.125 (Ch 0 0 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "w34" -> rhythmicityABC0 1.0 2.0 0.125 (Ch 0 0 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD4 . createSyllablesUkrS- _ -> rhythmicity04- "x" -> case choice of- "x01" -> rhythmicityABC 1.0 2.0 0.125 (Ch 1 1 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD . createSyllablesUkrS- "x02" -> rhythmicityABC 1.0 2.0 0.125 (Ch 1 1 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "x03" -> rhythmicityABC 1.0 2.0 0.125 (Ch 1 1 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "x04" -> rhythmicityABC 1.0 2.0 0.125 (Ch 1 1 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "x11" -> rhythmicityABC 1.0 2.0 0.125 (Ch 1 0 4) (Rhythm 2 1 1) . mconcat . syllableDurationsD . createSyllablesUkrS- "x12" -> rhythmicityABC 1.0 2.0 0.125 (Ch 1 0 4) (Rhythm 2 1 1) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "x13" -> rhythmicityABC 1.0 2.0 0.125 (Ch 1 0 4) (Rhythm 2 1 1) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "x14" -> rhythmicityABC 1.0 2.0 0.125 (Ch 1 0 4) (Rhythm 2 1 1) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "x21" -> rhythmicityABC 1.0 2.0 0.125 (Ch 0 1 4) (Rhythm 1 2 1) . mconcat . syllableDurationsD . createSyllablesUkrS- "x22" -> rhythmicityABC 1.0 2.0 0.125 (Ch 0 1 4) (Rhythm 1 2 1) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "x23" -> rhythmicityABC 1.0 2.0 0.125 (Ch 0 1 4) (Rhythm 1 2 1) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "x24" -> rhythmicityABC 1.0 2.0 0.125 (Ch 0 1 4) (Rhythm 1 2 1) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "x31" -> rhythmicityABC 1.0 2.0 0.125 (Ch 0 0 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD . createSyllablesUkrS- "x32" -> rhythmicityABC 1.0 2.0 0.125 (Ch 0 0 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "x33" -> rhythmicityABC 1.0 2.0 0.125 (Ch 0 0 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "x34" -> rhythmicityABC 1.0 2.0 0.125 (Ch 0 0 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD4 . createSyllablesUkrS- _ -> rhythmicity04+ "w" -> if+ | (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->+ case take 2 choice of+ "w0" -> wwF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2)+ "w1" -> wwF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1)+ "w2" -> wwF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1)+ "w3" -> wwF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2)+ _ -> rhythmicity04+ | otherwise -> rhythmicity04+ where w1F f ch rh = rhythmicityABC 1.0 2.0 0.125 ch rh . mconcat . f . createSyllablesUkrS+ wwF xs = let (Just n) = readMaybe xs::Maybe Int in+ case n `rem` 4 of+ 1 -> w1F syllableDurationsD+ 2 -> w1F syllableDurationsD2+ 3 -> w1F syllableDurationsD3+ _ -> w1F syllableDurationsD4+ {-# INLINE w1F #-}+ {-# INLINE wwF #-}+ "x" -> if+ | (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->+ case take 2 choice of+ "x0" -> xxF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2)+ "x1" -> xxF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1)+ "x2" -> xxF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1)+ "x3" -> xxF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2)+ _ -> rhythmicity04+ | otherwise -> rhythmicity04+ where x1F f ch rh = rhythmicityABC0 1.0 2.0 0.125 ch rh . mconcat . f . createSyllablesUkrS+ xxF xs = let (Just n) = readMaybe xs::Maybe Int in+ case n `rem` 4 of+ 1 -> x1F syllableDurationsD+ 2 -> x1F syllableDurationsD2+ 3 -> x1F syllableDurationsD3+ _ -> x1F syllableDurationsD4+ {-# INLINE x1F #-}+ {-# INLINE xxF #-} "c" -> let just_probe = readRhythmicity choice in case just_probe of Just (P1 ch rh 1) -> rhythmicityABC 1.0 2.0 0.125 ch rh . mconcat . syllableDurationsD . createSyllablesUkrS@@ -255,143 +255,26 @@ Just (P2 ch rh r 3) -> rhythmicityPoly 1.0 r ch rh . mconcat . syllableDurationsD3 . createSyllablesUkrS Just (P2 ch rh r 4) -> rhythmicityPoly 1.0 r ch rh . mconcat . syllableDurationsD4 . createSyllablesUkrS _ -> rhythmicity04- "u" -> case choice of- "u01" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,True] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD . createSyllablesUkrS- "u02" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,True] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "u03" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,True] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "u04" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,True] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "u11" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,False] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD . createSyllablesUkrS- "u12" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,False] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "u13" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,False] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "u14" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,False] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "u21" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,True] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD . createSyllablesUkrS- "u22" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,True] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "u23" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,True] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "u24" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,True] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "u31" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,False] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD . createSyllablesUkrS- "u32" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,False] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "u33" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,False] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "u34" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,False] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "u41" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,True] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD . createSyllablesUkrS- "u42" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,True] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "u43" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,True] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "u44" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,True] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "u51" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,False] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD . createSyllablesUkrS- "u52" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,False] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "u53" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,False] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "u54" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,False] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "u61" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,True] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD . createSyllablesUkrS- "u62" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,True] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "u63" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,True] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "u64" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,True] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "u71" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,False] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD . createSyllablesUkrS- "u72" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,False] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "u73" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,False] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "u74" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,False] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- _ -> rhythmicity04- "v" -> case choice of- "v01" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,True] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD . createSyllablesUkrS- "v02" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,True] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "v03" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,True] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "v04" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,True] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "v11" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,False] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD . createSyllablesUkrS- "v12" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,False] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "v13" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,False] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "v14" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,False] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "v21" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,True] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD . createSyllablesUkrS- "v22" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,True] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "v23" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,True] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "v24" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,True] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "v31" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,False] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD . createSyllablesUkrS- "v32" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,False] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "v33" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,False] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "v34" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,False] 5) (PolyRhythm [1,2,1,1]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "v41" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,True] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD . createSyllablesUkrS- "v42" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,True] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "v43" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,True] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "v44" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,True] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "v51" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,False] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD . createSyllablesUkrS- "v52" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,False] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "v53" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,False] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "v54" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,False] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "v61" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,True] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD . createSyllablesUkrS- "v62" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,True] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "v63" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,True] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "v64" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,True] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "v71" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,False] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD . createSyllablesUkrS- "v72" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,False] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "v73" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,False] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "v74" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,False] 5) (PolyRhythm [2,1,1,1]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- _ -> rhythmicity04- "s" -> case choice of- "s01" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,True] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD . createSyllablesUkrS- "s02" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,True] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "s03" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,True] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "s04" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,True] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "s11" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,False] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD . createSyllablesUkrS- "s12" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,False] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "s13" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,False] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "s14" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,False] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "s21" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,True] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD . createSyllablesUkrS- "s22" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,True] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "s23" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,True] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "s24" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,True] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "s31" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,False] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD . createSyllablesUkrS- "s32" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,False] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "s33" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,False] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "s34" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,False] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "s41" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,True] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD . createSyllablesUkrS- "s42" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,True] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "s43" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,True] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "s44" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,True] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "s51" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,False] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD . createSyllablesUkrS- "s52" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,False] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "s53" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,False] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "s54" -> rhythmicityPoly 1.0 4 (PolyCh [True,True,False] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "s61" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,True] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD . createSyllablesUkrS- "s62" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,True] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "s63" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,True] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "s64" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,True] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "s71" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,False] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD . createSyllablesUkrS- "s72" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,False] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "s73" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,False] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "s74" -> rhythmicityPoly 1.0 4 (PolyCh [True,False,False] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- _ -> rhythmicity04- "t" -> case choice of- "t01" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,True] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD . createSyllablesUkrS- "t02" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,True] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "t03" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,True] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "t04" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,True] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "t11" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,False] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD . createSyllablesUkrS- "t12" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,False] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "t13" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,False] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "t14" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,False] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "t21" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,True] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD . createSyllablesUkrS- "t22" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,True] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "t23" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,True] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "t24" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,True] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "t31" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,False] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD . createSyllablesUkrS- "t32" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,False] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "t33" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,False] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "t34" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,False] 6) (PolyRhythm [1,2,1,2]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "t41" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,True] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD . createSyllablesUkrS- "t42" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,True] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "t43" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,True] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "t44" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,True] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "t51" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,False] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD . createSyllablesUkrS- "t52" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,False] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "t53" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,False] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "t54" -> rhythmicityPoly0 1.0 4 (PolyCh [True,True,False] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "t61" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,True] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD . createSyllablesUkrS- "t62" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,True] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "t63" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,True] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "t64" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,True] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "t71" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,False] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD . createSyllablesUkrS- "t72" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,False] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "t73" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,False] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "t74" -> rhythmicityPoly0 1.0 4 (PolyCh [True,False,False] 6) (PolyRhythm [2,1,1,2]) . mconcat . syllableDurationsD4 . createSyllablesUkrS- _ -> rhythmicity04- _ -> rhythmicity04+ _ -> if+ | (take 1 choice == "u" || take 1 choice == "v" || take 1 choice == "s" || take 1 choice == "t") && (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->+ case take 1 choice of+ "u" -> g rhythmicityPoly 5 1+ "v" -> g rhythmicityPoly0 5 1+ "s" -> g rhythmicityPoly 6 2+ "t" -> g rhythmicityPoly0 6 2+ | otherwise -> rhythmicity04+ where h1 f ts xs m n = f 1.0 4 (PolyCh xs m) (PolyRhythm [1,2,1,n]) . mconcat . (case readMaybe ts::Maybe Int of { Just 1 -> syllableDurationsD ; Just 2 -> syllableDurationsD2 ; Just 3 -> syllableDurationsD3 ; Just 4 -> syllableDurationsD4 }) . createSyllablesUkrS+ h2 f ts xs m n = f 1.0 4 (PolyCh xs m) (PolyRhythm [2,1,1,n]) . mconcat . (case readMaybe ts::Maybe Int of { Just 1 -> syllableDurationsD ; Just 2 -> syllableDurationsD2 ; Just 3 -> syllableDurationsD3 ; Just 4 -> syllableDurationsD4 }) . createSyllablesUkrS+ g f m n+ | drop 1 choice `elem` ["01","02","03","04"] = h1 f (drop 2 . take 3 $ choice) [True,True,True] m n+ | drop 1 choice `elem` ["11","12","13","14"] = h1 f (drop 2 . take 3 $ choice) [True,True,False] m n+ | drop 1 choice `elem` ["21","22","23","24"] = h1 f (drop 2 . take 3 $ choice) [True,False,True] m n+ | drop 1 choice `elem` ["31","32","33","34"] = h1 f (drop 2 . take 3 $ choice) [True,False,False] m n+ | drop 1 choice `elem` ["41","42","43","44"] = h2 f (drop 2 . take 3 $ choice) [True,True,True] m n+ | drop 1 choice `elem` ["51","52","53","54"] = h2 f (drop 2 . take 3 $ choice) [True,True,False] m n+ | drop 1 choice `elem` ["61","62","63","64"] = h2 f (drop 2 . take 3 $ choice) [True,False,True] m n+ | drop 1 choice `elem` ["71","72","73","74"] = h2 f (drop 2 . take 3 $ choice) [True,False,False] m n+ | otherwise = rhythmicity04 rhythmicity k choice (CF2 x y) = case take 1 choice of "0" -> case choice of@@ -403,45 +286,42 @@ "03z" -> rhythmicityKF3 k (fromMaybe 1.0 x) (fromMaybe 1.0 y) "04z" -> rhythmicityKF4 k (fromMaybe 1.0 x) (fromMaybe 1.0 y) _ -> rhythmicityK4 (fromMaybe 1.0 x) (fromMaybe 1.0 y)- "w" -> case choice of- "w01" -> rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 1 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD . createSyllablesUkrS- "w02" -> rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 1 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "w03" -> rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 1 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "w04" -> rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 1 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "w11" -> rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 0 4) (Rhythm 2 1 1) . mconcat . syllableDurationsD . createSyllablesUkrS- "w12" -> rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 0 4) (Rhythm 2 1 1) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "w13" -> rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 0 4) (Rhythm 2 1 1) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "w14" -> rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 0 4) (Rhythm 2 1 1) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "w21" -> rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 1 4) (Rhythm 1 2 1) . mconcat . syllableDurationsD . createSyllablesUkrS- "w22" -> rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 1 4) (Rhythm 1 2 1) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "w23" -> rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 1 4) (Rhythm 1 2 1) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "w24" -> rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 1 4) (Rhythm 1 2 1) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "w31" -> rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 0 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD . createSyllablesUkrS- "w32" -> rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 0 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "w33" -> rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 0 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "w34" -> rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 0 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD4 . createSyllablesUkrS- _ -> rhythmicityK4 (fromMaybe 1.0 x) (fromMaybe 1.0 y)- "x" -> case choice of- "x01" -> rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 1 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD . createSyllablesUkrS- "x02" -> rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 1 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "x03" -> rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 1 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "x04" -> rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 1 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "x11" -> rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 0 4) (Rhythm 2 1 1) . mconcat . syllableDurationsD . createSyllablesUkrS- "x12" -> rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 0 4) (Rhythm 2 1 1) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "x13" -> rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 0 4) (Rhythm 2 1 1) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "x14" -> rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 1 0 4) (Rhythm 2 1 1) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "x21" -> rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 1 4) (Rhythm 1 2 1) . mconcat . syllableDurationsD . createSyllablesUkrS- "x22" -> rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 1 4) (Rhythm 1 2 1) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "x23" -> rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 1 4) (Rhythm 1 2 1) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "x24" -> rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 1 4) (Rhythm 1 2 1) . mconcat . syllableDurationsD4 . createSyllablesUkrS- "x31" -> rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 0 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD . createSyllablesUkrS- "x32" -> rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 0 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD2 . createSyllablesUkrS- "x33" -> rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 0 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD3 . createSyllablesUkrS- "x34" -> rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) (Ch 0 0 4) (Rhythm 1 1 2) . mconcat . syllableDurationsD4 . createSyllablesUkrS- _ -> rhythmicityK4 (fromMaybe 1.0 x) (fromMaybe 1.0 y)- "c" -> rhythmicity k choice CF0- "u" -> rhythmicity k choice CF0- "v" -> rhythmicity k choice CF0- "s" -> rhythmicity k choice CF0- "t" -> rhythmicity k choice CF0- _ -> rhythmicityK4 (fromMaybe 1.0 x) (fromMaybe 1.0 y)+ "w" -> if+ | (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->+ case take 2 choice of+ "w0" -> wwF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2)+ "w1" -> wwF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1)+ "w2" -> wwF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1)+ "w3" -> wwF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2)+ _ -> rhythmicity04+ | otherwise -> rhythmicity04+ where w1F f ch rh = rhythmicityABC 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) ch rh . mconcat . f . createSyllablesUkrS+ wwF xs = let (Just n) = readMaybe xs::Maybe Int in+ case n `rem` 4 of+ 1 -> w1F syllableDurationsD+ 2 -> w1F syllableDurationsD2+ 3 -> w1F syllableDurationsD3+ _ -> w1F syllableDurationsD4+ {-# INLINE w1F #-}+ {-# INLINE wwF #-}+ "x" -> if+ | (drop 2 . take 3 $ choice) >= "1" && (drop 2 . take 3 $ choice) <= "4" ->+ case take 2 choice of+ "x0" -> xxF (drop 2 . take 3 $ choice) (Ch 1 1 4) (Rhythm 1 1 2)+ "x1" -> xxF (drop 2 . take 3 $ choice) (Ch 1 0 4) (Rhythm 2 1 1)+ "x2" -> xxF (drop 2 . take 3 $ choice) (Ch 0 1 4) (Rhythm 1 2 1)+ "x3" -> xxF (drop 2 . take 3 $ choice) (Ch 0 0 4) (Rhythm 1 1 2)+ _ -> rhythmicity04+ | otherwise -> rhythmicity04+ where x1F f ch rh = rhythmicityABC0 1.0 (fromMaybe 2.0 x) (fromMaybe 0.125 y) ch rh . mconcat . f . createSyllablesUkrS+ xxF xs = let (Just n) = readMaybe xs::Maybe Int in+ case n `rem` 4 of+ 1 -> x1F syllableDurationsD + 2 -> x1F syllableDurationsD2 + 3 -> x1F syllableDurationsD3 + _ -> x1F syllableDurationsD4 + {-# INLINE x1F #-}+ {-# INLINE xxF #-}+ _ -> if+ | take 1 choice `elem` ["c","u","v","s","t"] -> rhythmicity k choice CF0+ | otherwise -> rhythmicityK4 (fromMaybe 1.0 x) (fromMaybe 1.0 y)
phonetic-languages-simplified-properties-array.cabal view
@@ -2,7 +2,7 @@ -- For further documentation, see http://haskell.org/cabal/users-guide/ name: phonetic-languages-simplified-properties-array-version: 0.4.1.0+version: 0.4.2.0 synopsis: A generalization of the uniqueness-periods-vector-properties package. description: Is a simplified version of the functionality of the former one. Uses lists and arrays as main processment data types. Uses Double whenever applicable. homepage: https://hackage.haskell.org/package/phonetic-languages-simplified-properties-array@@ -19,7 +19,7 @@ library exposed-modules: Phonetic.Languages.Array.Ukrainian.PropertiesFuncRepG2, Phonetic.Languages.Array.Ukrainian.PropertiesSyllablesG2 -- other-modules:- other-extensions: BangPatterns, CPP+ other-extensions: BangPatterns, CPP, MultiWayIf build-depends: base >=4.8 && <4.15, phonetic-languages-rhythmicity >=0.5.1 && <1, phonetic-languages-simplified-base >=0.1 && <1, ukrainian-phonetics-basic-array >=0.1.2 && <1 -- hs-source-dirs: default-language: Haskell2010