Copyright | (c) OleksandrZhabenko 2021 |
---|---|

License | MIT |

Maintainer | olexandr543@yahoo.com |

Stability | Experimental |

Safe Haskell | None |

Language | Haskell2010 |

Extensions | BangPatterns |

Some variants of the f :: `Float`

-> `OvertonesO`

function that can be used for overtones
(and a timbre respectively) generation.

## Synopsis

- overTones :: Float -> OvertonesO
- overTonesKN2 :: Int -> Int -> Float -> OvertonesO
- overTonesKNPG :: Int -> Int -> Int -> Float -> Float -> OvertonesO
- overTonesKNPG20k :: Int -> Int -> Int -> Float -> Float -> OvertonesO
- overTonesKNPG20kF :: (Float -> Float) -> Int -> Int -> Int -> Float -> Float -> OvertonesO
- overTonesALaClarinet :: Float -> OvertonesO
- overTonesKNPG20kFALaClarinet :: (Float -> Float) -> (Int -> Int) -> Int -> Int -> Int -> Float -> Float -> OvertonesO

# Documentation

overTones :: Float -> OvertonesO Source #

For the given frequency of the note it generates a list of the tuples, each one of which contains the harmonics' frequency and amplitude. Is taken from the Composition.Sound.Functional.Basics module, so it must be imported qualified to be used with the last one.

overTonesKN2 :: Int -> Int -> Float -> OvertonesO Source #

overTonesKNPG :: Int -> Int -> Int -> Float -> Float -> OvertonesO Source #

A generalized variant of the `overTones`

and `overTonesKN2`

with the possibility to specify the additional parameters for them.

overTonesKNPG20k :: Int -> Int -> Int -> Float -> Float -> OvertonesO Source #

A generalized variant of the `overTones`

and `overTonesKN2`

with the possibility to specify the additional parameters for them. Otherwise than the similar `overTonesKNPG`

, it can generate the higher overtones than the B8 to the 20000 Hz.

overTonesKNPG20kF :: (Float -> Float) -> Int -> Int -> Int -> Float -> Float -> OvertonesO Source #

A generalized variant of the `overTonesKNPG20k`

with the possibility to specify the additional function to control the overtones amplitudes. Otherwise than the similar `overTonesKNPG`

, it can generate the higher overtones than the B8 to the 20000 Hz. The first argument, the function `f`

is intended to be a monotonic growing one though it can be not necessary.

overTonesALaClarinet :: Float -> OvertonesO Source #

Is taken from the Composition.Sound.Functional.Basics module, so it must be imported qualified to be used with the last one.

overTonesKNPG20kFALaClarinet :: (Float -> Float) -> (Int -> Int) -> Int -> Int -> Int -> Float -> Float -> OvertonesO Source #

A generalized variant of the `overTonesKNPG20k`

with the possibility to specify the additional function to control the overtones amplitudes. Otherwise than the similar `overTonesKNPG`

, it can generate the higher overtones than the B8 to the 20000 Hz. The first argument, the function `f`

is intended to be a monotonic growing one though it can be not necessary. The second one parameter -- the `g`

function can be simply (*2), (*4) or something else and also is intended to be monotonic.