dobutokO2 0.35.0.0 → 0.35.1.0
raw patch · 9 files changed
+29/−25 lines, 9 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGELOG.md +4/−0
- DobutokO/Sound.hs +3/−2
- DobutokO/Sound/Executable.hs +7/−7
- DobutokO/Sound/Functional.hs +2/−2
- DobutokO/Sound/IntermediateF.hs +3/−3
- DobutokO/Sound/Keyboard.hs +4/−5
- DobutokO/Sound/ParseList.hs +2/−2
- README.markdown +3/−3
- dobutokO2.cabal +1/−1
CHANGELOG.md view
@@ -306,3 +306,7 @@ * Thirty-fifth version. Added generalized versions for splitting functions (library). Some code improvements (reducing duplication). Some documentation improvements. Some descriptive changes in the dobutokO2.cabal file.++## 0.35.1.0 -- 2020-04-22++* Thirty-fifth version revised A. Fixed issues with some wrongly defined parameters for the new MN functions. Some documentation improvements.
DobutokO/Sound.hs view
@@ -5,8 +5,9 @@ -- Stability : Experimental -- Maintainer : olexandr543@yahoo.com ----- A program and a library to create experimental music--- from a mono audio and a Ukrainian text.+-- Helps to create experimental music from a file (or its part) and a Ukrainian text. +-- It can also generate a timbre for the notes. Uses SoX inside.+ {-# LANGUAGE BangPatterns, LambdaCase #-} {-# OPTIONS_GHC -threaded #-}
DobutokO/Sound/Executable.hs view
@@ -5,8 +5,8 @@ -- Stability : Experimental -- Maintainer : olexandr543@yahoo.com ----- A program and a library to create experimental music--- from a mono audio and a Ukrainian text.+-- Helps to create experimental music from a file (or its part) and a Ukrainian text. +-- It can also generate a timbre for the notes. Uses SoX inside. {-# LANGUAGE LambdaCase #-} {-# OPTIONS_GHC -threaded #-}@@ -649,7 +649,7 @@ ---------------------- -- f testSoundGen2GMN m n1 file f y zs = do- vecA0 <- fmap (V.map (`quotRem` 108)) ((if m == 0 && n1 == 0 then readFileDoubles else readFileDoublesMN m n1) file) -- >>= print+ vecA0 <- fmap (V.map (`quotRem` 108)) ((if m == (-1) && n1 == (-1) then readFileDoubles else readFileDoublesMN m n1) file) -- >>= print let n = V.length vecA0 freq0 j = V.unsafeIndex notes (snd . V.unsafeIndex vecA0 $ j `rem` n) f0 t = V.fromList [(0.05763181818181818 * t, 0.3598),(1.112159090909091 * t, 0.4588962),(2 * t, 0.6853),(3 * t, 0.268),(4 * t, 0.6823),(5 * t, 0.53)]@@ -682,7 +682,7 @@ soundGen3GMN :: Int64 -> Int64 -> FilePath -> (Double -> OvertonesO) -> Double -> String -> ((Double,Double) -> Double -> (Double -> OvertonesO) -> OvertonesO) -> ((Double,Double) -> Double -> (Double -> OvertonesO) -> OvertonesO) -> (Double -> OvertonesO) -> IO () soundGen3GMN m n1 file f y zs gAdd gRem f0 = do- vecA0 <- fmap (V.map (`quotRem` 108)) ((if m == 0 && n1 == 0 then readFileDoubles else readFileDoublesMN m n1) file) -- >>= print+ vecA0 <- fmap (V.map (`quotRem` 108)) ((if m == (-1) && n1 == (-1) then readFileDoubles else readFileDoublesMN m n1) file) -- >>= print let n = V.length vecA0 freq0 j = V.unsafeIndex notes (snd . V.unsafeIndex vecA0 $ j `rem` n) fA1 j = fAddFElem (freq0 (j + 1),0.5) f0 gAdd@@ -721,7 +721,7 @@ -> (OvertonesO -> Double -> (Double -> OvertonesO) -> OvertonesO) -> (Int -> OvertonesO) -> (OvertonesO -> OvertonesO) -> (Double -> OvertonesO) -> IO () soundGen3G_OMN m1 n1 m ku freq1 file f y zs gAdds gRems freq0 proj f0 = do- vecA0 <- fmap (V.map (`quotRem` 108)) ((if m1 == 0 && n1 == 0 then readFileDoubles else readFileDoublesMN m1 n1) file) -- >>= print+ vecA0 <- fmap (V.map (`quotRem` 108)) ((if m1 == (-1) && n1 == (-1) then readFileDoubles else readFileDoublesMN m1 n1) file) -- >>= print let n = V.length vecA0 fA1 j = fAddFElems (proj . freq0 $ j) f0 gAdds fR1 j = fRemoveFElems (proj . freq0 $ j) f0 gRems@@ -778,7 +778,7 @@ (OvertonesO -> Double -> (Double -> OvertonesO) -> OvertonesO) -> (OvertonesO -> Double -> (Double -> OvertonesO) -> OvertonesO) -> (Int -> OvertonesO) -> (OvertonesO -> OvertonesO) -> (Double -> OvertonesO) -> IO () soundGen3G_O2MN m1 n1 conversionFII m ku freq1 file f y zs gAdds gRems freq0 proj f0 = do- vecA0 <- fmap (V.map (`quotRem` 108)) ((if m1 == 0 && n1 == 0 then readFileDoubles else readFileDoublesMN m1 n1) file) -- >>= print+ vecA0 <- fmap (V.map (`quotRem` 108)) ((if m1 == (-1) && n1 == (-1) then readFileDoubles else readFileDoublesMN m1 n1) file) -- >>= print let n = V.length vecA0 fA1 j = fAddFElems (proj . freq0 $ j) f0 gAdds fR1 j = fRemoveFElems (proj . freq0 $ j) f0 gRems@@ -815,7 +815,7 @@ (OvertonesO -> Double -> (Double -> OvertonesO) -> OvertonesO) -> (OvertonesO -> Double -> (Double -> OvertonesO) -> OvertonesO) -> (Int -> OvertonesO) -> (Double -> OvertonesO) -> IO () soundGen3G_O2GMN m1 n1 conversionFII vf vfA vfR m ku freq1 file f y zs gAdds gRems freq0 f0 = do- vecA0 <- fmap (V.map (`quotRem` 108)) ((if m1 == 0 && n1 == 0 then readFileDoubles else readFileDoublesMN m1 n1) file) -- >>= print+ vecA0 <- fmap (V.map (`quotRem` 108)) ((if m1 == (-1) && n1 == (-1) then readFileDoubles else readFileDoublesMN m1 n1) file) -- >>= print let n = V.length vecA0 vecB = conversionFII (vf,vfA,vfR) vecA0 (t, ws) = splitAt 1 . syllableStr n $ zs
DobutokO/Sound/Functional.hs view
@@ -5,8 +5,8 @@ -- Stability : Experimental -- Maintainer : olexandr543@yahoo.com ----- A program and a library to create experimental music--- from a mono audio and a Ukrainian text.+-- Helps to create experimental music from a file (or its part) and a Ukrainian text. +-- It can also generate a timbre for the notes. Uses SoX inside. {-# LANGUAGE BangPatterns #-} {-# OPTIONS_GHC -threaded #-}
DobutokO/Sound/IntermediateF.hs view
@@ -5,9 +5,9 @@ -- Stability : Experimental -- Maintainer : olexandr543@yahoo.com ----- A program and a library to create experimental music--- from a mono audio and a Ukrainian text. Can work with both WAV and FLAC files if--- your SoX installation supports FLAC.+-- Helps to create experimental music from a file (or its part) and a Ukrainian text. +-- It can also generate a timbre for the notes. Uses SoX inside.+ {-# OPTIONS_GHC -threaded #-}
DobutokO/Sound/Keyboard.hs view
@@ -5,9 +5,8 @@ -- Stability : Experimental -- Maintainer : olexandr543@yahoo.com ----- A program and a library to create experimental music--- from a mono audio and a Ukrainian text. Can work with both WAV and FLAC files if--- your SoX installation supports FLAC.+-- Helps to create experimental music from a file (or its part) and a Ukrainian text. +-- It can also generate a timbre for the notes. Uses SoX inside. {-# OPTIONS_GHC -threaded #-} @@ -115,12 +114,12 @@ -- | Like 'readFileDoublesGen', but returns only first @n@ elements of the 'V.Vector' specified with the first 'Int64' argument. readFileDoublesGenN :: Int64 -> String -> FilePath -> IO (V.Vector Int)-readFileDoublesGenN n ys = fmap (V.unsafeSlice 0 (fromIntegral n - 1) . takeDoubles . convH ys (BL.filter isAsciiLower)) . BL.readFile+readFileDoublesGenN n ys = fmap (V.unsafeSlice 0 (fromIntegral n) . takeDoubles . convH ys (BL.filter isAsciiLower)) . BL.readFile -- | Like 'readFileDoublesGen', but returns only first @n@ symbols specified with the second 'Int64' argument dropping before this the first @m@ symbols specified -- with the first 'Int64' argument. readFileDoublesGenMN :: Int64 -> Int64 -> String -> FilePath -> IO (V.Vector Int)-readFileDoublesGenMN m n ys = fmap (V.unsafeSlice (fromIntegral m - 1) (fromIntegral n - 1) . takeDoubles . convH ys (BL.filter isAsciiLower)) . BL.readFile+readFileDoublesGenMN m n ys = fmap (V.unsafeSlice (fromIntegral m) (fromIntegral n) . takeDoubles . convH ys (BL.filter isAsciiLower)) . BL.readFile -- | Usual way the function 'readFileDoublesGen' is used. The text in a file being read is treated as a properly typed (entered) one. So there is no -- keyboard layout conversion at all.
DobutokO/Sound/ParseList.hs view
@@ -5,8 +5,8 @@ -- Stability : Experimental -- Maintainer : olexandr543@yahoo.com ----- A program and a library to create experimental music--- from a mono audio and a Ukrainian text.+-- Helps to create experimental music from a file (or its part) and a Ukrainian text. +-- It can also generate a timbre for the notes. Uses SoX inside. {-# OPTIONS_GHC -threaded #-}
README.markdown view
@@ -1,6 +1,6 @@-A program and a library to create experimental music from-a mono audio and a Ukrainian text. It can also create a timbre-for the notes.+Helps to create experimental music from a file (or its part) and a Ukrainian text. +It can also generate a timbre for the notes. Uses SoX inside.+ ***** Usage ***** -----------------
dobutokO2.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/ name: dobutokO2-version: 0.35.0.0+version: 0.35.1.0 synopsis: Helps to create experimental music from a file (or its part) and a Ukrainian text. description: It can also generate a timbre for the notes. Uses SoX inside. homepage: https://hackage.haskell.org/package/dobutokO2