dobutokO2-0.31.0.0: A program and a library to create experimental music from a mono audio and a Ukrainian text

Copyright(c) OleksandrZhabenko 2020
LicenseMIT
StabilityExperimental
Safe HaskellNone
LanguageHaskell2010

DobutokO.Sound.Keyboard

Contents

Description

Maintainer : olexandr543@yahoo.com

A program and a library to create experimental music from a mono audio and a Ukrainian text. Can work with both WAV and FLAC files if your SoX installation supports FLAC.

Synopsis

Working with input and files

qwerty2dvorak :: ByteString -> ByteString Source #

Converts a string of lowercase ASCII letters being typed on the QWERTY keyboard layout into corresponding Dvorak keyboard layout.

input2BL :: IO ByteString Source #

Get contents into lazy ByteString with filtering of all characters that are not a lower case ascii letters.

readFile2BL :: FilePath -> IO ByteString Source #

Usual way the function readFile2BLGen is used. The text in a file being read is treated as a properly typed (entered) one. So there is no keyboard layout conversion at all.

readFile2BLGen :: String -> FilePath -> IO ByteString Source #

Reads a given file into a lazy ByteString with filtering of all characters that are not a lower case ascii letters. It has additional first command line argument to control the way of treating letters: as being typed (entered) properly (null String), or needed to be converted from qwerty to dvorak layout ("q" String), or vice versa (otherwise).

Conversions

readFileDoubles :: FilePath -> IO (Vector Int) Source #

Usual way the function readFileDoublesGen is used. The text in a file being read is treated as a properly typed (entered) one. So there is no keyboard layout conversion at all.

readFileDoublesGen :: String -> FilePath -> IO (Vector Int) Source #

After reading a file into a filtered lazy ByteString (see, readFile2BLGen) converts the resulting ByteString into a Vector of Int. The arguments have the same meaning as for readFile2BLGen.

takeDoubles :: ByteString -> Vector Int Source #

Converts a lazy ByteString into a Vector of Int using hashStr2.

hashStr2 :: Char -> Char -> Int Source #

Hashes two lower case ascii characters. Is used for controlling frequencies and operators.

convH :: String -> (ByteString -> ByteString) -> ByteString -> ByteString Source #

Auxiliary function to define how is a ByteString treated, see readFile2BLGen.