{-# LANGUAGE BangPatterns #-}
{-# OPTIONS_GHC -threaded #-}
module Composition.Sound.Overtones (
overSoXSynthN
, overTones2
, overSoXSynth2
, overSoXSynthN2
, overSoXSynthN3
, overSoXSynthDN
, overSoXSynth2DN
, overSoXSynthNGen
, overSoXSynthNGen2
, overSoXSynthNGen3
, overSoXSynthNGenE
, overSoXSynthNGen2E
, overSoXSynthNGen3E
, overSoXSynthN4G
, overSoXSynthN24G
, overSoXSynthN34G
, overSoXSynthNGenE4G
, overSoXSynthNGen2E4G
, overSoXSynthNGen3E4G
, overSoXSynthN4GS
, overSoXSynthN24GS
, overSoXSynthN34GS
, overSoXSynthNGenE4GS
, overSoXSynthNGen2E4GS
, overSoXSynthNGen3E4GS
, overSoXSynthN35G
, overSoXSynthNGen3E5G
, overSoXSynthN35GS
, overSoXSynthNGen3E5GS
, overSoXSynthNGen3E6G
, overSoXSynthNGen3E6GS
, overSoXSynthNGen3E6GSu
, overSoXSynthNGenEPar
, overSoXSynthNGenE4GSPar
, overSoXSynthNGenE4GPar
, overSoXSynthNGen2EPar
, overSoXSynthNGen2E4GSPar
, overSoXSynthNGen2E4GPar
, overSoXSynthNGen3EPar
, overSoXSynthNGen3E4GSPar
, overSoXSynthNGen3E4GPar
, overSoXSynthNGen3E5GPar
, overSoXSynthNGen3E5GSPar
, overSoXSynthNGen3E6GPar
, overSoXSynthNGen3E6GSPar
, overSoXSynthNGen3E6GSuPar
) where
import Numeric (showFFloat)
import Data.List (isPrefixOf,sort)
import Data.Maybe (isNothing,fromJust,maybe)
import GHC.Arr
import qualified Data.Foldable as F
import System.Process
import EndOfExe (showE)
import System.Directory
import Melodics.Ukrainian.ArrInt8 (convertToProperUkrainianI8)
import Composition.Sound.Functional.Basics
import Composition.Sound.Functional.Params
import Composition.Sound.DIS5G6G
overTones2 :: Float -> String -> OvertonesO
overTones2 :: Float -> String -> OvertonesO
overTones2 Float
note String
ts =
((Float, Float) -> Bool) -> OvertonesO -> OvertonesO
forall a. (a -> Bool) -> [a] -> [a]
takeWhile (\(!Float
w,!Float
z) -> Float
w Float -> Float -> Bool
forall a. Ord a => a -> a -> Bool
<= Array Int Float -> Int -> Float
forall i e. Array i e -> Int -> e
unsafeAt Array Int Float
notes Int
107 Bool -> Bool -> Bool
&& Float -> Float
forall a. Num a => a -> a
abs Float
z Float -> Float -> Bool
forall a. Ord a => a -> a -> Bool
> Float
0.001) (OvertonesO -> OvertonesO)
-> ([Int] -> OvertonesO) -> [Int] -> OvertonesO
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Float, Float) -> Bool) -> OvertonesO -> OvertonesO
forall a. (a -> Bool) -> [a] -> [a]
filter (\(Float
_, Float
t4) -> Float
t4 Float -> Float -> Bool
forall a. Eq a => a -> a -> Bool
/= Float
0.0) (OvertonesO -> OvertonesO)
-> ([Int] -> OvertonesO) -> [Int] -> OvertonesO
forall b c a. (b -> c) -> (a -> b) -> a -> c
.
(Int -> (Float, Float)) -> [Int] -> OvertonesO
forall a b. (a -> b) -> [a] -> [b]
map (\Int
i -> (Float
note Float -> Float -> Float
forall a. Num a => a -> a -> a
* Int -> Float
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int
i Int -> Int -> Int
forall a. Num a => a -> a -> a
+ Int
2), Int -> Float
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Array Int Int -> Int -> Int
forall i e. Array i e -> Int -> e
unsafeAt (Int -> String -> Array Int Int
signsFromString Int
1024 String
ts)
(Int
i Int -> Int -> Int
forall a. Num a => a -> a -> a
+ Int
1)) Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/ Int -> Float
forall a b. (Integral a, Num b) => a -> b
fromIntegral ((Int
i Int -> Int -> Int
forall a. Num a => a -> a -> a
+ Int
1) Int -> Int -> Int
forall a. Num a => a -> a -> a
* (Int
i Int -> Int -> Int
forall a. Num a => a -> a -> a
+ Int
1)))) ([Int] -> OvertonesO) -> [Int] -> OvertonesO
forall a b. (a -> b) -> a -> b
$ [Int
0..Int
1023]
overSoXSynthDN :: Float -> String -> IO ()
overSoXSynthDN :: Float -> String -> IO ()
overSoXSynthDN Float
x = Float -> Float -> String -> IO ()
overSoXSynth2DN Float
x Float
0.5
{-# INLINE overSoXSynthDN #-}
overSoXSynthHelp :: OvertonesO -> IO ()
overSoXSynthHelp :: OvertonesO -> IO ()
overSoXSynthHelp = ((Integer, (Float, Float)) -> IO (ExitCode, String, String))
-> [(Integer, (Float, Float))] -> IO ()
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
(a -> m b) -> t a -> m ()
mapM_ (\(Integer
i, (Float
noteN, !Float
amplN)) -> String -> [String] -> String -> IO (ExitCode, String, String)
readProcessWithExitCode (Maybe String -> String
forall a. HasCallStack => Maybe a -> a
fromJust (String -> Maybe String
showE String
"sox"))
[String
"-r22050", String
"-n", String
"test0" String -> String -> String
forall a. [a] -> [a] -> [a]
++ Integer -> String
forall a. Show a => a -> String
show (Integer
i Integer -> Integer -> Integer
forall a. Num a => a -> a -> a
+ Integer
2) String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
".wav", String
"synth", String
"0.5",String
"sine", Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) Float
noteN String
"",
String
"vol", Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) Float
amplN String
""] String
"") ([(Integer, (Float, Float))] -> IO ())
-> (OvertonesO -> [(Integer, (Float, Float))])
-> OvertonesO
-> IO ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Integer] -> OvertonesO -> [(Integer, (Float, Float))]
forall a b. [a] -> [b] -> [(a, b)]
zip [Integer
0..]
overSoXSynthHelp2 :: OvertonesO -> IO ()
overSoXSynthHelp2 :: OvertonesO -> IO ()
overSoXSynthHelp2 = ((Integer, (Float, Float)) -> IO (ExitCode, String, String))
-> [(Integer, (Float, Float))] -> IO ()
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
(a -> m b) -> t a -> m ()
mapM_ (\(Integer
i, (Float
noteN, !Float
amplN)) -> String -> [String] -> String -> IO (ExitCode, String, String)
readProcessWithExitCode (Maybe String -> String
forall a. HasCallStack => Maybe a -> a
fromJust (String -> Maybe String
showE String
"sox"))
[String
"-r22050", String
"-n", String
"test1" String -> String -> String
forall a. [a] -> [a] -> [a]
++ Integer -> String
forall a. Show a => a -> String
show (Integer
i Integer -> Integer -> Integer
forall a. Num a => a -> a -> a
+ Integer
2) String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
".wav", String
"synth", String
"0.5",String
"sine", Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) Float
noteN String
"",
String
"vol", Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) Float
amplN String
""] String
"") ([(Integer, (Float, Float))] -> IO ())
-> (OvertonesO -> [(Integer, (Float, Float))])
-> OvertonesO
-> IO ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Integer] -> OvertonesO -> [(Integer, (Float, Float))]
forall a b. [a] -> [b] -> [(a, b)]
zip [Integer
0..]
overSoXSynth2DN :: Float -> Float -> String -> IO ()
overSoXSynth2DN :: Float -> Float -> String -> IO ()
overSoXSynth2DN Float
x Float
y String
zs
| [Sound8] -> Bool
forall (t :: * -> *) a. Foldable t => t a -> Bool
null ([Sound8] -> Bool) -> (String -> [Sound8]) -> String -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> [Sound8]
convertToProperUkrainianI8 (String -> Bool) -> String -> Bool
forall a b. (a -> b) -> a -> b
$ String
zs = Float -> IO ()
overSoXSynth Float
x
| Bool
otherwise = do
let note0 :: Float
note0 = Float -> Float
closestNote Float
x
note1 :: Maybe Float
note1 = Int -> Float -> Maybe Float
dNote (Array Int Int -> Int -> Int
forall i e. Array i e -> Int -> e
unsafeAt (String -> Array Int Int
intervalsFromString String
zs) Int
0) Float
note0
v0 :: OvertonesO
v0 = Float -> OvertonesO
overTones Float
note0
v1 :: OvertonesO
v1 = OvertonesO -> (Float -> OvertonesO) -> Maybe Float -> OvertonesO
forall b a. b -> (a -> b) -> Maybe a -> b
maybe [] Float -> OvertonesO
overTones Maybe Float
note1
(ExitCode, String, String)
_ <- String -> [String] -> String -> IO (ExitCode, String, String)
readProcessWithExitCode (Maybe String -> String
forall a. HasCallStack => Maybe a -> a
fromJust (String -> Maybe String
showE String
"sox")) [String
"-r22050", String
"-n", String
"testA.wav", String
"synth", Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) Float
y String
"",String
"sine",
Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) Float
note0 String
"", String
"vol",String
"0.5"] String
""
if Maybe Float -> Bool
forall a. Maybe a -> Bool
isNothing Maybe Float
note1 then OvertonesO -> IO ()
overSoXSynthHelp OvertonesO
v0
else do
(ExitCode, String, String)
_ <- String -> [String] -> String -> IO (ExitCode, String, String)
readProcessWithExitCode (Maybe String -> String
forall a. HasCallStack => Maybe a -> a
fromJust (String -> Maybe String
showE String
"sox")) [String
"-r22050", String
"-n", String
"testB.wav", String
"synth", Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) Float
y String
"",String
"sine",
Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) (Maybe Float -> Float
forall a. HasCallStack => Maybe a -> a
fromJust Maybe Float
note1) String
"", String
"vol",String
"0.5"] String
""
OvertonesO -> IO ()
overSoXSynthHelp OvertonesO
v0
OvertonesO -> IO ()
overSoXSynthHelp2 OvertonesO
v1
IO ()
mixTest
overSoXSynth2 :: Float -> String -> IO ()
overSoXSynth2 :: Float -> String -> IO ()
overSoXSynth2 Float
x String
tts = do
let note0 :: Float
note0 = Float -> Float
closestNote Float
x
note1 :: Float
note1 = Float -> Float
pureQuintNote Float
note0
v0 :: OvertonesO
v0 = Float -> String -> OvertonesO
overTones2 Float
note0 String
tts
v1 :: OvertonesO
v1 = Float -> String -> OvertonesO
overTones2 Float
note1 String
tts
(ExitCode, String, String)
_ <- String -> [String] -> String -> IO (ExitCode, String, String)
readProcessWithExitCode (Maybe String -> String
forall a. HasCallStack => Maybe a -> a
fromJust (String -> Maybe String
showE String
"sox")) [String
"-r22050", String
"-n", String
"test01.wav", String
"synth", String
"0.5",String
"sine", Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) Float
note0 String
"",
String
"synth", String
"0.5",String
"sine", String
"mix", Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) Float
note1 String
"", String
"vol",String
"0.5"] String
""
OvertonesO -> IO ()
overSoXSynthHelp OvertonesO
v0
OvertonesO -> IO ()
overSoXSynthHelp2 OvertonesO
v1
IO ()
mixTest
overSoXSynthN :: Int -> Float -> Float -> String -> [Float] -> IO ()
overSoXSynthN :: Int -> Float -> Float -> String -> [Float] -> IO ()
overSoXSynthN Int
n Float
ampL Float
time3 String
zs = Int -> Float -> Array Int Float -> [Float] -> IO ()
overSoXSynthN4G Int
n Float
ampL (Int -> String -> Float -> Array Int Float
str2DurationsDef Int
n String
zs Float
time3)
{-# INLINE overSoXSynthN #-}
overSoXSynthHelpN :: Int -> Int -> Int -> Float -> Durations -> OvertonesO -> IO ()
overSoXSynthHelpN :: Int
-> Int -> Int -> Float -> Array Int Float -> OvertonesO -> IO ()
overSoXSynthHelpN Int
j Int
m Int
zeroN Float
ampL Array Int Float
v21 = ((Integer, (Float, Float)) -> IO (ExitCode, String, String))
-> [(Integer, (Float, Float))] -> IO ()
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
(a -> m b) -> t a -> m ()
mapM_ (\(Integer
i, (Float
noteN, !Float
amplN)) -> String -> [String] -> String -> IO (ExitCode, String, String)
readProcessWithExitCode (Maybe String -> String
forall a. HasCallStack => Maybe a -> a
fromJust (String -> Maybe String
showE String
"sox"))
[String
"-r22050", String
"-n", String
"test" String -> String -> String
forall a. [a] -> [a] -> [a]
++ Int -> String -> String
prependZeroes Int
zeroN (Integer -> String
forall a. Show a => a -> String
show (Integer
i Integer -> Integer -> Integer
forall a. Num a => a -> a -> a
+ Integer
2)) String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
".wav", String
"synth", Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) (Float -> Float
forall a. Num a => a -> a
abs (Array Int Float -> Int -> Float
forall i e. Array i e -> Int -> e
unsafeAt Array Int Float
v21 (Int
j Int -> Int -> Int
forall a. Integral a => a -> a -> a
`rem` Int
m))) String
"",
String
"sine",Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) Float
noteN String
"", String
"vol", if (Array Int Float -> Int -> Float
forall i e. Array i e -> Int -> e
unsafeAt Array Int Float
v21 (Int
j Int -> Int -> Int
forall a. Integral a => a -> a -> a
`rem` Int
m)) Float -> Float -> Bool
forall a. Ord a => a -> a -> Bool
> Float
0.0
then Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) (Float
amplN Float -> Float -> Float
forall a. Num a => a -> a -> a
* Float
ampL) String
"" else String
"0"] String
"") ([(Integer, (Float, Float))] -> IO ())
-> (OvertonesO -> [(Integer, (Float, Float))])
-> OvertonesO
-> IO ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Integer] -> OvertonesO -> [(Integer, (Float, Float))]
forall a b. [a] -> [b] -> [(a, b)]
zip [Integer
0..]
overSoXSynthHelpN2 :: Int -> Int -> Int -> Float -> Durations -> OvertonesO -> IO ()
overSoXSynthHelpN2 :: Int
-> Int -> Int -> Float -> Array Int Float -> OvertonesO -> IO ()
overSoXSynthHelpN2 Int
j Int
m Int
zeroN Float
ampL Array Int Float
v21 = ((Integer, (Float, Float)) -> IO (ExitCode, String, String))
-> [(Integer, (Float, Float))] -> IO ()
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
(a -> m b) -> t a -> m ()
mapM_ (\(Integer
i, (Float
noteN, !Float
amplN)) -> String -> [String] -> String -> IO (ExitCode, String, String)
readProcessWithExitCode (Maybe String -> String
forall a. HasCallStack => Maybe a -> a
fromJust (String -> Maybe String
showE String
"sox"))
[String
"-r22050", String
"-n", String
"testQ" String -> String -> String
forall a. [a] -> [a] -> [a]
++ Int -> String -> String
prependZeroes Int
zeroN (Integer -> String
forall a. Show a => a -> String
show (Integer
i Integer -> Integer -> Integer
forall a. Num a => a -> a -> a
+ Integer
2)) String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
".wav", String
"synth", Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) (Float -> Float
forall a. Num a => a -> a
abs (Array Int Float -> Int -> Float
forall i e. Array i e -> Int -> e
unsafeAt Array Int Float
v21 (Int
j Int -> Int -> Int
forall a. Integral a => a -> a -> a
`rem` Int
m))) String
"",
String
"sine", Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) Float
noteN String
"", String
"vol", if Array Int Float -> Int -> Float
forall i e. Array i e -> Int -> e
unsafeAt Array Int Float
v21 (Int
j Int -> Int -> Int
forall a. Integral a => a -> a -> a
`rem` Int
m) Float -> Float -> Bool
forall a. Ord a => a -> a -> Bool
> Float
0.0 then Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) (Float
amplN Float -> Float -> Float
forall a. Num a => a -> a -> a
* Float
ampL) String
"" else String
"0"] String
"") ([(Integer, (Float, Float))] -> IO ())
-> (OvertonesO -> [(Integer, (Float, Float))])
-> OvertonesO
-> IO ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Integer] -> OvertonesO -> [(Integer, (Float, Float))]
forall a b. [a] -> [b] -> [(a, b)]
zip [Integer
0..]
soxSynthHelpMain :: Int
-> Int
-> Int
-> Array i a
-> a
-> a
-> IO (ExitCode, String, String)
soxSynthHelpMain Int
j Int
m Int
zeroN Array i a
v21 a
note01 a
note02 = String -> [String] -> String -> IO (ExitCode, String, String)
readProcessWithExitCode (Maybe String -> String
forall a. HasCallStack => Maybe a -> a
fromJust (String -> Maybe String
showE String
"sox")) [String
"-r22050", String
"-n",
String
"testA" String -> String -> String
forall a. [a] -> [a] -> [a]
++ Int -> String -> String
prependZeroes Int
zeroN String
"1" String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
".wav", String
"synth", Maybe Int -> a -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) (a -> a
forall a. Num a => a -> a
abs (Array i a -> Int -> a
forall i e. Array i e -> Int -> e
unsafeAt Array i a
v21 (Int
j Int -> Int -> Int
forall a. Integral a => a -> a -> a
`rem` Int
m))) String
"",String
"sine",
Maybe Int -> a -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) a
note01 String
"", String
"synth", Maybe Int -> a -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) (a -> a
forall a. Num a => a -> a
abs (Array i a -> Int -> a
forall i e. Array i e -> Int -> e
unsafeAt Array i a
v21 (Int
j Int -> Int -> Int
forall a. Integral a => a -> a -> a
`rem` Int
m))) String
"",String
"sine", String
"mix",
Maybe Int -> a -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) a
note02 String
"", String
"vol", if Array i a -> Int -> a
forall i e. Array i e -> Int -> e
unsafeAt Array i a
v21 (Int
j Int -> Int -> Int
forall a. Integral a => a -> a -> a
`rem` Int
m) a -> a -> Bool
forall a. Ord a => a -> a -> Bool
> a
0.0 then String
"0.5" else String
"0"] String
""
overSoXSynthN4G :: Int -> Float -> Durations -> [Float] -> IO ()
overSoXSynthN4G :: Int -> Float -> Array Int Float -> [Float] -> IO ()
overSoXSynthN4G Int
n Float
ampL Array Int Float
v2 [Float]
vec0
| (Float -> Bool) -> Array Int Float -> Bool
forall (t :: * -> *) a. Foldable t => (a -> Bool) -> t a -> Bool
F.all (Float -> Float -> Bool
forall a. Eq a => a -> a -> Bool
== Float
0.0) Array Int Float
v2 = String -> IO ()
putStrLn String
"Composition.Sound.Overtones.overSoXSynthN4G: You provided no valid durations data! "
| Float -> Float
forall a. Num a => a -> a
abs Float
ampL Float -> Float -> Bool
forall a. Ord a => a -> a -> Bool
>= Float
0.01 Bool -> Bool -> Bool
&& Float -> Float
forall a. Num a => a -> a
abs Float
ampL Float -> Float -> Bool
forall a. Ord a => a -> a -> Bool
<= Float
1.0 =
let zeroN :: Int
zeroN = [Float] -> Int
forall a. [a] -> Int
numVZeroesPre [Float]
vec0
v21 :: Array Int Float
v21 = (\[Float]
rs -> (Int, Int) -> [Float] -> Array Int Float
forall i e. Ix i => (i, i) -> [e] -> Array i e
listArray (Int
0,[Float] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length [Float]
rs Int -> Int -> Int
forall a. Num a => a -> a -> a
-Int
1) [Float]
rs) ([Float] -> Array Int Float)
-> (Array Int Float -> [Float])
-> Array Int Float
-> Array Int Float
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Float -> Bool) -> [Float] -> [Float]
forall a. (a -> Bool) -> [a] -> [a]
filter (Float -> Float -> Bool
forall a. Eq a => a -> a -> Bool
/=Float
0.0) ([Float] -> [Float])
-> (Array Int Float -> [Float]) -> Array Int Float -> [Float]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Array Int Float -> [Float]
forall i e. Array i e -> [e]
elems (Array Int Float -> Array Int Float)
-> Array Int Float -> Array Int Float
forall a b. (a -> b) -> a -> b
$ Array Int Float
v2
m :: Int
m = Array Int Float -> Int
forall i e. Array i e -> Int
numElements Array Int Float
v2 in ((Int, Float) -> IO ()) -> [(Int, Float)] -> IO ()
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
(a -> m b) -> t a -> m ()
mapM_ (\(Int
j, Float
x) -> do
let note0 :: Float
note0 = Float -> Float
closestNote Float
x
note1 :: Float
note1 = Float -> Float
pureQuintNote Float
note0
v0 :: OvertonesO
v0 = Float -> OvertonesO
overTones Float
note0
v1 :: OvertonesO
v1 = Float -> OvertonesO
overTones Float
note1
(ExitCode, String, String)
_ <- Int
-> Int
-> Int
-> Array Int Float
-> Float
-> Float
-> IO (ExitCode, String, String)
forall a a a i.
(RealFloat a, RealFloat a, RealFloat a) =>
Int
-> Int
-> Int
-> Array i a
-> a
-> a
-> IO (ExitCode, String, String)
soxSynthHelpMain Int
j Int
m Int
zeroN Array Int Float
v21 Float
note0 Float
note1
Int
-> Int -> Int -> Float -> Array Int Float -> OvertonesO -> IO ()
overSoXSynthHelpN Int
j Int
m Int
zeroN Float
ampL Array Int Float
v21 OvertonesO
v0
Int
-> Int -> Int -> Float -> Array Int Float -> OvertonesO -> IO ()
overSoXSynthHelpN2 Int
j Int
m Int
zeroN Float
ampL Array Int Float
v21 OvertonesO
v1
Int -> Int -> IO ()
mixTest2 Int
zeroN Int
j) ([(Int, Float)] -> IO ())
-> ([Float] -> [(Int, Float)]) -> [Float] -> IO ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Int] -> [Float] -> [(Int, Float)]
forall a b. [a] -> [b] -> [(a, b)]
zip [Int
0..] ([Float] -> IO ()) -> [Float] -> IO ()
forall a b. (a -> b) -> a -> b
$ [Float]
vec0
| Bool
otherwise = let ampL1 :: Float
ampL1 = Float
ampL Float -> Float -> Float
forall a. Num a => a -> a -> a
- (Integer -> Float
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Integer -> Float) -> (Float -> Integer) -> Float -> Float
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Float -> Integer
forall a b. (RealFrac a, Integral b) => a -> b
truncate (Float -> Float) -> Float -> Float
forall a b. (a -> b) -> a -> b
$ Float
ampL) in
if Float -> Float
forall a. Num a => a -> a
abs Float
ampL1 Float -> Float -> Bool
forall a. Ord a => a -> a -> Bool
< Float
0.01 then Int -> Float -> Array Int Float -> [Float] -> IO ()
overSoXSynthN4G Int
n Float
0.01 Array Int Float
v2 [Float]
vec0
else Int -> Float -> Array Int Float -> [Float] -> IO ()
overSoXSynthN4G Int
n Float
ampL1 Array Int Float
v2 [Float]
vec0
overSoXSynthN4GS :: Int -> Float -> Float -> String -> [Float] -> IO ()
overSoXSynthN4GS :: Int -> Float -> Float -> String -> [Float] -> IO ()
overSoXSynthN4GS Int
n Float
ampL Float
time3 String
zs = Int -> Float -> Array Int Float -> [Float] -> IO ()
overSoXSynthN4G Int
n Float
ampL (String -> Float -> Array Int Float
str2Durations String
zs Float
time3)
{-# INLINE overSoXSynthN4GS #-}
overSoXSynthN2 :: Int -> Float -> Float -> String -> String -> [Float] -> IO ()
overSoXSynthN2 :: Int -> Float -> Float -> String -> String -> [Float] -> IO ()
overSoXSynthN2 Int
n Float
ampL Float
time3 String
zs = Int -> Float -> Array Int Float -> String -> [Float] -> IO ()
overSoXSynthN24G Int
n Float
ampL (Int -> String -> Float -> Array Int Float
str2DurationsDef Int
n String
zs Float
time3)
{-# INLINE overSoXSynthN2 #-}
overSoXSynthN24G :: Int -> Float -> Durations -> String -> [Float] -> IO ()
overSoXSynthN24G :: Int -> Float -> Array Int Float -> String -> [Float] -> IO ()
overSoXSynthN24G Int
n Float
ampL Array Int Float
v2 String
tts [Float]
vec0
| (Float -> Bool) -> Array Int Float -> Bool
forall (t :: * -> *) a. Foldable t => (a -> Bool) -> t a -> Bool
F.all (Float -> Float -> Bool
forall a. Eq a => a -> a -> Bool
== Float
0.0) Array Int Float
v2 = String -> IO ()
putStrLn String
"Composition.Sound.Overtones.overSoXSynthN24G: You provided no valid durations data! "
| Float -> Float
forall a. Num a => a -> a
abs Float
ampL Float -> Float -> Bool
forall a. Ord a => a -> a -> Bool
>= Float
0.01 Bool -> Bool -> Bool
&& Float -> Float
forall a. Num a => a -> a
abs Float
ampL Float -> Float -> Bool
forall a. Ord a => a -> a -> Bool
<= Float
1.0 =
let v21 :: Array Int Float
v21 = (\[Float]
rs -> (Int, Int) -> [Float] -> Array Int Float
forall i e. Ix i => (i, i) -> [e] -> Array i e
listArray (Int
0,[Float] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length [Float]
rs Int -> Int -> Int
forall a. Num a => a -> a -> a
- Int
1) [Float]
rs) ([Float] -> Array Int Float)
-> (Array Int Float -> [Float])
-> Array Int Float
-> Array Int Float
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Float -> Bool) -> [Float] -> [Float]
forall a. (a -> Bool) -> [a] -> [a]
filter (Float -> Float -> Bool
forall a. Eq a => a -> a -> Bool
/= Float
0.0) ([Float] -> [Float])
-> (Array Int Float -> [Float]) -> Array Int Float -> [Float]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Array Int Float -> [Float]
forall i e. Array i e -> [e]
elems (Array Int Float -> Array Int Float)
-> Array Int Float -> Array Int Float
forall a b. (a -> b) -> a -> b
$ Array Int Float
v2
zeroN :: Int
zeroN = [Float] -> Int
forall a. [a] -> Int
numVZeroesPre [Float]
vec0
m :: Int
m = Array Int Float -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length Array Int Float
v21 in ((Int, Float) -> IO ()) -> [(Int, Float)] -> IO ()
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
(a -> m b) -> t a -> m ()
mapM_ (\(Int
j, Float
x) -> do
let note0 :: Float
note0 = Float -> Float
closestNote Float
x
note1 :: Float
note1 = Float -> Float
pureQuintNote Float
note0
v0 :: OvertonesO
v0 = Float -> String -> OvertonesO
overTones2 Float
note0 String
tts
v1 :: OvertonesO
v1 = Float -> String -> OvertonesO
overTones2 Float
note1 String
tts
(ExitCode, String, String)
_ <- Int
-> Int
-> Int
-> Array Int Float
-> Float
-> Float
-> IO (ExitCode, String, String)
forall a a a i.
(RealFloat a, RealFloat a, RealFloat a) =>
Int
-> Int
-> Int
-> Array i a
-> a
-> a
-> IO (ExitCode, String, String)
soxSynthHelpMain Int
j Int
m Int
zeroN Array Int Float
v21 Float
note0 Float
note1
Int
-> Int -> Int -> Float -> Array Int Float -> OvertonesO -> IO ()
overSoXSynthHelpN Int
j Int
m Int
zeroN Float
ampL Array Int Float
v21 OvertonesO
v0
Int
-> Int -> Int -> Float -> Array Int Float -> OvertonesO -> IO ()
overSoXSynthHelpN2 Int
j Int
m Int
zeroN Float
ampL Array Int Float
v21 OvertonesO
v1
Int -> Int -> IO ()
mixTest2 Int
zeroN Int
j) ([(Int, Float)] -> IO ())
-> ([Float] -> [(Int, Float)]) -> [Float] -> IO ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Int] -> [Float] -> [(Int, Float)]
forall a b. [a] -> [b] -> [(a, b)]
zip [Int
0..] ([Float] -> IO ()) -> [Float] -> IO ()
forall a b. (a -> b) -> a -> b
$ [Float]
vec0
| Bool
otherwise = let ampL1 :: Float
ampL1 = Float
ampL Float -> Float -> Float
forall a. Num a => a -> a -> a
- (Integer -> Float
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Integer -> Float) -> (Float -> Integer) -> Float -> Float
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Float -> Integer
forall a b. (RealFrac a, Integral b) => a -> b
truncate (Float -> Float) -> Float -> Float
forall a b. (a -> b) -> a -> b
$ Float
ampL) in
if Float -> Float
forall a. Num a => a -> a
abs Float
ampL1 Float -> Float -> Bool
forall a. Ord a => a -> a -> Bool
< Float
0.01 then Int -> Float -> Array Int Float -> String -> [Float] -> IO ()
overSoXSynthN24G Int
n Float
0.01 Array Int Float
v2 String
tts [Float]
vec0
else Int -> Float -> Array Int Float -> String -> [Float] -> IO ()
overSoXSynthN24G Int
n Float
ampL1 Array Int Float
v2 String
tts [Float]
vec0
overSoXSynthN24GS :: Int -> Float -> Float -> String -> String -> [Float] -> IO ()
overSoXSynthN24GS :: Int -> Float -> Float -> String -> String -> [Float] -> IO ()
overSoXSynthN24GS Int
n Float
ampL Float
time3 String
zs = Int -> Float -> Array Int Float -> String -> [Float] -> IO ()
overSoXSynthN24G Int
n Float
ampL (String -> Float -> Array Int Float
str2Durations String
zs Float
time3)
{-# INLINE overSoXSynthN24GS #-}
overSoXSynthN3 :: Int -> Float -> Float -> Float -> String -> String -> String -> [Float] -> IO ()
overSoXSynthN3 :: Int
-> Float
-> Float
-> Float
-> String
-> String
-> String
-> [Float]
-> IO ()
overSoXSynthN3 Int
n Float
ampL Float
time3 Float
dAmpl String
zs = Int
-> Float
-> Float
-> Array Int Float
-> String
-> String
-> [Float]
-> IO ()
overSoXSynthN34G Int
n Float
ampL Float
dAmpl (Int -> String -> Float -> Array Int Float
str2DurationsDef Int
n String
zs Float
time3)
{-# INLINE overSoXSynthN3 #-}
overSoXSynthN34G :: Int -> Float -> Float -> Durations -> String -> String -> [Float] -> IO ()
overSoXSynthN34G :: Int
-> Float
-> Float
-> Array Int Float
-> String
-> String
-> [Float]
-> IO ()
overSoXSynthN34G Int
n Float
ampL Float
dAmpl Array Int Float
v2 String
tts String
vs [Float]
vec0
| (Float -> Bool) -> Array Int Float -> Bool
forall (t :: * -> *) a. Foldable t => (a -> Bool) -> t a -> Bool
F.all (Float -> Float -> Bool
forall a. Eq a => a -> a -> Bool
== Float
0.0) Array Int Float
v2 = String -> IO ()
putStrLn String
"Composition.Sound.Overtones.overSoXSynthN34G: You provided no valid durations data! "
| Float -> Float
forall a. Num a => a -> a
abs Float
ampL Float -> Float -> Bool
forall a. Ord a => a -> a -> Bool
>= Float
0.01 Bool -> Bool -> Bool
&& Float -> Float
forall a. Num a => a -> a
abs Float
ampL Float -> Float -> Bool
forall a. Ord a => a -> a -> Bool
<= Float
1.0 =
let v21 :: Array Int Float
v21 = (\[Float]
rs -> (Int, Int) -> [Float] -> Array Int Float
forall i e. Ix i => (i, i) -> [e] -> Array i e
listArray (Int
0,[Float] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length [Float]
rs Int -> Int -> Int
forall a. Num a => a -> a -> a
-Int
1) [Float]
rs) ([Float] -> Array Int Float)
-> (Array Int Float -> [Float])
-> Array Int Float
-> Array Int Float
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Float -> Bool) -> [Float] -> [Float]
forall a. (a -> Bool) -> [a] -> [a]
filter (Float -> Float -> Bool
forall a. Eq a => a -> a -> Bool
/= Float
0.0) ([Float] -> [Float])
-> (Array Int Float -> [Float]) -> Array Int Float -> [Float]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Array Int Float -> [Float]
forall i e. Array i e -> [e]
elems (Array Int Float -> Array Int Float)
-> Array Int Float -> Array Int Float
forall a b. (a -> b) -> a -> b
$ Array Int Float
v2
m :: Int
m = Array Int Float -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length Array Int Float
v21
zeroN :: Int
zeroN = [Float] -> Int
forall a. [a] -> Int
numVZeroesPre [Float]
vec0
v3 :: Array Int Int
v3 = String -> Array Int Int
intervalsFromString String
vs
l :: Int
l = String -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length String
vs in ((Int, Float) -> IO ()) -> [(Int, Float)] -> IO ()
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
(a -> m b) -> t a -> m ()
mapM_ (\(Int
j, Float
x) -> do
let note0 :: Float
note0 = Float -> Float
closestNote Float
x
note1 :: Maybe Float
note1 = Int -> Float -> Maybe Float
dNote (Array Int Int -> Int -> Int
forall i e. Array i e -> Int -> e
unsafeAt Array Int Int
v3 (Int
j Int -> Int -> Int
forall a. Integral a => a -> a -> a
`rem` Int
l)) Float
note0
v0 :: OvertonesO
v0 = Float -> String -> OvertonesO
overTones2 Float
note0 String
tts
v1 :: OvertonesO
v1 = if Maybe Float -> Bool
forall a. Maybe a -> Bool
isNothing Maybe Float
note1 then []
else Float -> String -> OvertonesO
overTones2 (Maybe Float -> Float
forall a. HasCallStack => Maybe a -> a
fromJust Maybe Float
note1) String
tts
overSoXSynthHelpN1 :: OvertonesO -> IO ()
overSoXSynthHelpN1 = ((Integer, (Float, Float)) -> IO (ExitCode, String, String))
-> [(Integer, (Float, Float))] -> IO ()
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
(a -> m b) -> t a -> m ()
mapM_ (\(Integer
i, (Float
noteN, !Float
amplN)) -> String -> [String] -> String -> IO (ExitCode, String, String)
readProcessWithExitCode (Maybe String -> String
forall a. HasCallStack => Maybe a -> a
fromJust (String -> Maybe String
showE String
"sox"))
[String
"-r22050", String
"-n", String
"test" String -> String -> String
forall a. [a] -> [a] -> [a]
++ Int -> String -> String
prependZeroes Int
zeroN (Integer -> String
forall a. Show a => a -> String
show (Integer
i Integer -> Integer -> Integer
forall a. Num a => a -> a -> a
+ Integer
2)) String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
".wav", String
"synth", Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) (Float -> Float
forall a. Num a => a -> a
abs (Array Int Float -> Int -> Float
forall i e. Array i e -> Int -> e
unsafeAt Array Int Float
v21 (Int
j Int -> Int -> Int
forall a. Integral a => a -> a -> a
`rem` Int
m))) String
"",
String
"sine",Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) Float
noteN String
"", String
"vol", if Array Int Float -> Int -> Float
forall i e. Array i e -> Int -> e
unsafeAt Array Int Float
v21 (Int
j Int -> Int -> Int
forall a. Integral a => a -> a -> a
`rem` Int
m) Float -> Float -> Bool
forall a. Ord a => a -> a -> Bool
> Float
0.0 then Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) (Float
amplN Float -> Float -> Float
forall a. Num a => a -> a -> a
* Float
ampL) String
"" else String
"0"] String
"") ([(Integer, (Float, Float))] -> IO ())
-> (OvertonesO -> [(Integer, (Float, Float))])
-> OvertonesO
-> IO ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Integer] -> OvertonesO -> [(Integer, (Float, Float))]
forall a b. [a] -> [b] -> [(a, b)]
zip [Integer
0..]
overSoXSynthHelpN22 :: OvertonesO -> IO ()
overSoXSynthHelpN22 = ((Integer, (Float, Float)) -> IO (ExitCode, String, String))
-> [(Integer, (Float, Float))] -> IO ()
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
(a -> m b) -> t a -> m ()
mapM_ (\(Integer
i, (Float
noteN, !Float
amplN)) -> String -> [String] -> String -> IO (ExitCode, String, String)
readProcessWithExitCode (Maybe String -> String
forall a. HasCallStack => Maybe a -> a
fromJust (String -> Maybe String
showE String
"sox"))
[String
"-r22050", String
"-n", String
"testQ" String -> String -> String
forall a. [a] -> [a] -> [a]
++ Int -> String -> String
prependZeroes Int
zeroN (Integer -> String
forall a. Show a => a -> String
show (Integer
i Integer -> Integer -> Integer
forall a. Num a => a -> a -> a
+ Integer
2)) String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
".wav", String
"synth", Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) (Float -> Float
forall a. Num a => a -> a
abs (Array Int Float -> Int -> Float
forall i e. Array i e -> Int -> e
unsafeAt Array Int Float
v21 (Int
j Int -> Int -> Int
forall a. Integral a => a -> a -> a
`rem` Int
m))) String
"",
String
"sine", Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) Float
noteN String
"", String
"vol", if Array Int Float -> Int -> Float
forall i e. Array i e -> Int -> e
unsafeAt Array Int Float
v21 (Int
j Int -> Int -> Int
forall a. Integral a => a -> a -> a
`rem` Int
m) Float -> Float -> Bool
forall a. Ord a => a -> a -> Bool
> Float
0.0 then Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) (if Float
dAmpl Float -> Float -> Float
forall a. Num a => a -> a -> a
* Float
amplN Float -> Float -> Float
forall a. Num a => a -> a -> a
* Float
ampL Float -> Float -> Bool
forall a. Ord a => a -> a -> Bool
> Float
1.0 then Float
1.0
else Float
dAmpl Float -> Float -> Float
forall a. Num a => a -> a -> a
* Float
amplN Float -> Float -> Float
forall a. Num a => a -> a -> a
* Float
ampL) String
"" else String
"0"] String
"") ([(Integer, (Float, Float))] -> IO ())
-> (OvertonesO -> [(Integer, (Float, Float))])
-> OvertonesO
-> IO ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Integer] -> OvertonesO -> [(Integer, (Float, Float))]
forall a b. [a] -> [b] -> [(a, b)]
zip [Integer
0..]
soxSynthHelpMain0 :: a -> IO (ExitCode, String, String)
soxSynthHelpMain0 a
note01 = String -> [String] -> String -> IO (ExitCode, String, String)
readProcessWithExitCode (Maybe String -> String
forall a. HasCallStack => Maybe a -> a
fromJust (String -> Maybe String
showE String
"sox")) [String
"-r22050", String
"-n", String
"testA" String -> String -> String
forall a. [a] -> [a] -> [a]
++ Int -> String -> String
prependZeroes Int
zeroN String
"1" String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
".wav",
String
"synth", Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) (Float -> Float
forall a. Num a => a -> a
abs (Array Int Float -> Int -> Float
forall i e. Array i e -> Int -> e
unsafeAt Array Int Float
v21 (Int
j Int -> Int -> Int
forall a. Integral a => a -> a -> a
`rem` Int
m))) String
"",String
"sine", Maybe Int -> a -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) a
note01 String
"", String
"vol",
if Array Int Float -> Int -> Float
forall i e. Array i e -> Int -> e
unsafeAt Array Int Float
v21 (Int
j Int -> Int -> Int
forall a. Integral a => a -> a -> a
`rem` Int
m) Float -> Float -> Bool
forall a. Ord a => a -> a -> Bool
> Float
0.0 then String
"0.5" else String
"0"] String
""
soxSynthHelpMain1 :: a -> IO (ExitCode, String, String)
soxSynthHelpMain1 a
note02 = String -> [String] -> String -> IO (ExitCode, String, String)
readProcessWithExitCode (Maybe String -> String
forall a. HasCallStack => Maybe a -> a
fromJust (String -> Maybe String
showE String
"sox")) [String
"-r22050", String
"-n", String
"testB" String -> String -> String
forall a. [a] -> [a] -> [a]
++
Int -> String -> String
prependZeroes Int
zeroN String
"1" String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
".wav", String
"synth", Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) (Float -> Float
forall a. Num a => a -> a
abs (Array Int Float -> Int -> Float
forall i e. Array i e -> Int -> e
unsafeAt Array Int Float
v21 (Int
j Int -> Int -> Int
forall a. Integral a => a -> a -> a
`rem` Int
m))) String
"",String
"sine", Maybe Int -> a -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) a
note02 String
"",
String
"vol", if Array Int Float -> Int -> Float
forall i e. Array i e -> Int -> e
unsafeAt Array Int Float
v21 (Int
j Int -> Int -> Int
forall a. Integral a => a -> a -> a
`rem` Int
m) Float -> Float -> Bool
forall a. Ord a => a -> a -> Bool
> Float
0.0 then Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) (if Float
dAmpl Float -> Float -> Bool
forall a. Ord a => a -> a -> Bool
> Float
0.5 then Float
0.5 else Float
dAmpl Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/ Float
2) String
"" else String
"0"] String
""
if Maybe Float -> Bool
forall a. Maybe a -> Bool
isNothing Maybe Float
note1 then do { (ExitCode, String, String)
_ <- Float -> IO (ExitCode, String, String)
forall a. RealFloat a => a -> IO (ExitCode, String, String)
soxSynthHelpMain0 Float
note0
; OvertonesO -> IO ()
overSoXSynthHelpN1 OvertonesO
v0 }
else do { (ExitCode, String, String)
_ <- Float -> IO (ExitCode, String, String)
forall a. RealFloat a => a -> IO (ExitCode, String, String)
soxSynthHelpMain0 Float
note0
; (ExitCode, String, String)
_ <- Float -> IO (ExitCode, String, String)
forall a. RealFloat a => a -> IO (ExitCode, String, String)
soxSynthHelpMain1 (Maybe Float -> Float
forall a. HasCallStack => Maybe a -> a
fromJust Maybe Float
note1)
; OvertonesO -> IO ()
overSoXSynthHelpN1 OvertonesO
v0
; OvertonesO -> IO ()
overSoXSynthHelpN22 OvertonesO
v1}
[String]
paths0 <- String -> IO [String]
listDirectory String
"."
let paths :: [String]
paths = [String] -> [String]
forall a. Ord a => [a] -> [a]
sort ([String] -> [String])
-> ([String] -> [String]) -> [String] -> [String]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (String -> Bool) -> [String] -> [String]
forall a. (a -> Bool) -> [a] -> [a]
filter (String -> String -> Bool
forall a. Eq a => [a] -> [a] -> Bool
isPrefixOf String
"test") ([String] -> [String]) -> [String] -> [String]
forall a b. (a -> b) -> a -> b
$ [String]
paths0
(ExitCode, String, String)
_ <- String -> [String] -> String -> IO (ExitCode, String, String)
readProcessWithExitCode (Maybe String -> String
forall a. HasCallStack => Maybe a -> a
fromJust (String -> Maybe String
showE String
"sox")) ([String
"--combine", String
"mix"] [String] -> [String] -> [String]
forall a. [a] -> [a] -> [a]
++ [String]
paths [String] -> [String] -> [String]
forall a. [a] -> [a] -> [a]
++ [String
"result0" String -> String -> String
forall a. [a] -> [a] -> [a]
++ Int -> String -> String
prependZeroes Int
zeroN (Int -> String
forall a. Show a => a -> String
show Int
j) String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
".wav",String
"vol",String
"0.3"]) String
""
(String -> IO ()) -> [String] -> IO ()
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
(a -> m b) -> t a -> m ()
mapM_ String -> IO ()
removeFile [String]
paths) ([(Int, Float)] -> IO ())
-> ([Float] -> [(Int, Float)]) -> [Float] -> IO ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Int] -> [Float] -> [(Int, Float)]
forall a b. [a] -> [b] -> [(a, b)]
zip [Int
0..] ([Float] -> IO ()) -> [Float] -> IO ()
forall a b. (a -> b) -> a -> b
$ [Float]
vec0
| Bool
otherwise = let ampL1 :: Float
ampL1 = Float
ampL Float -> Float -> Float
forall a. Num a => a -> a -> a
- (Integer -> Float
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Integer -> Float) -> (Float -> Integer) -> Float -> Float
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Float -> Integer
forall a b. (RealFrac a, Integral b) => a -> b
truncate (Float -> Float) -> Float -> Float
forall a b. (a -> b) -> a -> b
$ Float
ampL) in
if Float -> Float
forall a. Num a => a -> a
abs Float
ampL1 Float -> Float -> Bool
forall a. Ord a => a -> a -> Bool
< Float
0.01 then Int
-> Float
-> Float
-> Array Int Float
-> String
-> String
-> [Float]
-> IO ()
overSoXSynthN34G Int
n Float
0.01 Float
dAmpl Array Int Float
v2 String
tts String
vs [Float]
vec0
else Int
-> Float
-> Float
-> Array Int Float
-> String
-> String
-> [Float]
-> IO ()
overSoXSynthN34G Int
n Float
ampL1 Float
dAmpl Array Int Float
v2 String
tts String
vs [Float]
vec0
overSoXSynthN35G :: Int -> Float -> Float -> Durations -> String -> Intervals -> [Float] -> IO ()
overSoXSynthN35G :: Int
-> Float
-> Float
-> Array Int Float
-> String
-> Array Int Int
-> [Float]
-> IO ()
overSoXSynthN35G Int
n Float
ampL Float
dAmpl Array Int Float
v2 String
tts Array Int Int
v3 [Float]
vec0
| (Float -> Bool) -> Array Int Float -> Bool
forall (t :: * -> *) a. Foldable t => (a -> Bool) -> t a -> Bool
F.all (Float -> Float -> Bool
forall a. Eq a => a -> a -> Bool
== Float
0.0) Array Int Float
v2 = String -> IO ()
putStrLn String
"Composition.Sound.Overtones.overSoXSynthN35G: You provided no valid durations data! "
| Float -> Float
forall a. Num a => a -> a
abs Float
ampL Float -> Float -> Bool
forall a. Ord a => a -> a -> Bool
>= Float
0.01 Bool -> Bool -> Bool
&& Float -> Float
forall a. Num a => a -> a
abs Float
ampL Float -> Float -> Bool
forall a. Ord a => a -> a -> Bool
<= Float
1.0 =
let v21 :: Array Int Float
v21 = (\[Float]
rs -> (Int, Int) -> [Float] -> Array Int Float
forall i e. Ix i => (i, i) -> [e] -> Array i e
listArray (Int
0,[Float] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length [Float]
rs Int -> Int -> Int
forall a. Num a => a -> a -> a
- Int
1) [Float]
rs) ([Float] -> Array Int Float)
-> (Array Int Float -> [Float])
-> Array Int Float
-> Array Int Float
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Float -> Bool) -> [Float] -> [Float]
forall a. (a -> Bool) -> [a] -> [a]
filter (Float -> Float -> Bool
forall a. Eq a => a -> a -> Bool
/=Float
0.0) ([Float] -> [Float])
-> (Array Int Float -> [Float]) -> Array Int Float -> [Float]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Array Int Float -> [Float]
forall i e. Array i e -> [e]
elems (Array Int Float -> Array Int Float)
-> Array Int Float -> Array Int Float
forall a b. (a -> b) -> a -> b
$ Array Int Float
v2
m :: Int
m = Array Int Float -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length Array Int Float
v21
zeroN :: Int
zeroN = [Float] -> Int
forall a. [a] -> Int
numVZeroesPre [Float]
vec0
l :: Int
l = Array Int Int -> Int
forall i e. Array i e -> Int
numElements Array Int Int
v3 in ((Int, Float) -> IO ()) -> [(Int, Float)] -> IO ()
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
(a -> m b) -> t a -> m ()
mapM_ (\(Int
j, Float
x) -> do
let note0 :: Float
note0 = Float -> Float
closestNote Float
x
note1 :: Maybe Float
note1 = Int -> Float -> Maybe Float
dNote (Array Int Int -> Int -> Int
forall i e. Array i e -> Int -> e
unsafeAt Array Int Int
v3 (Int
j Int -> Int -> Int
forall a. Integral a => a -> a -> a
`rem` Int
l)) Float
note0
v0 :: OvertonesO
v0 = Float -> String -> OvertonesO
overTones2 Float
note0 String
tts
v1 :: OvertonesO
v1 = if Maybe Float -> Bool
forall a. Maybe a -> Bool
isNothing Maybe Float
note1 then []
else Float -> String -> OvertonesO
overTones2 (Maybe Float -> Float
forall a. HasCallStack => Maybe a -> a
fromJust Maybe Float
note1) String
tts
overSoXSynthHelpN1 :: OvertonesO -> IO ()
overSoXSynthHelpN1 = ((Integer, (Float, Float)) -> IO (ExitCode, String, String))
-> [(Integer, (Float, Float))] -> IO ()
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
(a -> m b) -> t a -> m ()
mapM_ (\(Integer
i, (Float
noteN, !Float
amplN)) -> String -> [String] -> String -> IO (ExitCode, String, String)
readProcessWithExitCode (Maybe String -> String
forall a. HasCallStack => Maybe a -> a
fromJust (String -> Maybe String
showE String
"sox"))
[String
"-r22050", String
"-n", String
"test" String -> String -> String
forall a. [a] -> [a] -> [a]
++ Int -> String -> String
prependZeroes Int
zeroN (Integer -> String
forall a. Show a => a -> String
show (Integer
i Integer -> Integer -> Integer
forall a. Num a => a -> a -> a
+ Integer
2)) String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
".wav", String
"synth", Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) (Float -> Float
forall a. Num a => a -> a
abs (Array Int Float -> Int -> Float
forall i e. Array i e -> Int -> e
unsafeAt Array Int Float
v21 (Int
j Int -> Int -> Int
forall a. Integral a => a -> a -> a
`rem` Int
m))) String
"",
String
"sine",Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) Float
noteN String
"", String
"vol", if Array Int Float -> Int -> Float
forall i e. Array i e -> Int -> e
unsafeAt Array Int Float
v21 (Int
j Int -> Int -> Int
forall a. Integral a => a -> a -> a
`rem` Int
m) Float -> Float -> Bool
forall a. Ord a => a -> a -> Bool
> Float
0.0 then Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) (Float
amplN Float -> Float -> Float
forall a. Num a => a -> a -> a
* Float
ampL) String
"" else String
"0"] String
"") ([(Integer, (Float, Float))] -> IO ())
-> (OvertonesO -> [(Integer, (Float, Float))])
-> OvertonesO
-> IO ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Integer] -> OvertonesO -> [(Integer, (Float, Float))]
forall a b. [a] -> [b] -> [(a, b)]
zip [Integer
0..]
overSoXSynthHelpN22 :: OvertonesO -> IO ()
overSoXSynthHelpN22 = ((Integer, (Float, Float)) -> IO (ExitCode, String, String))
-> [(Integer, (Float, Float))] -> IO ()
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
(a -> m b) -> t a -> m ()
mapM_ (\(Integer
i, (Float
noteN, !Float
amplN)) -> String -> [String] -> String -> IO (ExitCode, String, String)
readProcessWithExitCode (Maybe String -> String
forall a. HasCallStack => Maybe a -> a
fromJust (String -> Maybe String
showE String
"sox"))
[String
"-r22050", String
"-n", String
"testQ" String -> String -> String
forall a. [a] -> [a] -> [a]
++ Int -> String -> String
prependZeroes Int
zeroN (Integer -> String
forall a. Show a => a -> String
show (Integer
i Integer -> Integer -> Integer
forall a. Num a => a -> a -> a
+ Integer
2)) String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
".wav", String
"synth", Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) (Float -> Float
forall a. Num a => a -> a
abs (Array Int Float -> Int -> Float
forall i e. Array i e -> Int -> e
unsafeAt Array Int Float
v21 (Int
j Int -> Int -> Int
forall a. Integral a => a -> a -> a
`rem` Int
m))) String
"",
String
"sine", Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) Float
noteN String
"", String
"vol", if Array Int Float -> Int -> Float
forall i e. Array i e -> Int -> e
unsafeAt Array Int Float
v21 (Int
j Int -> Int -> Int
forall a. Integral a => a -> a -> a
`rem` Int
m) Float -> Float -> Bool
forall a. Ord a => a -> a -> Bool
> Float
0.0 then Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) (if Float
dAmpl Float -> Float -> Float
forall a. Num a => a -> a -> a
* Float
amplN Float -> Float -> Float
forall a. Num a => a -> a -> a
* Float
ampL Float -> Float -> Bool
forall a. Ord a => a -> a -> Bool
> Float
1.0 then Float
1.0
else Float
dAmpl Float -> Float -> Float
forall a. Num a => a -> a -> a
* Float
amplN Float -> Float -> Float
forall a. Num a => a -> a -> a
* Float
ampL) String
"" else String
"0"] String
"") ([(Integer, (Float, Float))] -> IO ())
-> (OvertonesO -> [(Integer, (Float, Float))])
-> OvertonesO
-> IO ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Integer] -> OvertonesO -> [(Integer, (Float, Float))]
forall a b. [a] -> [b] -> [(a, b)]
zip [Integer
0..]
soxSynthHelpMain0 :: a -> IO (ExitCode, String, String)
soxSynthHelpMain0 a
note01 = String -> [String] -> String -> IO (ExitCode, String, String)
readProcessWithExitCode (Maybe String -> String
forall a. HasCallStack => Maybe a -> a
fromJust (String -> Maybe String
showE String
"sox")) [String
"-r22050", String
"-n", String
"testA" String -> String -> String
forall a. [a] -> [a] -> [a]
++ Int -> String -> String
prependZeroes Int
zeroN String
"1" String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
".wav",
String
"synth", Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) (Float -> Float
forall a. Num a => a -> a
abs (Array Int Float -> Int -> Float
forall i e. Array i e -> Int -> e
unsafeAt Array Int Float
v21 (Int
j Int -> Int -> Int
forall a. Integral a => a -> a -> a
`rem` Int
m))) String
"",String
"sine", Maybe Int -> a -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) a
note01 String
"", String
"vol",
if Array Int Float -> Int -> Float
forall i e. Array i e -> Int -> e
unsafeAt Array Int Float
v21 (Int
j Int -> Int -> Int
forall a. Integral a => a -> a -> a
`rem` Int
m) Float -> Float -> Bool
forall a. Ord a => a -> a -> Bool
> Float
0.0 then String
"0.5" else String
"0"] String
""
soxSynthHelpMain1 :: a -> IO (ExitCode, String, String)
soxSynthHelpMain1 a
note02 = String -> [String] -> String -> IO (ExitCode, String, String)
readProcessWithExitCode (Maybe String -> String
forall a. HasCallStack => Maybe a -> a
fromJust (String -> Maybe String
showE String
"sox")) [String
"-r22050", String
"-n", String
"testB" String -> String -> String
forall a. [a] -> [a] -> [a]
++
Int -> String -> String
prependZeroes Int
zeroN String
"1" String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
".wav", String
"synth", Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) (Float -> Float
forall a. Num a => a -> a
abs (Array Int Float -> Int -> Float
forall i e. Array i e -> Int -> e
unsafeAt Array Int Float
v21 (Int
j Int -> Int -> Int
forall a. Integral a => a -> a -> a
`rem` Int
m))) String
"",String
"sine", Maybe Int -> a -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) a
note02 String
"",
String
"vol", if Array Int Float -> Int -> Float
forall i e. Array i e -> Int -> e
unsafeAt Array Int Float
v21 (Int
j Int -> Int -> Int
forall a. Integral a => a -> a -> a
`rem` Int
m) Float -> Float -> Bool
forall a. Ord a => a -> a -> Bool
> Float
0.0 then Maybe Int -> Float -> String -> String
forall a. RealFloat a => Maybe Int -> a -> String -> String
showFFloat (Int -> Maybe Int
forall a. a -> Maybe a
Just Int
4) (if Float
dAmpl Float -> Float -> Bool
forall a. Ord a => a -> a -> Bool
> Float
0.5 then Float
0.5 else Float
dAmpl Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/ Float
2) String
"" else String
"0"] String
""
if Maybe Float -> Bool
forall a. Maybe a -> Bool
isNothing Maybe Float
note1 then do { (ExitCode, String, String)
_ <- Float -> IO (ExitCode, String, String)
forall a. RealFloat a => a -> IO (ExitCode, String, String)
soxSynthHelpMain0 Float
note0
; OvertonesO -> IO ()
overSoXSynthHelpN1 OvertonesO
v0 }
else do { (ExitCode, String, String)
_ <- Float -> IO (ExitCode, String, String)
forall a. RealFloat a => a -> IO (ExitCode, String, String)
soxSynthHelpMain0 Float
note0
; (ExitCode, String, String)
_ <- Float -> IO (ExitCode, String, String)
forall a. RealFloat a => a -> IO (ExitCode, String, String)
soxSynthHelpMain1 (Maybe Float -> Float
forall a. HasCallStack => Maybe a -> a
fromJust Maybe Float
note1)
; OvertonesO -> IO ()
overSoXSynthHelpN1 OvertonesO
v0
; OvertonesO -> IO ()
overSoXSynthHelpN22 OvertonesO
v1}
[String]
paths0 <- String -> IO [String]
listDirectory String
"."
let paths :: [String]
paths = [String] -> [String]
forall a. Ord a => [a] -> [a]
sort ([String] -> [String])
-> ([String] -> [String]) -> [String] -> [String]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (String -> Bool) -> [String] -> [String]
forall a. (a -> Bool) -> [a] -> [a]
filter (String -> String -> Bool
forall a. Eq a => [a] -> [a] -> Bool
isPrefixOf String
"test") ([String] -> [String]) -> [String] -> [String]
forall a b. (a -> b) -> a -> b
$ [String]
paths0
(ExitCode, String, String)
_ <- String -> [String] -> String -> IO (ExitCode, String, String)
readProcessWithExitCode (Maybe String -> String
forall a. HasCallStack => Maybe a -> a
fromJust (String -> Maybe String
showE String
"sox")) ([String
"--combine", String
"mix"] [String] -> [String] -> [String]
forall a. [a] -> [a] -> [a]
++ [String]
paths [String] -> [String] -> [String]
forall a. [a] -> [a] -> [a]
++ [String
"result0" String -> String -> String
forall a. [a] -> [a] -> [a]
++ Int -> String -> String
prependZeroes Int
zeroN (Int -> String
forall a. Show a => a -> String
show Int
j) String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
".wav",String
"vol",String
"0.3"]) String
""
(String -> IO ()) -> [String] -> IO ()
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
(a -> m b) -> t a -> m ()
mapM_ String -> IO ()
removeFile [String]
paths) ([(Int, Float)] -> IO ())
-> ([Float] -> [(Int, Float)]) -> [Float] -> IO ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [Int] -> [Float] -> [(Int, Float)]
forall a b. [a] -> [b] -> [(a, b)]
zip [Int
0..] ([Float] -> IO ()) -> [Float] -> IO ()
forall a b. (a -> b) -> a -> b
$ [Float]
vec0
| Bool
otherwise = let ampL1 :: Float
ampL1 = Float
ampL Float -> Float -> Float
forall a. Num a => a -> a -> a
- (Integer -> Float
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Integer -> Float) -> (Float -> Integer) -> Float -> Float
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Float -> Integer
forall a b. (RealFrac a, Integral b) => a -> b
truncate (Float -> Float) -> Float -> Float
forall a b. (a -> b) -> a -> b
$ Float
ampL) in
if Float -> Float
forall a. Num a => a -> a
abs Float
ampL1 Float -> Float -> Bool
forall a. Ord a => a -> a -> Bool
< Float
0.01 then Int
-> Float
-> Float
-> Array Int Float
-> String
-> Array Int Int
-> [Float]
-> IO ()
overSoXSynthN35G Int
n Float
0.01 Float
dAmpl Array Int Float
v2 String
tts Array Int Int
v3 [Float]
vec0
else Int
-> Float
-> Float
-> Array Int Float
-> String
-> Array Int Int
-> [Float]
-> IO ()
overSoXSynthN35G Int
n Float
ampL1 Float
dAmpl Array Int Float
v2 String
tts Array Int Int
v3 [Float]
vec0
overSoXSynthN34GS :: Int -> Float -> Float -> Float -> String -> String -> String -> [Float] -> IO ()
overSoXSynthN34GS :: Int
-> Float
-> Float
-> Float
-> String
-> String
-> String
-> [Float]
-> IO ()
overSoXSynthN34GS Int
n Float
ampL Float
time3 Float
dAmpl String
zs = Int
-> Float
-> Float
-> Array Int Float
-> String
-> String
-> [Float]
-> IO ()
overSoXSynthN34G Int
n Float
ampL Float
dAmpl (String -> Float -> Array Int Float
str2Durations String
zs Float
time3)
{-# INLINE overSoXSynthN34GS #-}
overSoXSynthN35GS :: Int -> Float -> Float -> Float -> String -> String -> Intervals -> String -> [Float] -> IO ()
overSoXSynthN35GS :: Int
-> Float
-> Float
-> Float
-> String
-> String
-> Array Int Int
-> String
-> [Float]
-> IO ()
overSoXSynthN35GS Int
n Float
ampL Float
time3 Float
dAmpl String
zs String
tts Array Int Int
v3 String
vs = Int
-> Float
-> Float
-> Array Int Float
-> String
-> Array Int Int
-> [Float]
-> IO ()
overSoXSynthN35G Int
n Float
ampL Float
dAmpl (String -> Float -> Array Int Float
str2Durations String
zs Float
time3) String
tts (Array Int Int -> String -> Array Int Int
intervalsFromStringG Array Int Int
v3 String
vs)
{-# INLINE overSoXSynthN35GS #-}
overSoXSynthNGen :: FilePath -> Int -> Float -> Float -> String -> IO ()
overSoXSynthNGen :: String -> Int -> Float -> Float -> String -> IO ()
overSoXSynthNGen String
file Int
m = String -> Int -> Int -> Float -> Float -> String -> IO ()
overSoXSynthNGenE String
file Int
m Int
12
{-# INLINE overSoXSynthNGen #-}
overSoXSynthNGenE :: FilePath -> Int -> Int -> Float -> Float -> String -> IO ()
overSoXSynthNGenE :: String -> Int -> Int -> Float -> Float -> String -> IO ()
overSoXSynthNGenE String
file Int
m Int
ku Float
ampL Float
time3 String
zs = do
Int
n <- String -> IO Int
duration1000 String
file
Int -> String -> Int -> Int -> Float -> Array Int Float -> IO ()
nGenE4Gi Int
n String
file Int
m Int
ku Float
ampL (Int -> String -> Float -> Array Int Float
str2DurationsDef Int
n String
zs Float
time3)
overSoXSynthNGenEPar :: FilePath -> Params -> Float -> Float -> String -> IO ()
overSoXSynthNGenEPar :: String -> Params -> Float -> Float -> String -> IO ()
overSoXSynthNGenEPar String
file Params
params Float
ampL Float
time3 String
zs = do
Int
n <- String -> IO Int
duration1000 String
file
Int -> String -> Params -> Float -> Array Int Float -> IO ()
nGenE4GiPar Int
n String
file Params
params Float
ampL (Int -> String -> Float -> Array Int Float
str2DurationsDef Int
n String
zs Float
time3)
overSoXSynthNGenE4GS :: FilePath -> Int -> Int -> Float -> Float -> String -> IO ()
overSoXSynthNGenE4GS :: String -> Int -> Int -> Float -> Float -> String -> IO ()
overSoXSynthNGenE4GS String
file Int
m Int
ku Float
ampL Float
time3 String
zs = do
Int
n <- String -> IO Int
duration1000 String
file
Int -> String -> Int -> Int -> Float -> Array Int Float -> IO ()
nGenE4Gi Int
n String
file Int
m Int
ku Float
ampL (String -> Float -> Array Int Float
str2Durations String
zs Float
time3)
overSoXSynthNGenE4GSPar :: FilePath -> Params -> Float -> Float -> String -> IO ()
overSoXSynthNGenE4GSPar :: String -> Params -> Float -> Float -> String -> IO ()
overSoXSynthNGenE4GSPar String
file Params
params Float
ampL Float
time3 String
zs = do
Int
n <- String -> IO Int
duration1000 String
file
Int -> String -> Params -> Float -> Array Int Float -> IO ()
nGenE4GiPar Int
n String
file Params
params Float
ampL (String -> Float -> Array Int Float
str2Durations String
zs Float
time3)
nGenE4Gi :: Int -> FilePath -> Int -> Int -> Float -> Durations -> IO ()
nGenE4Gi :: Int -> String -> Int -> Int -> Float -> Array Int Float -> IO ()
nGenE4Gi Int
n String
file Int
m Int
ku Float
ampL Array Int Float
v2 = do
[Int]
vecA <- String -> Int -> IO [Int]
freqsFromFile String
file Int
n
let vecB :: [Float]
vecB = Int -> Int -> [Float] -> [Float]
liftInEnkuV Int
m Int
ku ([Float] -> [Float]) -> ([Int] -> [Float]) -> [Int] -> [Float]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Int -> Float) -> [Int] -> [Float]
forall a b. (a -> b) -> [a] -> [b]
map Int -> Float
forall a b. (Integral a, Num b) => a -> b
fromIntegral ([Int] -> [Float]) -> ([Int] -> [Int]) -> [Int] -> [Float]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Int -> Bool) -> [Int] -> [Int]
forall a. (a -> Bool) -> [a] -> [a]
filter (Int -> Int -> Bool
forall a. Eq a => a -> a -> Bool
/= (Int
11440::Int)) ([Int] -> [Float]) -> [Int] -> [Float]
forall a b. (a -> b) -> a -> b
$ [Int]
vecA
Int -> Float -> Array Int Float -> [Float] -> IO ()
overSoXSynthN4G Int
n Float
ampL Array Int Float
v2 [Float]
vecB
IO ()
endFromResult
nGenE4GiPar :: Int -> FilePath -> Params -> Float -> Durations -> IO ()
nGenE4GiPar :: Int -> String -> Params -> Float -> Array Int Float -> IO ()
nGenE4GiPar Int
n String
file Params
params Float
ampL Array Int Float
v2 = do
[Int]
vecA <- String -> Int -> IO [Int]
freqsFromFile String
file Int
n
let vecB :: [Float]
vecB = Params -> [Float] -> [Float]
liftInParamsV Params
params ([Float] -> [Float]) -> ([Int] -> [Float]) -> [Int] -> [Float]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Int -> Float) -> [Int] -> [Float]
forall a b. (a -> b) -> [a] -> [b]
map Int -> Float
forall a b. (Integral a, Num b) => a -> b
fromIntegral ([Int] -> [Float]) -> [Int] -> [Float]
forall a b. (a -> b) -> a -> b
$ [Int]
vecA
Int -> Float -> Array Int Float -> [Float] -> IO ()
overSoXSynthN4G Int
n Float
ampL Array Int Float
v2 [Float]
vecB
IO ()
endFromResult
overSoXSynthNGenE4G :: FilePath -> Int -> Int -> Float -> Durations -> IO ()
overSoXSynthNGenE4G :: String -> Int -> Int -> Float -> Array Int Float -> IO ()
overSoXSynthNGenE4G String
file Int
m Int
ku Float
ampL Array Int Float
v2 = do
Int
n <- String -> IO Int
duration1000 String
file
Int -> String -> Int -> Int -> Float -> Array Int Float -> IO ()
nGenE4Gi Int
n String
file Int
m Int
ku Float
ampL Array Int Float
v2
overSoXSynthNGenE4GPar :: FilePath -> Params -> Float -> Durations -> IO ()
overSoXSynthNGenE4GPar :: String -> Params -> Float -> Array Int Float -> IO ()
overSoXSynthNGenE4GPar String
file Params
params Float
ampL Array Int Float
v2 = do
Int
n <- String -> IO Int
duration1000 String
file
Int -> String -> Params -> Float -> Array Int Float -> IO ()
nGenE4GiPar Int
n String
file Params
params Float
ampL Array Int Float
v2
overSoXSynthNGen2 :: FilePath -> Int -> Float -> Float -> String -> String -> IO ()
overSoXSynthNGen2 :: String -> Int -> Float -> Float -> String -> String -> IO ()
overSoXSynthNGen2 String
file Int
m = String -> Int -> Int -> Float -> Float -> String -> String -> IO ()
overSoXSynthNGen2E String
file Int
m Int
12
{-# INLINE overSoXSynthNGen2 #-}
overSoXSynthNGen2E :: FilePath -> Int -> Int -> Float -> Float -> String -> String -> IO ()
overSoXSynthNGen2E :: String -> Int -> Int -> Float -> Float -> String -> String -> IO ()
overSoXSynthNGen2E String
file Int
m Int
ku Float
ampL Float
time3 String
zs String
tts = do
Int
n <- String -> IO Int
duration1000 String
file
Int
-> String
-> Int
-> Int
-> Float
-> Array Int Float
-> String
-> IO ()
nGen2E4Gi Int
n String
file Int
m Int
ku Float
ampL (Int -> String -> Float -> Array Int Float
str2DurationsDef Int
n String
zs Float
time3) String
tts
overSoXSynthNGen2EPar :: FilePath -> Params -> Float -> Float -> String -> String -> IO ()
overSoXSynthNGen2EPar :: String -> Params -> Float -> Float -> String -> String -> IO ()
overSoXSynthNGen2EPar String
file Params
params Float
ampL Float
time3 String
zs String
tts = do
Int
n <- String -> IO Int
duration1000 String
file
Int
-> String -> Params -> Float -> Array Int Float -> String -> IO ()
nGen2E4GiPar Int
n String
file Params
params Float
ampL (Int -> String -> Float -> Array Int Float
str2DurationsDef Int
n String
zs Float
time3) String
tts
overSoXSynthNGen2E4GS :: FilePath -> Int -> Int -> Float -> Float -> String -> String -> IO ()
overSoXSynthNGen2E4GS :: String -> Int -> Int -> Float -> Float -> String -> String -> IO ()
overSoXSynthNGen2E4GS String
file Int
m Int
ku Float
ampL Float
time3 String
zs String
tts = do
Int
n <- String -> IO Int
duration1000 String
file
Int
-> String
-> Int
-> Int
-> Float
-> Array Int Float
-> String
-> IO ()
nGen2E4Gi Int
n String
file Int
m Int
ku Float
ampL (String -> Float -> Array Int Float
str2Durations String
zs Float
time3) String
tts
overSoXSynthNGen2E4GSPar :: FilePath -> Params -> Float -> Float -> String -> String -> IO ()
overSoXSynthNGen2E4GSPar :: String -> Params -> Float -> Float -> String -> String -> IO ()
overSoXSynthNGen2E4GSPar String
file Params
params Float
ampL Float
time3 String
zs String
tts = do
Int
n <- String -> IO Int
duration1000 String
file
Int
-> String -> Params -> Float -> Array Int Float -> String -> IO ()
nGen2E4GiPar Int
n String
file Params
params Float
ampL (String -> Float -> Array Int Float
str2Durations String
zs Float
time3) String
tts
nGen2E4Gi :: Int -> FilePath -> Int -> Int -> Float -> Durations -> String -> IO ()
nGen2E4Gi :: Int
-> String
-> Int
-> Int
-> Float
-> Array Int Float
-> String
-> IO ()
nGen2E4Gi Int
n String
file Int
m Int
ku Float
ampL Array Int Float
v2 String
tts = do
[Int]
vecA <- String -> Int -> IO [Int]
freqsFromFile String
file Int
n
let vecB :: [Float]
vecB = Int -> Int -> [Float] -> [Float]
liftInEnkuV Int
m Int
ku ([Float] -> [Float]) -> ([Int] -> [Float]) -> [Int] -> [Float]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Int -> Float) -> [Int] -> [Float]
forall a b. (a -> b) -> [a] -> [b]
map Int -> Float
forall a b. (Integral a, Num b) => a -> b
fromIntegral ([Int] -> [Float]) -> ([Int] -> [Int]) -> [Int] -> [Float]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Int -> Bool) -> [Int] -> [Int]
forall a. (a -> Bool) -> [a] -> [a]
filter (Int -> Int -> Bool
forall a. Eq a => a -> a -> Bool
/= (Int
11440::Int)) ([Int] -> [Float]) -> [Int] -> [Float]
forall a b. (a -> b) -> a -> b
$ [Int]
vecA
Int -> Float -> Array Int Float -> String -> [Float] -> IO ()
overSoXSynthN24G Int
n Float
ampL Array Int Float
v2 String
tts [Float]
vecB
IO ()
endFromResult
nGen2E4GiPar :: Int -> FilePath -> Params -> Float -> Durations -> String -> IO ()
nGen2E4GiPar :: Int
-> String -> Params -> Float -> Array Int Float -> String -> IO ()
nGen2E4GiPar Int
n String
file Params
params Float
ampL Array Int Float
v2 String
tts = do
[Int]
vecA <- String -> Int -> IO [Int]
freqsFromFile String
file Int
n
let vecB :: [Float]
vecB = Params -> [Float] -> [Float]
liftInParamsV Params
params ([Float] -> [Float]) -> ([Int] -> [Float]) -> [Int] -> [Float]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Int -> Float) -> [Int] -> [Float]
forall a b. (a -> b) -> [a] -> [b]
map Int -> Float
forall a b. (Integral a, Num b) => a -> b
fromIntegral ([Int] -> [Float]) -> [Int] -> [Float]
forall a b. (a -> b) -> a -> b
$ [Int]
vecA
Int -> Float -> Array Int Float -> String -> [Float] -> IO ()
overSoXSynthN24G Int
n Float
ampL Array Int Float
v2 String
tts [Float]
vecB
IO ()
endFromResult
overSoXSynthNGen2E4G :: FilePath -> Int -> Int -> Float -> Durations -> String -> IO ()
overSoXSynthNGen2E4G :: String -> Int -> Int -> Float -> Array Int Float -> String -> IO ()
overSoXSynthNGen2E4G String
file Int
m Int
ku Float
ampL Array Int Float
v2 String
tts = do
Int
n <- String -> IO Int
duration1000 String
file
Int
-> String
-> Int
-> Int
-> Float
-> Array Int Float
-> String
-> IO ()
nGen2E4Gi Int
n String
file Int
m Int
ku Float
ampL Array Int Float
v2 String
tts
overSoXSynthNGen2E4GPar :: FilePath -> Params -> Float -> Durations -> String -> IO ()
overSoXSynthNGen2E4GPar :: String -> Params -> Float -> Array Int Float -> String -> IO ()
overSoXSynthNGen2E4GPar String
file Params
params Float
ampL Array Int Float
v2 String
tts = do
Int
n <- String -> IO Int
duration1000 String
file
Int
-> String -> Params -> Float -> Array Int Float -> String -> IO ()
nGen2E4GiPar Int
n String
file Params
params Float
ampL Array Int Float
v2 String
tts
overSoXSynthNGen3 :: FilePath -> Int -> Float -> Float -> Float -> String -> String -> String -> IO ()
overSoXSynthNGen3 :: String
-> Int
-> Float
-> Float
-> Float
-> String
-> String
-> String
-> IO ()
overSoXSynthNGen3 String
file Int
m = String
-> Int
-> Int
-> Float
-> Float
-> Float
-> String
-> String
-> String
-> IO ()
overSoXSynthNGen3E String
file Int
m Int
12
{-# INLINE overSoXSynthNGen3 #-}
overSoXSynthNGen3E :: FilePath -> Int -> Int -> Float -> Float -> Float -> String -> String -> String -> IO ()
overSoXSynthNGen3E :: String
-> Int
-> Int
-> Float
-> Float
-> Float
-> String
-> String
-> String
-> IO ()
overSoXSynthNGen3E String
file Int
m Int
ku Float
ampL Float
time3 Float
dAmpl String
zs String
tts String
vs = do
Int
n <- String -> IO Int
duration1000 String
file
Int
-> String
-> Int
-> Int
-> Float
-> Float
-> Array Int Float
-> String
-> String
-> IO ()
nGen3E4Gi Int
n String
file Int
m Int
ku Float
ampL Float
dAmpl (Int -> String -> Float -> Array Int Float
str2DurationsDef Int
n String
zs Float
time3) String
tts String
vs
overSoXSynthNGen3EPar :: FilePath -> Params -> Float -> Float -> Float -> String -> String -> String -> IO ()
overSoXSynthNGen3EPar :: String
-> Params
-> Float
-> Float
-> Float
-> String
-> String
-> String
-> IO ()
overSoXSynthNGen3EPar String
file Params
params Float
ampL Float
time3 Float
dAmpl String
zs String
tts String
vs = do
Int
n <- String -> IO Int
duration1000 String
file
Int
-> String
-> Params
-> Float
-> Float
-> Array Int Float
-> String
-> String
-> IO ()
nGen3E4GiPar Int
n String
file Params
params Float
ampL Float
dAmpl (Int -> String -> Float -> Array Int Float
str2DurationsDef Int
n String
zs Float
time3) String
tts String
vs
overSoXSynthNGen3E4GS :: FilePath -> Int -> Int -> Float -> Float -> Float -> String -> String -> String -> IO ()
overSoXSynthNGen3E4GS :: String
-> Int
-> Int
-> Float
-> Float
-> Float
-> String
-> String
-> String
-> IO ()
overSoXSynthNGen3E4GS String
file Int
m Int
ku Float
ampL Float
time3 Float
dAmpl String
zs String
tts String
vs = do
Int
n <- String -> IO Int
duration1000 String
file
Int
-> String
-> Int
-> Int
-> Float
-> Float
-> Array Int Float
-> String
-> String
-> IO ()
nGen3E4Gi Int
n String
file Int
m Int
ku Float
ampL Float
dAmpl (String -> Float -> Array Int Float
str2Durations String
zs Float
time3) String
tts String
vs
overSoXSynthNGen3E4GSPar :: FilePath -> Params -> Float -> Float -> Float -> String -> String -> String -> IO ()
overSoXSynthNGen3E4GSPar :: String
-> Params
-> Float
-> Float
-> Float
-> String
-> String
-> String
-> IO ()
overSoXSynthNGen3E4GSPar String
file Params
params Float
ampL Float
time3 Float
dAmpl String
zs String
tts String
vs = do
Int
n <- String -> IO Int
duration1000 String
file
Int
-> String
-> Params
-> Float
-> Float
-> Array Int Float
-> String
-> String
-> IO ()
nGen3E4GiPar Int
n String
file Params
params Float
ampL Float
dAmpl (String -> Float -> Array Int Float
str2Durations String
zs Float
time3) String
tts String
vs
nGen3E4Gi :: Int -> FilePath -> Int -> Int -> Float -> Float -> Durations -> String -> String -> IO ()
nGen3E4Gi :: Int
-> String
-> Int
-> Int
-> Float
-> Float
-> Array Int Float
-> String
-> String
-> IO ()
nGen3E4Gi Int
n String
file Int
m Int
ku Float
ampL Float
dAmpl Array Int Float
v2 String
tts String
vs = do
[Int]
vecA <- String -> Int -> IO [Int]
freqsFromFile String
file Int
n
let vecB :: [Float]
vecB = Int -> Int -> [Float] -> [Float]
liftInEnkuV Int
m Int
ku ([Float] -> [Float]) -> ([Int] -> [Float]) -> [Int] -> [Float]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Int -> Float) -> [Int] -> [Float]
forall a b. (a -> b) -> [a] -> [b]
map Int -> Float
forall a b. (Integral a, Num b) => a -> b
fromIntegral ([Int] -> [Float]) -> ([Int] -> [Int]) -> [Int] -> [Float]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Int -> Bool) -> [Int] -> [Int]
forall a. (a -> Bool) -> [a] -> [a]
filter (Int -> Int -> Bool
forall a. Eq a => a -> a -> Bool
/= (Int
11440::Int)) ([Int] -> [Float]) -> [Int] -> [Float]
forall a b. (a -> b) -> a -> b
$ [Int]
vecA
Int
-> Float
-> Float
-> Array Int Float
-> String
-> String
-> [Float]
-> IO ()
overSoXSynthN34G Int
n Float
ampL Float
dAmpl Array Int Float
v2 String
tts String
vs [Float]
vecB
IO ()
endFromResult
nGen3E4GiPar :: Int -> FilePath -> Params -> Float -> Float -> Durations -> String -> String -> IO ()
nGen3E4GiPar :: Int
-> String
-> Params
-> Float
-> Float
-> Array Int Float
-> String
-> String
-> IO ()
nGen3E4GiPar Int
n String
file Params
params Float
ampL Float
dAmpl Array Int Float
v2 String
tts String
vs = do
[Int]
vecA <- String -> Int -> IO [Int]
freqsFromFile String
file Int
n
let vecB :: [Float]
vecB = Params -> [Float] -> [Float]
liftInParamsV Params
params ([Float] -> [Float]) -> ([Int] -> [Float]) -> [Int] -> [Float]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Int -> Float) -> [Int] -> [Float]
forall a b. (a -> b) -> [a] -> [b]
map Int -> Float
forall a b. (Integral a, Num b) => a -> b
fromIntegral ([Int] -> [Float]) -> [Int] -> [Float]
forall a b. (a -> b) -> a -> b
$ [Int]
vecA
Int
-> Float
-> Float
-> Array Int Float
-> String
-> String
-> [Float]
-> IO ()
overSoXSynthN34G Int
n Float
ampL Float
dAmpl Array Int Float
v2 String
tts String
vs [Float]
vecB
IO ()
endFromResult
nGen3E5Gi :: Int -> FilePath -> Int -> Int -> Float -> Float -> Durations -> String -> Intervals -> IO ()
nGen3E5Gi :: Int
-> String
-> Int
-> Int
-> Float
-> Float
-> Array Int Float
-> String
-> Array Int Int
-> IO ()
nGen3E5Gi Int
n String
file Int
m Int
ku Float
ampL Float
dAmpl Array Int Float
v2 String
tts Array Int Int
v3 = do
[Int]
vecA <- String -> Int -> IO [Int]
freqsFromFile String
file Int
n
let vecB :: [Float]
vecB = Int -> Int -> [Float] -> [Float]
liftInEnkuV Int
m Int
ku ([Float] -> [Float]) -> ([Int] -> [Float]) -> [Int] -> [Float]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Int -> Float) -> [Int] -> [Float]
forall a b. (a -> b) -> [a] -> [b]
map Int -> Float
forall a b. (Integral a, Num b) => a -> b
fromIntegral ([Int] -> [Float]) -> ([Int] -> [Int]) -> [Int] -> [Float]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Int -> Bool) -> [Int] -> [Int]
forall a. (a -> Bool) -> [a] -> [a]
filter (Int -> Int -> Bool
forall a. Eq a => a -> a -> Bool
/= (Int
11440::Int)) ([Int] -> [Float]) -> [Int] -> [Float]
forall a b. (a -> b) -> a -> b
$ [Int]
vecA
Int
-> Float
-> Float
-> Array Int Float
-> String
-> Array Int Int
-> [Float]
-> IO ()
overSoXSynthN35G Int
n Float
ampL Float
dAmpl Array Int Float
v2 String
tts Array Int Int
v3 [Float]
vecB
IO ()
endFromResult
nGen3E5GiPar :: Int -> FilePath -> Params -> Float -> Float -> Durations -> String -> Intervals -> IO ()
nGen3E5GiPar :: Int
-> String
-> Params
-> Float
-> Float
-> Array Int Float
-> String
-> Array Int Int
-> IO ()
nGen3E5GiPar Int
n String
file Params
params Float
ampL Float
dAmpl Array Int Float
v2 String
tts Array Int Int
v3 = do
[Int]
vecA <- String -> Int -> IO [Int]
freqsFromFile String
file Int
n
let vecB :: [Float]
vecB = Params -> [Float] -> [Float]
liftInParamsV Params
params ([Float] -> [Float]) -> ([Int] -> [Float]) -> [Int] -> [Float]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Int -> Float) -> [Int] -> [Float]
forall a b. (a -> b) -> [a] -> [b]
map Int -> Float
forall a b. (Integral a, Num b) => a -> b
fromIntegral ([Int] -> [Float]) -> [Int] -> [Float]
forall a b. (a -> b) -> a -> b
$ [Int]
vecA
Int
-> Float
-> Float
-> Array Int Float
-> String
-> Array Int Int
-> [Float]
-> IO ()
overSoXSynthN35G Int
n Float
ampL Float
dAmpl Array Int Float
v2 String
tts Array Int Int
v3 [Float]
vecB
IO ()
endFromResult
overSoXSynthNGen3E4G :: FilePath -> Int -> Int -> Float -> Float -> Durations -> String -> String -> IO ()
overSoXSynthNGen3E4G :: String
-> Int
-> Int
-> Float
-> Float
-> Array Int Float
-> String
-> String
-> IO ()
overSoXSynthNGen3E4G String
file Int
m Int
ku Float
ampL Float
dAmpl Array Int Float
v2 String
tts String
vs = do
Int
n <- String -> IO Int
duration1000 String
file
Int
-> String
-> Int
-> Int
-> Float
-> Float
-> Array Int Float
-> String
-> String
-> IO ()
nGen3E4Gi Int
n String
file Int
m Int
ku Float
ampL Float
dAmpl Array Int Float
v2 String
tts String
vs
overSoXSynthNGen3E4GPar :: FilePath -> Params -> Float -> Float -> Durations -> String -> String -> IO ()
overSoXSynthNGen3E4GPar :: String
-> Params
-> Float
-> Float
-> Array Int Float
-> String
-> String
-> IO ()
overSoXSynthNGen3E4GPar String
file Params
params Float
ampL Float
dAmpl Array Int Float
v2 String
tts String
vs = do
Int
n <- String -> IO Int
duration1000 String
file
Int
-> String
-> Params
-> Float
-> Float
-> Array Int Float
-> String
-> String
-> IO ()
nGen3E4GiPar Int
n String
file Params
params Float
ampL Float
dAmpl Array Int Float
v2 String
tts String
vs
overSoXSynthNGen3E5G :: FilePath -> Int -> Int -> Float -> Float -> Durations -> String -> Intervals -> IO ()
overSoXSynthNGen3E5G :: String
-> Int
-> Int
-> Float
-> Float
-> Array Int Float
-> String
-> Array Int Int
-> IO ()
overSoXSynthNGen3E5G String
file Int
m Int
ku Float
ampL Float
dAmpl Array Int Float
v2 String
tts Array Int Int
v3 = do
Int
n <- String -> IO Int
duration1000 String
file
Int
-> String
-> Int
-> Int
-> Float
-> Float
-> Array Int Float
-> String
-> Array Int Int
-> IO ()
nGen3E5Gi Int
n String
file Int
m Int
ku Float
ampL Float
dAmpl Array Int Float
v2 String
tts Array Int Int
v3
overSoXSynthNGen3E5GPar :: FilePath -> Params -> Float -> Float -> Durations -> String -> Intervals -> IO ()
overSoXSynthNGen3E5GPar :: String
-> Params
-> Float
-> Float
-> Array Int Float
-> String
-> Array Int Int
-> IO ()
overSoXSynthNGen3E5GPar String
file Params
params Float
ampL Float
dAmpl Array Int Float
v2 String
tts Array Int Int
v3 = do
Int
n <- String -> IO Int
duration1000 String
file
Int
-> String
-> Params
-> Float
-> Float
-> Array Int Float
-> String
-> Array Int Int
-> IO ()
nGen3E5GiPar Int
n String
file Params
params Float
ampL Float
dAmpl Array Int Float
v2 String
tts Array Int Int
v3
overSoXSynthNGen3E5GS :: FilePath -> Int -> Int -> Float -> Float -> Float -> String -> String -> Intervals -> String -> IO ()
overSoXSynthNGen3E5GS :: String
-> Int
-> Int
-> Float
-> Float
-> Float
-> String
-> String
-> Array Int Int
-> String
-> IO ()
overSoXSynthNGen3E5GS String
file Int
m Int
ku Float
ampL Float
time3 Float
dAmpl String
zs String
tts Array Int Int
v3 String
vs = do
Int
n <- String -> IO Int
duration1000 String
file
Int
-> String
-> Int
-> Int
-> Float
-> Float
-> Array Int Float
-> String
-> Array Int Int
-> IO ()
nGen3E5Gi Int
n String
file Int
m Int
ku Float
ampL Float
dAmpl (String -> Float -> Array Int Float
str2Durations String
zs Float
time3) String
tts (Array Int Int -> String -> Array Int Int
intervalsFromStringG Array Int Int
v3 String
vs)
overSoXSynthNGen3E5GSPar :: FilePath -> Params -> Float -> Float -> Float -> String -> String -> Intervals -> String -> IO ()
overSoXSynthNGen3E5GSPar :: String
-> Params
-> Float
-> Float
-> Float
-> String
-> String
-> Array Int Int
-> String
-> IO ()
overSoXSynthNGen3E5GSPar String
file Params
params Float
ampL Float
time3 Float
dAmpl String
zs String
tts Array Int Int
v3 String
vs = do
Int
n <- String -> IO Int
duration1000 String
file
Int
-> String
-> Params
-> Float
-> Float
-> Array Int Float
-> String
-> Array Int Int
-> IO ()
nGen3E5GiPar Int
n String
file Params
params Float
ampL Float
dAmpl (String -> Float -> Array Int Float
str2Durations String
zs Float
time3) String
tts (Array Int Int -> String -> Array Int Int
intervalsFromStringG Array Int Int
v3 String
vs)
overSoXSynthNGen3E6G :: FilePath -> Int -> Int -> Float -> Float -> Durations -> String -> Intervals -> Strengths -> Float -> IO ()
overSoXSynthNGen3E6G :: String
-> Int
-> Int
-> Float
-> Float
-> Array Int Float
-> String
-> Array Int Int
-> Array Int Float
-> Float
-> IO ()
overSoXSynthNGen3E6G String
file Int
m Int
ku Float
ampL Float
dAmpl Array Int Float
v2 String
tts Array Int Int
v3 Array Int Float
v6 Float
limV =
String
-> Int
-> Int
-> Float
-> Float
-> Array Int Float
-> String
-> Array Int Int
-> IO ()
overSoXSynthNGen3E5G String
file Int
m Int
ku Float
ampL Float
dAmpl Array Int Float
v2 String
tts Array Int Int
v3 IO () -> IO () -> IO ()
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Array Int Float -> String -> String -> Float -> IO ()
apply6G2 Array Int Float
v6 String
"221w" String
"result" Float
limV IO () -> IO () -> IO ()
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> IO ()
endFromResult
overSoXSynthNGen3E6GPar :: FilePath -> Params -> Float -> Float -> Durations -> String -> Intervals -> Strengths -> Float -> IO ()
overSoXSynthNGen3E6GPar :: String
-> Params
-> Float
-> Float
-> Array Int Float
-> String
-> Array Int Int
-> Array Int Float
-> Float
-> IO ()
overSoXSynthNGen3E6GPar String
file Params
params Float
ampL Float
dAmpl Array Int Float
v2 String
tts Array Int Int
v3 Array Int Float
v6 Float
limV =
String
-> Params
-> Float
-> Float
-> Array Int Float
-> String
-> Array Int Int
-> IO ()
overSoXSynthNGen3E5GPar String
file Params
params Float
ampL Float
dAmpl Array Int Float
v2 String
tts Array Int Int
v3 IO () -> IO () -> IO ()
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Array Int Float -> String -> String -> Float -> IO ()
apply6G2 Array Int Float
v6 String
"221w" String
"result" Float
limV IO () -> IO () -> IO ()
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> IO ()
endFromResult
overSoXSynthNGen3E6GS :: FilePath -> Int -> Int -> Float -> Float -> Durations -> String -> Intervals -> String -> Float -> IO ()
overSoXSynthNGen3E6GS :: String
-> Int
-> Int
-> Float
-> Float
-> Array Int Float
-> String
-> Array Int Int
-> String
-> Float
-> IO ()
overSoXSynthNGen3E6GS String
file Int
m Int
ku Float
ampL Float
dAmpl Array Int Float
v2 String
tts Array Int Int
v3 String
xxs Float
limV = String
-> Int
-> Int
-> Float
-> Float
-> Array Int Float
-> String
-> Array Int Int
-> Array Int Float
-> Float
-> IO ()
overSoXSynthNGen3E6G String
file Int
m Int
ku Float
ampL Float
dAmpl Array Int Float
v2 String
tts Array Int Int
v3 (String -> Array Int Float
str2Volume String
xxs) Float
limV
{-# INLINE overSoXSynthNGen3E6GS #-}
overSoXSynthNGen3E6GSPar :: FilePath -> Params -> Float -> Float -> Durations -> String -> Intervals -> String -> Float -> IO ()
overSoXSynthNGen3E6GSPar :: String
-> Params
-> Float
-> Float
-> Array Int Float
-> String
-> Array Int Int
-> String
-> Float
-> IO ()
overSoXSynthNGen3E6GSPar String
file Params
params Float
ampL Float
dAmpl Array Int Float
v2 String
tts Array Int Int
v3 String
xxs Float
limV = String
-> Params
-> Float
-> Float
-> Array Int Float
-> String
-> Array Int Int
-> Array Int Float
-> Float
-> IO ()
overSoXSynthNGen3E6GPar String
file Params
params Float
ampL Float
dAmpl Array Int Float
v2 String
tts Array Int Int
v3 (String -> Array Int Float
str2Volume String
xxs) Float
limV
{-# INLINE overSoXSynthNGen3E6GSPar #-}
overSoXSynthNGen3E6GSu :: FilePath -> Int -> Int -> Float -> Float -> Float -> String -> Intervals -> String -> Float -> IO ()
overSoXSynthNGen3E6GSu :: String
-> Int
-> Int
-> Float
-> Float
-> Float
-> String
-> Array Int Int
-> String
-> Float
-> IO ()
overSoXSynthNGen3E6GSu String
file Int
m Int
ku Float
ampL Float
dAmpl Float
time3 String
tts Array Int Int
v3 String
xxs = String
-> Int
-> Int
-> Float
-> Float
-> Array Int Float
-> String
-> Array Int Int
-> Array Int Float
-> Float
-> IO ()
overSoXSynthNGen3E6G String
file Int
m Int
ku Float
ampL Float
dAmpl (String -> Float -> Array Int Float
str2Durations String
xxs Float
time3) String
tts Array Int Int
v3 (String -> Array Int Float
str2Volume String
xxs)
{-# INLINE overSoXSynthNGen3E6GSu #-}
overSoXSynthNGen3E6GSuPar :: FilePath -> Params -> Float -> Float -> Float -> String -> Intervals -> String -> Float -> IO ()
overSoXSynthNGen3E6GSuPar :: String
-> Params
-> Float
-> Float
-> Float
-> String
-> Array Int Int
-> String
-> Float
-> IO ()
overSoXSynthNGen3E6GSuPar String
file Params
params Float
ampL Float
dAmpl Float
time3 String
tts Array Int Int
v3 String
xxs = String
-> Params
-> Float
-> Float
-> Array Int Float
-> String
-> Array Int Int
-> Array Int Float
-> Float
-> IO ()
overSoXSynthNGen3E6GPar String
file Params
params Float
ampL Float
dAmpl (String -> Float -> Array Int Float
str2Durations String
xxs Float
time3) String
tts Array Int Int
v3 (String -> Array Int Float
str2Volume String
xxs)
{-# INLINE overSoXSynthNGen3E6GSuPar #-}