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

License | MIT |

Maintainer | olexandr543@yahoo.com |

Stability | Experimental |

Safe Haskell | None |

Language | Haskell2010 |

Helps to create experimental music from a file (or its part) and a Ukrainian text. It can also generate a timbre for the notes. Uses SoX inside.

## Synopsis

- octaveUp :: Float -> Float
- octaveDown :: Float -> Float
- liftInOctave :: Int -> Float -> Maybe Float
- liftInOctaveV :: Int -> [Float] -> [Float]

# Work with octaves

octaveUp :: Float -> Float Source #

Returns an analogous note in the higher octave (its frequency in Hz).

octaveDown :: Float -> Float Source #

Returns an analogous note in the lower octave (its frequency in Hz).

liftInOctave :: Int -> Float -> Maybe Float Source #

Function lifts the given frequency to the given number of the octave (in American notation, from 0 to 8). This number is an `Int`

parameter.
The function also takes into account the lower pure quint for the closest note.
If it is not practical to determine the number, then the function returns `Nothing`

.

liftInOctaveV :: Int -> [Float] -> [Float] Source #

Function lifts the list of `Float`

representing frequencies to the given octave with the `Int`

number. Better to use numbers in the range [1..8].
The function also takes into account the lower pure quint for the obtained note behaviour. If it is not practical to determine the octave, the resulting
frequency is omitted from the resulting list.