úÎ!z÷yY     (c) OleksandrZhabenko 2020MIT ExperimentalNonewÀ dobutokO2 of musical notes in Hz. dobutokO2¡Function returns either the nearest two musical notes if frequency is higher than one for C0 and lower than one for B8 or the nearest note duplicated in a tuple. dobutokO28Returns the closest note to the given frequency in Hz.  dobutokO2/Returns a pure quint lower than the given note. dobutokO2EReturns an analogous note in the higher octave (its frequency in Hz). dobutokO2DReturns an analogous note in the lower octave (its frequency in Hz). dobutokO2 Returns a P of tuples with the lowest and highest frequencies for the notes in the octaves. dobutokO2øFunction can be used to determine to which octave (in the American notation for the notes, this is a number in the note written form, e. g. for C4 this is 4) the frequency belongs (to be more exact, the closest note for the given frequency -- see Ÿ taking into account its lower pure quint, which can lay in the lower by 1 octave). If it is not practical to determine the number, then the function returns . dobutokO2|Function lifts the given frequency to the given number of the octave (in American notation, from 0 to 8). This number is an ¨ 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 .  dobutokO2Function lifts the  of 7 representing frequencies to the given octave with the ÷ 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 .  dobutokO2¬Function is used to generate a rhythm of the resulting file 'end.wav' from the Ukrainian text and a number of sounds either in the syllables or in the words without vowels.  dobutokO23For the given frequency of the note it generates a R of the tuples, each one of which contains the harmonics' frequency and amplitude.  dobutokO23For the given frequency of the note it generates a d of the tuples, each one of which contains the harmonics' frequency and amplitude. For every given 8 structure of the uniqueness (see the documentation for mmsyn7s package and its ' module) it produces the unique timbre.  dobutokO2ÿnFor the given frequency it generates a musical sound with a timbre. The main component of the sound includes the lower pure quint, which can be in the same octave or in the one with the number lower by one. Please, check before executing whether there is no "x.wav", "test*", "result*" and "end.wav" files in the current directory, because they can be overwritten. dobutokO25Function to create a melody for the given arguments. ´ is used to provide a rhythm. The main component of the sound includes the lower pure quint, which can be in the same octave or in the one with the number lower by one. The first ÿ argument from the range [0.01..1.0] is used as a maximum amplitude for obertones. If it is set to 1.0 the obertones amplitudes are just the maximum ones, otherwise they are multiplied by the parameter and this results in their becoming more silent ones. The second ä argument is a basic sound duration. The default one is 0.5 (second). Please, check before executing whether there is no "x.wav", "test*", "result*" and "end.wav" files in the current directory, because they can be overwritten. dobutokO2 Similar to ?, but uses a sound file to obtain the information analogous to a in the latter one. Besides, the function lifts the frequencies to the octave with the given by C parameter number (better to use from the range [1..8]). The first ÿ argument from the range [0.01..1.0] is used as a maximum amplitude for obertones. If it is set to 1.0 the obertones amplitudes are just maximum ones, otherwise they are multiplied by the parameter and this results in their becoming more silent ones. The second ä argument is a basic sound duration. The default one is 0.5 (second). Please, check before executing whether there is no "x.wav", "test*", "result*" and "end.wav" files in the current directory, because they can be overwritten.For better usage the ( should be a filepath for the .wav file. dobutokO23Additional function to prepend zeroes to the given J. The number of them are just that one to fulfill the length to the given  parameter. dobutokO2–For the given frequency and a Ukrainian text it generates a musical sound with the timbre obtained from the Ukrainian text (see the documentation for mmsyn7s§ package). The timbre for another given text usually differs, but can be the same. The last one is only if the uniqueness structure and length are the same for both ÿ¦. Otherwise, they differs. This gives an opportunity to practically and quickly synthesize differently sounding intervals. The main component of the sound includes the lower pure quint, which can be in the same octave or in the one with the number lower by one. Please, check before executing whether there is no "x.wav", "test*", "result*" and "end.wav" files in the current directory, because they can be overwritten. dobutokO2?Function to create a melody for the given arguments. The first ù is used to provide a rhythm. The second one -- to provide a timbre. The timbre for another given text usually differs, but can be the same. This gives an opportunity to practically and quickly synthesize differently sounding intervals. The first ÿL argument from the range [0.01..1.0] is used as a maximum amplitude for obertones. If it is set to 1.0 the obertones amplitudes are just maximum ones, otherwise they are multiplied by the parameter and this results in their becoming more silent ones. The main component of the sound is in the given octave with a number given by ° parameter. Besides, another main component of the sound includes the lower pure quint, which can be in the same octave or in the one with the number lower by one. The second ä argument is a basic sound duration. The default one is 0.5 (second). Please, check before executing whether there is no "x.wav", "test*", "result*" and "end.wav" files in the current directory, because they can be overwritten. dobutokO2 Similar to ?, but uses a sound file to obtain the information analogous to b in the latter one. Besides, the function lifts the frequencies to the octave with the given by D parameter number (better to use from the range [1..8]). The first ÿ argument from the range [0.01..1.0] is used as a maximum amplitude for obertones. If it is set to 1.0 the obertones amplitudes are just the maximum ones, otherwise they are multiplied by the parameter and this results in their becoming more silent ones. The second ä argument is a basic sound duration. The default one is 0.5 (second). Please, check before executing whether there is no "x.wav", "test*", "result*" and "end.wav" files in the current directory, because they can be overwritten.For better usage the ( should be a filepath for the .wav file. dobutokO2/Function that actually makes processing in the  dobutokO2« executable. Please, check before executing whether there is no "x.wav", "test*", "result*" and "end.wav" files in the current directory, because they can be overwritten. dobutokO2[Function records and processes the sound data needed to generate the "end.wav" file in the „ function. Please, check before executing whether there is no "x.wav" file in the current directory, because it can be overwritten.     (c) OleksandrZhabenko 2020MIT ExperimentalNoneyM      !"#$"#%&'()*(dobutokO2-0.5.2.0-GgdAznc35ziF1aSqYqWKvoDobutokO.SoundMainMMSyn7SyllablenotesneighbourNotes closestNote pureQuintNoteoctaveUp octaveDownoctavesT whichOctave putInOctave putInOctaveV syllableStr oberTonesuniqOberTonesV oberSoXSynth oberSoXSynthNoberSoXSynthNGen prependZeroesuniqOberSoXSynthuniqOberSoXSynthNuniqOberSoXSynthNGen dobutokO2 recAndProcessmain&vector-0.12.1.2-E9YBdJZ4ywF23gc9L8wAxp Data.VectorVectorbase GHC.MaybeNothingghc-prim GHC.TypesIntDoubleGHC.BaseStringGHC.IOFilePath