mmsyn7l

Modifies the amplitudes of the sounds representations created by mmsyn7ukr-array and mmsyn7ukr packages.

https://hackage.haskell.org/package/mmsyn7l

Stackage Nightly 2025-04-24:0.9.2.0
Latest on Hackage:0.9.2.0

See all snapshots mmsyn7l appears in

MIT licensed by (c) OleksandrZhabenko 2020-2022, 2024
Maintained by [email protected]
This version can be pinned in stack with:mmsyn7l-0.9.2.0@sha256:d7918f4cdfbe0ab0e20e9858c64e7ef9a3dd477b18eb05a750bf4018b8d740db,1576

Module documentation for 0.9.2.0

Used by 1 package in nightly-2025-04-24(full list with versions):
        ***** Usage Notes *****
        =======================

For the proper proceeding you specify a String, which consists of 4 digits (and it may be preceded by a symbol “-”). If the String begins with the “-”, then a sound amplitude decreases, otherwise the amplitude increases. The level of increase / decrease is determined by the magnitude of the absolute value of integer numbers. The greater is the number – the greater is the amplitude change. The count begins with “0000” and ends with “9999” (the sign is not taken into consideration). If there is less than 4 digits in a String, then the String is equivalent to that one with the appropriate number of zeroes preceding to fulfill to the 4 needed digits (for example, “657” is equivalent to “0657”, “-2” is equivalent to “-0002” etc.). In such a case, for the Strings without the initial sign “-” (the sound increases) an interval between the maximum by modulus value of the amlitude (which is represented by the parts of 1) and 1.0 is divided into 10 equal parts (starting a count from 0) and then that one of them is selected, which has a number determined by the first digit in the String writing. Then (if specified further) the interval between this amplitude value and a value, which corresponds to the selection on the previous step the next first digit in the writing (for example, after “4” – “5”, after “7” –“8” etc.), greater by 1 than the actually selected one, is also divided again into 10 equal parts and that one is selected, which corresponds to the number determined by the second digit in the String writing (again beginning with “0” and ending with “9”) and so on until the 4th level. The greater exactness is not needed because our hearing ability hardly distinguish such a subtle sound changes. If the String has as a first element the “-” Char (the sound decreases), then everything is analogously the same, but an interval between the maximum by modulus amplitude value and 0.0 is divided into 10 equal parts and so on.

     ***** Command Line Arguments *****
     ==================================

If you specify a command line argument (other than “-h”, “-r”, or “-v”), it must be a sorted list of the Ukrainian sounds representations, which can be obtained by using the mmsyn7s package. For more information, please, refer to: mmsyn7s.

In such a case, the program will modify only the amplitudes for those Ukrainian sounds representations, which are in the list. Otherwise, the program will modify the amplitudes for all non-silent Ukrainian sounds representations in the current directory.

The “-h” command line argument is used for the help informational message.

The “-v” command line argument is used for the version number.

The “-r” command line argument is used to work with “result*.wav” files to adjust their volume. You can additionally specify the numbers for the first and for the last files to be adjusted.

     ***** Library Functions to Edit Sound *****
     ===========================================

Since the 0.5.0.0 version from DobutokO.Sound.IntermediateF module (dobutokO2 package) some functions were moved here. They are in MMSyn7l module. This was done to allow their usage without the necessity to install dobutokO2 package (just using mmsyn7* series). Added new functions that use the moved ones.

Changes

Revision history for mmsyn7l

0.1.0.0 – 2020-01-07

  • First version. Released on an unsuspecting world.

0.1.0.1 – 2020-01-07

  • First version revised A. Some documentation minor improvements.

0.1.1.0 – 2020-01-08

  • First version revised B. Fixed an issue with the wrong amplitude level recognition.

0.1.1.1 – 2020-01-08

  • First version revised C. Fixed an issue with the wrong written function call.

0.2.0.0 – 2020-01-10

0.2.1.0 – 2020-01-13

  • Second version revised A. Fixed issues with wrongly parsed sounds that are represented by two letters (“дж”, “дз”, “сь”, “ць”).

0.2.2.0 – 2020-01-13

  • Second version revised B. Simplified the main function using the simlified version of the ReplaceP mudule in the mmsyn7ukr package.

0.2.3.0 – 2020-01-13

  • Second version revised C. Fixed an issue with the wrong dependency mmsyn7ukr>=0.6.2.1.

0.3.0.0 – 2020-01-28

  • Third version. Changed the dependency bounds. Added the support for informational messages. Some documentation improvements.

0.3.1.0 – 2020-01-28

  • Third version revised A. Changed errors to exceptions. Some documentation improvements.

0.3.2.0 – 2020-01-30

  • Third version revised B. Changed README file to README.markdown.

0.4.0.0 – 2020-03-25

  • Fourth version. Added new command line option variant “-r” and changed MMSyn7l.changeVolume function. Added for this purpose a new function ‘adjustVolRes’. Added directory as an explicit dependency (earlier it has been implicit as a dependency for mmsyn7ukr package). Changed information in the README.markdown file appropriately.

0.4.1.0 – 2020-03-25

  • Fourth version revised A. Fixed issues with being not compiled for GHC 7.8.4 and for the wrong arguments specifying for ‘adjustVolRes’ function.

0.4.2.0 – 2020-03-25

  • Fourth version revised B. Fixed issue with wrongly specified interval to be adjusted with ‘adjustVolRes’ function.

0.4.3.0 – 2020-05-14

  • Fourth version revised C. Changed bounds for the dependencies so that now also GHC 8.10* series are supported.

0.5.0.0 – 2020-05-20

  • Fifth version. From DobutokO.Sound.IntermediateF module (dobutokO2 package) some functions were moved here. They are in MMSyn7l module. This was done to allow their usage without the necessity to install dobutokO2 package (just using mmsyn7* series). Added new fade functions to the same module using the moved ones.

0.6.0.0 – 2020-05-30

  • Sixth version. Added two new functions to fade ends of the sound to MMSyn7l module. Fixed an issue with the version number in the Main.main function. Some minor code and documentation improvements.

0.6.1.0 – 2020-05-30

  • Sixth version revised A. Fixed issue with being not compiled because of the syntaxis.

0.7.0.0 – 2020-06-24

  • Seventh version. Changed Double to Float in the MMSyn7l module so that the functons can be consistent with new dobutokO packages. Besides, the double precision is not needed and in some cases is meaningless and can potentially (a little bit, however) reduce performance in some cases. Some minor code and documentation improvements.

0.8.0.0 – 2020-08-16

  • Eighth version. Changed the dependency of mmsyn7ukr bounds.

0.9.0.0 – 2021-02-15

  • Ninth version. Removed vector-related dependencies. Some code improvements.

0.9.1.0 – 2022-08-16

  • Ninth version revised. Updated the dependencies to support the newer GHC-9* serios. Some minor code improvements.

0.9.2.0 – 2024-12-19

  • Ninth version revised B. Updated the dependencies. Added github repository and bug-tracker.