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.