diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -47,3 +47,9 @@
 ## 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.
diff --git a/MMSyn7l.hs b/MMSyn7l.hs
--- a/MMSyn7l.hs
+++ b/MMSyn7l.hs
@@ -6,11 +6,14 @@
 -- Maintainer  :  olexandr543@yahoo.com
 --
 -- A program and a library to modify the amplitude of the sound representations for 
--- the Ukrainian language created by mmsyn7ukr package or somehow otherwise.
+-- the Ukrainian language created by mmsyn7ukr package or somehow otherwise. Besides
+-- it can be used to adjust volume for the sequential \"result*.wav\" files.
 --
 
 module MMSyn7l where
 
+import qualified Data.List as L (sort,isPrefixOf)
+import System.Directory (listDirectory)
 import Data.Char (toUpper, isDigit)
 import qualified SoXBasics as SB
 import qualified SoXBasics1 as SB1
@@ -49,53 +52,60 @@
 -- 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.
-changeVolume :: FilePath -> IO ()
-changeVolume file = do
+-- and so on. 'Int' parameter is used to control the informational output
+-- (to get it, specify 1). 
+changeVolume ::  Int -> FilePath -> IO ()
+changeVolume n file = do
   SB.playA file
-  let sound = getBFst' ("е", V.fromList . zip ["A.wav", "B.wav", "C.wav", "D.wav", "E.wav", "F.wav", "G.wav", "H.wav", 
-        "I.wav", "J.wav", "K.wav", "L.wav", "M.wav", "N.wav", "O.wav", "P.wav", "Q.wav", "R.wav", 
+  case n of
+   1 -> do 
+    let sound = getBFst' ("е", V.fromList . zip ["A.wav", "B.wav", "C.wav", "D.wav", "E.wav", "F.wav", "G.wav", "H.wav", 
+         "I.wav", "J.wav", "K.wav", "L.wav", "M.wav", "N.wav", "O.wav", "P.wav", "Q.wav", "R.wav", 
           "S.wav", "T.wav", "U.wav", "V.wav", "W.wav", "X.wav", "Y.wav", "Z.wav", "a.wav", "b.wav", "c.wav", 
             "d.wav", "e.wav", "f.wav"] $ ["а","б","в","г","д","дж","дз", "е","ж","з","и","й","к","л","м","н","о","п","р",
               "с","сь","т","у","ф","х","ц","ць","ч","ш","ь","і","ґ"]) file
-  putStrLn $ "You can now change the volume for the played sound representation for the Ukrainian sound " ++ show (map toUpper sound)
-  putStrLn ""
-  putStr "Please, specify the change by passing a String of digits (with may be a preceding symbol \'-\'). "
-  putStr ""
-  putStr "For the proper proceeding you specify a String, which consists of 4 "
-  putStr "digits (and it may be preceded by a symbol \"-\"). If the String "
-  putStr "begins with the \"-\", then a sound amplitude decreases, otherwise "
-  putStr "the amplitude increases. The level of increase / decrease is "
-  putStr "determined by the magnitude of the absolute value of integer numbers. "
-  putStr "The greater is the number -- the greater is the amplitude change. "
-  putStr "The count begins with \"0000\" and ends with \"9999\" (the sign is not "
-  putStr "taken into consideration). If there is less than 4 digits in a String, "
-  putStr "then the String is equivalent to that one with the appropriate number "
-  putStr "of zeroes preceding to fulfill to the 4 needed digits (for example, "
-  putStr "\"657\" is equivalent to \"0657\", \"-2\" is equivalent to \"-0002\" etc.). "
-  putStr "In such a case, for the Strings without the "
-  putStr "initial sign \"-\" (the sound increases) an interval between the "
-  putStr "maximum by modulus value of the amlitude (which is represented by the "
-  putStr "parts of 1) and 1.0 is divided into 10 equal parts (starting a count "
-  putStr "from 0) and then that one of them is selected, which has a number "
-  putStr "determined by the first digit in the String writing. Then (if specified "
-  putStr "further) the interval between this amplitude value and a value, "
-  putStr "which corresponds to the selection on the previous step the next "
-  putStr "first digit in the writing (for example, after \"4\" -- \"5\", "
-  putStr "after \"7\" -- \"8\" etc.), greater by 1 than the actually selected one, "
-  putStr "is also divided again into 10 equal parts and that one is selected, "
-  putStr "which corresponds to the number determined by the second digit in the "
-  putStr "String writing (again beginning with \"0\" and ending with \"9\") and so on "
-  putStr "until the 4th level. The greater exactness is not needed because our "
-  putStr "hearing ability hardly distinguish such a subtle sound changes. If "
-  putStr "the String has as a first element the \'-\' Char (the sound decreases), "
-  putStr "then everything is analogously the same, but an interval between the "
-  putStr "maximum by modulus amplitude value and 0.0 is divided into 10 equal parts "
-  putStrLn "and so on. "
-  onException (specifyVol file) (do
+    putStrLn $ "You can now change the volume for the played sound representation for the Ukrainian sound " ++ show (map toUpper sound)
     putStrLn ""
-    putStrLn "Something went wrong for the sound representation, please, check the input value and repeat once more! "
-    specifyVol file)
+    putStr "Please, specify the change by passing a String of digits (with may be a preceding symbol \'-\'). "
+    putStr ""
+    putStr "For the proper proceeding you specify a String, which consists of 4 "
+    putStr "digits (and it may be preceded by a symbol \"-\"). If the String "
+    putStr "begins with the \"-\", then a sound amplitude decreases, otherwise "
+    putStr "the amplitude increases. The level of increase / decrease is "
+    putStr "determined by the magnitude of the absolute value of integer numbers. "
+    putStr "The greater is the number -- the greater is the amplitude change. "
+    putStr "The count begins with \"0000\" and ends with \"9999\" (the sign is not "
+    putStr "taken into consideration). If there is less than 4 digits in a String, "
+    putStr "then the String is equivalent to that one with the appropriate number "
+    putStr "of zeroes preceding to fulfill to the 4 needed digits (for example, "
+    putStr "\"657\" is equivalent to \"0657\", \"-2\" is equivalent to \"-0002\" etc.). "
+    putStr "In such a case, for the Strings without the "
+    putStr "initial sign \"-\" (the sound increases) an interval between the "
+    putStr "maximum by modulus value of the amlitude (which is represented by the "
+    putStr "parts of 1) and 1.0 is divided into 10 equal parts (starting a count "
+    putStr "from 0) and then that one of them is selected, which has a number "
+    putStr "determined by the first digit in the String writing. Then (if specified "
+    putStr "further) the interval between this amplitude value and a value, "
+    putStr "which corresponds to the selection on the previous step the next "
+    putStr "first digit in the writing (for example, after \"4\" -- \"5\", "
+    putStr "after \"7\" -- \"8\" etc.), greater by 1 than the actually selected one, "
+    putStr "is also divided again into 10 equal parts and that one is selected, "
+    putStr "which corresponds to the number determined by the second digit in the "
+    putStr "String writing (again beginning with \"0\" and ending with \"9\") and so on "
+    putStr "until the 4th level. The greater exactness is not needed because our "
+    putStr "hearing ability hardly distinguish such a subtle sound changes. If "
+    putStr "the String has as a first element the \'-\' Char (the sound decreases), "
+    putStr "then everything is analogously the same, but an interval between the "
+    putStr "maximum by modulus amplitude value and 0.0 is divided into 10 equal parts "
+    putStrLn "and so on. "
+    onException (specifyVol file) (do
+      putStrLn ""
+      putStrLn "Something went wrong for the sound representation, please, check the input value and repeat once more! "
+      specifyVol file)
+   _ -> onException (specifyVol file) (do
+         putStrLn ""
+         putStrLn "Something went wrong for the sound representation, please, check the input value and repeat once more! "
+         specifyVol file)
 
 -- | Function 'specifyVol' is used internally in the 'changeVolume' to get the @String@ and to apply the needed change. 
 specifyVol :: FilePath -> IO ()
@@ -148,4 +158,26 @@
               ratio = 1.0 + (delta / ampl) * coefA
           SB1.volS file (ratio * ampl)
     else catchEnd (StrangeAnswer "SoXBasics1" "volS")
-      
+
+-- | Works with the \"result*.wav\" files in the current directory: it adjusts volume levels for the sequence of them starting from the 
+-- first argument in a list and ending with the second one (if specified). If there is no first -- all such files are adjusted; if there is no second one -- 
+-- the files are adjusted to the last one. Count starts at 0. 
+adjustVolRes :: [String] -> IO ()
+adjustVolRes args = do
+  dir <- listDirectory "."
+  let dirV0 = L.sort . filter (L.isPrefixOf "result") $ dir
+      dirV = V.fromList dirV0
+      first0 = concat . take 1 . drop 1 $ args
+      last0  = concat . take 1 . drop 2 $ args
+      idxAllN = V.length dirV - 1
+  onException (do { 
+    let first1 = read first0::Int
+        last1 = read last0::Int
+        first2 = min (abs first1) (abs last1)
+        last2 = max (abs first1) (abs last1)
+        first = if compare first2 idxAllN == GT then 0 else first2
+        last =  if compare last2 idxAllN == GT then idxAllN else last2
+     ; mapM_ (changeVolume 1) (V.unsafeSlice first last dirV)
+     ; putStrLn ""
+     ; putStrLn "Now you have changed (or left unchanged) the amplitudes for the needed \"result*.wav\" sound files." }) (do
+         error "Please, specify a right numbers for the first and last files to be adjusted starting count from 0.")
diff --git a/Main.hs b/Main.hs
--- a/Main.hs
+++ b/Main.hs
@@ -6,12 +6,14 @@
 -- Maintainer  :  olexandr543@yahoo.com
 --
 -- A program and a library to modify the amplitudes of the sound representations for 
--- the Ukrainian language created by mmsyn7ukr package or somehow otherwise.
+-- the Ukrainian language created by mmsyn7ukr package or somehow otherwise. Besides
+-- it can be used to adjust volume for the sequential \"result*.wav\" files.
 --
 
 module Main where
 
-import MMSyn7l (changeVolume)
+import Control.Exception (onException)
+import MMSyn7l (changeVolume,adjustVolRes)
 import qualified Data.Vector as V
 import CaseBi (getBFst')
 import System.Environment (getArgs)
@@ -26,7 +28,7 @@
     [] -> do
       putStrLn "Now you can change the amplitude of the sound representations of the Ukrainian sounds (or something similar). "
       putStrLn ""
-      mapM_ changeVolume ["A.wav", "B.wav", "C.wav", "D.wav", "E.wav", "F.wav", "G.wav", "H.wav", 
+      mapM_ (changeVolume 1) ["A.wav", "B.wav", "C.wav", "D.wav", "E.wav", "F.wav", "G.wav", "H.wav", 
         "I.wav", "J.wav", "K.wav", "L.wav", "M.wav", "N.wav", "O.wav", "P.wav", "Q.wav", "R.wav", 
           "S.wav", "T.wav", "U.wav", "V.wav", "W.wav", "X.wav", "Y.wav", "Z.wav", "a.wav", "b.wav", "c.wav", 
             "d.wav", "e.wav", "f.wav"]
@@ -37,15 +39,20 @@
       putStrLn "SYNOPSYS: "
       putStrLn "mmsyn7l -h    OR"
       putStrLn "mmsyn7l -v    OR"
+      putStrLn "mmsyn7l -r [number-of-the-first-file-to-be-volume-adjusted [number-of-the-last-file-to-be-volume-adjusted]]   OR"
       putStrLn "mmsyn7l [list-of-needed-sounds-to-be-amplitude-modified]"
       putStrLn "\"-h\" prints this message."
       putStrLn "\"-v\" prints version number of the program."
+      putStr "\"-r\" works with the \"result*.wav\" files in the current directory: it adjusts a volume for the sequence of them starting from the "
+      putStr "first argument and ending with the second (if specified). If there is no first -- all such files are adjusted; if there is no second one -- "
+      putStrLn "the files are adjusted to the last one. Count starts at 0. "
       putStr "[list-of-needed-sounds-to-be-amplitude-modified (if given) -- the program modifies the amplitudes in the interactive mode only for the "
       putStrLn "given sound representations. If not specified, the program modifies the amplitudes for all non-pause Ukrainian sounds representations."
       putStrLn ""
     ("-v":_)  -> do
-      putStrLn "mmsyn7l version: 0.3.2.0"
+      putStrLn "mmsyn7l version: 0.4.0.0"
       putStrLn ""
+    ("-r":_)  -> adjustVolRes . drop 1 $ args
     _         ->  do
       putStrLn "Now you can change the amplitude of the needed sound representations of the Ukrainian sounds (or something similar). "
       putStrLn ""
@@ -58,7 +65,7 @@
                          "I.wav", "J.wav", "K.wav", "L.wav", "M.wav", "N.wav", "O.wav", "P.wav", "Q.wav", "R.wav", 
                            "S.wav", "T.wav", "U.wav", "V.wav", "W.wav", "X.wav", "Y.wav", "Z.wav", "a.wav", "b.wav", "c.wav", 
                              "d.wav", "e.wav", "f.wav"])) zss
-      mapM_ changeVolume wws
+      mapM_ (changeVolume 1) wws
       putStrLn ""
       putStrLn "Now you have changed (or left unchanged) the amplitudes for the needed sound representations for the Ukrainian language. "
       putStrLn "Please, remember about responsible usage especially in case of processing the real voice sound samples! "
diff --git a/README.markdown b/README.markdown
--- a/README.markdown
+++ b/README.markdown
@@ -35,7 +35,7 @@
          ***** Command Line Arguments *****
          ----------------------------------
          
-If you specify a command line argument (other than "-h" or "-v"),
+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:
@@ -47,5 +47,10 @@
 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.
 
diff --git a/mmsyn7l.cabal b/mmsyn7l.cabal
--- a/mmsyn7l.cabal
+++ b/mmsyn7l.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                mmsyn7l
-version:             0.3.2.0
+version:             0.4.0.0
 synopsis:            Modifies the amplitudes of the Ukrainian sounds representations created by mmsyn7ukr package.
 description:         A program and a library to modify the amplitudes of the Ukrainian sounds representations created by mmsyn7ukr package or somehow otherwise.
 homepage:            https://hackage.haskell.org/package/mmsyn7l
@@ -20,7 +20,7 @@
   exposed-modules:     Main, MMSyn7l
   -- other-modules:
   -- other-extensions:
-  build-depends:       base >=4.7 && <4.14, mmsyn7ukr >=0.11 && <1, vector >=0.11 && <0.14, mmsyn2 >=0.1.7 && <1
+  build-depends:       base >=4.7 && <4.14, mmsyn7ukr >=0.15.3 && <1, vector >=0.11 && <0.14, mmsyn2 >=0.1.7 && <1, directory >=1.2.7 && <2
   -- hs-source-dirs:
   default-language:    Haskell2010
 
@@ -28,6 +28,6 @@
   main-is:             Main.hs
   -- other-modules:
   -- other-extensions:
-  build-depends:       base >=4.7 && <4.14, mmsyn7ukr >=0.11 && <1, vector >=0.11 && <0.14, mmsyn2 >=0.1.7 && <1
+  build-depends:       base >=4.7 && <4.14, mmsyn7ukr >=0.15.3 && <1, vector >=0.11 && <0.14, mmsyn2 >=0.1.7 && <1, directory >=1.2.7 && <2
   -- hs-source-dirs:
   default-language:    Haskell2010
