packages feed

algorithmic-composition-complex 0.1.1.0 → 0.2.0.0

raw patch · 6 files changed

+39/−33 lines, 6 filesdep +ukrainian-phonetics-basic-arraydep −bytestringdep −ukrainian-phonetics-basic-array-bytestringdep ~algorithmic-composition-basicdep ~directorydep ~foldable-ixPVP ok

version bump matches the API change (PVP)

Dependencies added: ukrainian-phonetics-basic-array

Dependencies removed: bytestring, ukrainian-phonetics-basic-array-bytestring

Dependency ranges changed: algorithmic-composition-basic, directory, foldable-ix, mmsyn2-array, mmsyn3, mmsyn7l, mmsyn7ukr-common, phonetic-languages-simplified-base, process

API changes (from Hackage documentation)

- Composition.Sound.Complex: soundGen3GMN :: Int64 -> Int64 -> FilePath -> Float -> String -> ((Float, Float) -> Float -> (Float -> OvertonesO) -> OvertonesO) -> ((Float, Float) -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (Float -> OvertonesO) -> IO ()
+ Composition.Sound.Complex: soundGen3GMN :: Int -> Int -> FilePath -> Float -> String -> ((Float, Float) -> Float -> (Float -> OvertonesO) -> OvertonesO) -> ((Float, Float) -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (Float -> OvertonesO) -> IO ()
- Composition.Sound.Complex: soundGen3G_O2GMN :: Int64 -> Int64 -> (([Float -> OvertonesO], [Int -> Float -> OvertonesO], [Int -> Float -> OvertonesO]) -> [(Int, Int)] -> [(Float, Float -> OvertonesO)]) -> [Float -> OvertonesO] -> [Int -> Float -> OvertonesO] -> [Int -> Float -> OvertonesO] -> Int -> Int -> Float -> FilePath -> Float -> String -> IO ()
+ Composition.Sound.Complex: soundGen3G_O2GMN :: Int -> Int -> (([Float -> OvertonesO], [Int -> Float -> OvertonesO], [Int -> Float -> OvertonesO]) -> [(Int, Int)] -> [(Float, Float -> OvertonesO)]) -> [Float -> OvertonesO] -> [Int -> Float -> OvertonesO] -> [Int -> Float -> OvertonesO] -> Int -> Int -> Float -> FilePath -> Float -> String -> IO ()
- Composition.Sound.Complex: soundGen3G_O2GMNPar :: Int64 -> Int64 -> (([Float -> OvertonesO], [Int -> Float -> OvertonesO], [Int -> Float -> OvertonesO]) -> [(Int, Int)] -> [(Float, Float -> OvertonesO)]) -> [Float -> OvertonesO] -> [Int -> Float -> OvertonesO] -> [Int -> Float -> OvertonesO] -> Params -> Float -> FilePath -> Float -> String -> IO ()
+ Composition.Sound.Complex: soundGen3G_O2GMNPar :: Int -> Int -> (([Float -> OvertonesO], [Int -> Float -> OvertonesO], [Int -> Float -> OvertonesO]) -> [(Int, Int)] -> [(Float, Float -> OvertonesO)]) -> [Float -> OvertonesO] -> [Int -> Float -> OvertonesO] -> [Int -> Float -> OvertonesO] -> Params -> Float -> FilePath -> Float -> String -> IO ()
- Composition.Sound.Complex: soundGen3G_O2MN :: Int64 -> Int64 -> ((Float -> OvertonesO, Int -> Float -> OvertonesO, Int -> Float -> OvertonesO) -> [(Int, Int)] -> [(Float, Float -> OvertonesO)]) -> Int -> Int -> Float -> FilePath -> Float -> String -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (Int -> OvertonesO) -> (OvertonesO -> OvertonesO) -> (Float -> OvertonesO) -> IO ()
+ Composition.Sound.Complex: soundGen3G_O2MN :: Int -> Int -> ((Float -> OvertonesO, Int -> Float -> OvertonesO, Int -> Float -> OvertonesO) -> [(Int, Int)] -> [(Float, Float -> OvertonesO)]) -> Int -> Int -> Float -> FilePath -> Float -> String -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (Int -> OvertonesO) -> (OvertonesO -> OvertonesO) -> (Float -> OvertonesO) -> IO ()
- Composition.Sound.Complex: soundGen3G_O2MNPar :: Int64 -> Int64 -> ((Float -> OvertonesO, Int -> Float -> OvertonesO, Int -> Float -> OvertonesO) -> [(Int, Int)] -> [(Float, Float -> OvertonesO)]) -> Params -> Float -> FilePath -> Float -> String -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (Int -> OvertonesO) -> (OvertonesO -> OvertonesO) -> (Float -> OvertonesO) -> IO ()
+ Composition.Sound.Complex: soundGen3G_O2MNPar :: Int -> Int -> ((Float -> OvertonesO, Int -> Float -> OvertonesO, Int -> Float -> OvertonesO) -> [(Int, Int)] -> [(Float, Float -> OvertonesO)]) -> Params -> Float -> FilePath -> Float -> String -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (Int -> OvertonesO) -> (OvertonesO -> OvertonesO) -> (Float -> OvertonesO) -> IO ()
- Composition.Sound.Complex: soundGen3G_OMN :: Int64 -> Int64 -> Int -> Int -> Float -> FilePath -> Float -> String -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (Int -> OvertonesO) -> (OvertonesO -> OvertonesO) -> (Float -> OvertonesO) -> IO ()
+ Composition.Sound.Complex: soundGen3G_OMN :: Int -> Int -> Int -> Int -> Float -> FilePath -> Float -> String -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (Int -> OvertonesO) -> (OvertonesO -> OvertonesO) -> (Float -> OvertonesO) -> IO ()
- Composition.Sound.Complex: soundGen3G_OMNPar :: Int64 -> Int64 -> Params -> Float -> FilePath -> Float -> String -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (Int -> OvertonesO) -> (OvertonesO -> OvertonesO) -> (Float -> OvertonesO) -> IO ()
+ Composition.Sound.Complex: soundGen3G_OMNPar :: Int -> Int -> Params -> Float -> FilePath -> Float -> String -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (Int -> OvertonesO) -> (OvertonesO -> OvertonesO) -> (Float -> OvertonesO) -> IO ()
- Composition.Sound.Complex: testSoundGen2GMN :: Int64 -> Int64 -> FilePath -> Float -> String -> IO ()
+ Composition.Sound.Complex: testSoundGen2GMN :: Int -> Int -> FilePath -> Float -> String -> IO ()

Files

CHANGELOG.md view
@@ -8,3 +8,9 @@ ## 0.1.1.0 -- 2022-02-19  * First version revised A. Updated the dependencies. No code revision is made.++## 0.2.0.0 -- 2022-08-17++* Second version. Removed the bytestring as a dependency. Updated the dependencies boundaries to support the newer +GHC-9* series.+
Composition/Sound/Complex.hs view
@@ -1,6 +1,6 @@ -- | -- Module      :  Composition.Sound.Complex--- Copyright   :  (c) OleksandrZhabenko 2020-2021+-- Copyright   :  (c) OleksandrZhabenko 2020-2022 -- License     :  MIT -- Stability   :  Experimental -- Maintainer  :  olexandr543@yahoo.com@@ -41,7 +41,7 @@ import System.Process import EndOfExe import System.Directory-import GHC.Int (Int64)+--import GHC.Int (Int64) import Composition.Sound.Keyboard import Composition.Sound.Functional.Params import Composition.Sound.Functional.Basics@@ -53,7 +53,7 @@ {-# INLINE testSoundGen2G #-}  -- | Tesing variant of the 'soundGen3GMN' with predefined last functional arguments.-testSoundGen2GMN :: Int64 -> Int64 -> FilePath -> Float -> String -> IO ()+testSoundGen2GMN :: Int -> Int -> FilePath -> Float -> String -> IO () testSoundGen2GMN m n1 file y zs = do   vecA0 <- fmap (map (`quotRem` 108)) ((if m == (-1) && n1 == (-1) then readFileDoubles else readFileDoublesMN m n1) file) -- >>= print   let n = length vecA0@@ -84,9 +84,9 @@ {-# INLINE soundGen3G #-}  -- | Generates a sequence of sounds with changing timbre. Uses several functions as parameters. To specify how many sounds the resulting files --- will provide, you use first two 'Int64' arguments, the first of which is a number of dropped elements for 'readFileDoubles' and the second one +-- will provide, you use first two 'Int' arguments, the first of which is a number of dropped elements for 'readFileDoubles' and the second one  -- is a number of produced sounds (and, respectively, number of taken elements).-soundGen3GMN :: Int64 -> Int64 -> FilePath -> Float -> String -> ((Float,Float) -> Float -> (Float -> OvertonesO) -> OvertonesO) +soundGen3GMN :: Int -> Int -> FilePath -> Float -> String -> ((Float,Float) -> Float -> (Float -> OvertonesO) -> OvertonesO)    -> ((Float,Float) -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (Float -> OvertonesO) -> IO () soundGen3GMN m n1 file y zs gAdd gRem f0 = do   vecA0 <- fmap (map (`quotRem` 108)) ((if m == (-1) && n1 == (-1) then readFileDoubles else readFileDoublesMN m n1) file) -- >>= print@@ -131,9 +131,9 @@ {-# INLINE soundGen3G_OPar #-}  -- | Generates a sequence of sounds with changing timbre. Uses several functions as parameters. To specify how many sounds the resulting files --- will provide, you use first two 'Int64' arguments, the first of which is a number of dropped elements for 'readFileDoubles' and the second one +-- will provide, you use first two 'Int' arguments, the first of which is a number of dropped elements for 'readFileDoubles' and the second one  -- is a number of produced sounds (and, respectively, number of taken elements).-soundGen3G_OMN :: Int64 -> Int64 -> Int -> Int -> Float -> FilePath -> Float -> String -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) +soundGen3G_OMN :: Int -> Int -> Int -> Int -> Float -> FilePath -> Float -> String -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO)    -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (Int -> OvertonesO) -> (OvertonesO -> OvertonesO) ->      (Float -> OvertonesO) -> IO () soundGen3G_OMN m1 n1 m ku freq1 file y zs gAdds gRems freq0 proj f0 = do@@ -159,7 +159,7 @@  -- | Generalized version of the 'soundGen3G_OMN' where 'liftInParams' is used instead of lifting with the 'liftInEnku'. This allows e. g. to  -- use some tonality. For more information, please, refer to 'filterInParams'.-soundGen3G_OMNPar :: Int64 -> Int64 -> Params -> Float -> FilePath -> Float -> String -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) +soundGen3G_OMNPar :: Int -> Int -> Params -> Float -> FilePath -> Float -> String -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO)    -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (Int -> OvertonesO) -> (OvertonesO -> OvertonesO) ->      (Float -> OvertonesO) -> IO () soundGen3G_OMNPar m1 n1 params freq1 file y zs gAdds gRems freq0 proj f0 = do@@ -223,9 +223,9 @@ {-# INLINE soundGen3G_O2Par #-}  -- | Generates a sequence of sounds with changing timbre. Is a generalized version of the 'soundGen3G_O2'. To specify how many sounds the resulting files --- will provide, you use first two 'Int64' arguments, the first of which is a number of dropped elements for 'readFileDoubles' and the second one +-- will provide, you use first two 'Int' arguments, the first of which is a number of dropped elements for 'readFileDoubles' and the second one  -- is a number of produced sounds (and, respectively, number of taken elements).-soundGen3G_O2MN :: Int64 -> Int64 -> ((Float -> OvertonesO,Int -> Float -> OvertonesO,Int -> Float -> OvertonesO) -> [(Int,Int)] -> +soundGen3G_O2MN :: Int -> Int -> ((Float -> OvertonesO,Int -> Float -> OvertonesO,Int -> Float -> OvertonesO) -> [(Int,Int)] ->    [(Float,Float -> OvertonesO)]) -> Int -> Int -> Float -> FilePath -> Float -> String ->      (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) ->        (Int -> OvertonesO) -> (OvertonesO -> OvertonesO) -> (Float -> OvertonesO) -> IO ()@@ -245,7 +245,7 @@  -- | Generalized version of the 'soundGen3G_O2MN' where 'liftInParams' is used instead of lifting with the 'liftInEnku'. This allows e. g. to  -- use some tonality. For more information, please, refer to 'filterInParams'.-soundGen3G_O2MNPar :: Int64 -> Int64 -> ((Float -> OvertonesO,Int -> Float -> OvertonesO,Int -> Float -> OvertonesO) -> [(Int,Int)] -> [(Float,Float -> OvertonesO)]) -> Params -> Float -> FilePath -> Float -> String -> +soundGen3G_O2MNPar :: Int -> Int -> ((Float -> OvertonesO,Int -> Float -> OvertonesO,Int -> Float -> OvertonesO) -> [(Int,Int)] -> [(Float,Float -> OvertonesO)]) -> Params -> Float -> FilePath -> Float -> String ->      (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) -> (OvertonesO -> Float -> (Float -> OvertonesO) -> OvertonesO) ->        (Int -> OvertonesO) -> (OvertonesO -> OvertonesO) -> (Float -> OvertonesO) -> IO () soundGen3G_O2MNPar m1 n1 conversionFII params freq1 file y zs gAdds gRems freq0 proj f0 = do@@ -285,9 +285,9 @@ {-# INLINE soundGen3G_O2GPar #-}  -- | Generates a sequence of sounds with changing timbre. Is a generalized version of the 'soundGen3G_O2G'. To specify how many sounds the resulting files --- will provide, you use first two 'Int64' arguments, the first of which is a number of dropped elements for 'readFileDoubles' and the second one +-- will provide, you use first two 'Int' arguments, the first of which is a number of dropped elements for 'readFileDoubles' and the second one  -- is a number of produced sounds (and, respectively, number of taken elements).-soundGen3G_O2GMN :: Int64 -> Int64 -> (([(Float -> OvertonesO)],[(Int -> Float -> OvertonesO)],[(Int -> Float -> OvertonesO)]) -> [(Int,Int)] -> +soundGen3G_O2GMN :: Int -> Int -> (([(Float -> OvertonesO)],[(Int -> Float -> OvertonesO)],[(Int -> Float -> OvertonesO)]) -> [(Int,Int)] ->    [(Float,Float -> OvertonesO)]) -> [(Float -> OvertonesO)] -> [(Int -> Float -> OvertonesO)] -> [(Int -> Float -> OvertonesO)] ->      Int -> Int -> Float -> FilePath -> Float -> String -> IO () soundGen3G_O2GMN m1 n1 conversionFII vf vfA vfR m ku freq1 file y zs = do@@ -303,7 +303,7 @@  -- | Generalized version of the 'soundGen3G_O2GMN' where 'liftInParams' is used instead of lifting with the 'liftInEnku'. This allows e. g. to  -- use some tonality. For more information, please, refer to 'filterInParams'.-soundGen3G_O2GMNPar :: Int64 -> Int64 -> (([(Float -> OvertonesO)],[(Int -> Float -> OvertonesO)],[(Int -> Float -> OvertonesO)]) -> [(Int,Int)] -> +soundGen3G_O2GMNPar :: Int -> Int -> (([(Float -> OvertonesO)],[(Int -> Float -> OvertonesO)],[(Int -> Float -> OvertonesO)]) -> [(Int,Int)] ->    [(Float,Float -> OvertonesO)]) -> [(Float -> OvertonesO)] -> [(Int -> Float -> OvertonesO)] -> [(Int -> Float -> OvertonesO)] ->      Params -> Float -> FilePath -> Float -> String -> IO () soundGen3G_O2GMNPar m1 n1 conversionFII vf vfA vfR params freq1 file y zs = do
LICENSE view
@@ -1,4 +1,4 @@-Copyright (c) 2020-2021 OleksandrZhabenko+Copyright (c) 2020-2022 Oleksandr Zhabenko  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the
− README.markdown
@@ -1,15 +0,0 @@-             ***** Basic Info *****-             ======================--Is rewritten from the dobutokO3 package on Hackage (https://hackage.haskell.org/package/dobutokO3) using arrays and list instead of vector-related functionality. --Helps to create (in a more complicated manner compared to algorithmic-composition-basic package) -experimental music from a file (or its part). Can be used to generate sounds -with changing timbre.--Is more complicated than algorithmic-composition-basic and uses its functionality. Uses SoX inside.--The functions are taken and fixed some issues from the package algorithmic-composition-basic-https://hackage.haskell.org/package/algorithmic-composition-basic--
+ README.md view
@@ -0,0 +1,15 @@+             ***** Basic Info *****+             ======================++Is rewritten from the dobutokO3 package on Hackage (https://hackage.haskell.org/package/dobutokO3) using arrays and list instead of vector-related functionality. ++Helps to create (in a more complicated manner compared to algorithmic-composition-basic package) +experimental music from a file (or its part). Can be used to generate sounds +with changing timbre.++Is more complicated than algorithmic-composition-basic and uses its functionality. Uses SoX inside.++The functions are taken and fixed some issues from the package algorithmic-composition-basic+https://hackage.haskell.org/package/algorithmic-composition-basic++
algorithmic-composition-complex.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/  name:                algorithmic-composition-complex-version:             0.1.1.0+version:             0.2.0.0 synopsis:            Helps to create more complex experimental music from a file (especially timbre). description:         Uses SoX inside. homepage:            https://hackage.haskell.org/package/algorithmic-composition-complex@@ -13,13 +13,13 @@ copyright:           Oleksandr Zhabenko category:            Sound, Music build-type:          Simple-extra-source-files:  CHANGELOG.md, README.markdown+extra-source-files:  CHANGELOG.md, README.md cabal-version:       >=1.10  library   exposed-modules:     Composition.Sound.Complex   -- other-modules:   -- other-extensions:-  build-depends:       base >=4.8 && <5, bytestring >= 0.10.6 && <1, process >=1.4 && <1.9, mmsyn3 >=0.1.5 && <1,  directory >=1.2.7 && <1.7, mmsyn7ukr-common >=0.1.1 && <1, mmsyn2-array >=0.1.1 && <1, ukrainian-phonetics-basic-array-bytestring >=0.1 && <1, mmsyn7l >=0.9 && <1, phonetic-languages-simplified-base >=0.2 && <1, foldable-ix >=0.2 && <1, algorithmic-composition-basic >=0.1.1 && <1+  build-depends:       base >=4.8 && <5, process >=1.4 && <2, mmsyn3 ==0.1.6.0,  directory >=1.2.7 && <2, mmsyn7ukr-common ==0.2.0.0, mmsyn2-array ==0.3.0.0, ukrainian-phonetics-basic-array ==0.6.0.0, mmsyn7l ==0.9.1.0, phonetic-languages-simplified-base ==0.6.0.0, foldable-ix ==0.2.1.0, algorithmic-composition-basic ==0.6.0.0   -- hs-source-dirs:   default-language:    Haskell2010