diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -22,3 +22,7 @@
 
 * Third version revised A. Fixed email address of the maintainer in the cabal file.
 
+## 0.3.1.0 -- 2024-12-19
+
+* Third version revised B. Added playA to Sound.SoXBasics module from the mmsyn7ukr-array package.
+
diff --git a/Sound/SoXBasics.hs b/Sound/SoXBasics.hs
--- a/Sound/SoXBasics.hs
+++ b/Sound/SoXBasics.hs
@@ -46,6 +46,8 @@
   , noiseProfB, noiseProfE, noiseReduceB, noiseReduceE, noiseReduceBU, noiseReduceEU
   , sincA
   , volS, volS2
+  -- * Playback
+  , playA
 ) where
 
 import System.Directory
@@ -528,6 +530,20 @@
   else catchEnd ExecutableNotProperlyInstalled >> return ("","")
 
 ---------------------------------------------------------------
+
+-- | Function 'playA' plays the given file with SoX. For Windows it uses \"-t waveaudio -d\" options for SoX.
+playA :: FilePath -> IO ()
+playA file 
+   | take 5 os == "mingw" = 
+      if isJust (showE "sox") 
+          then readProcessWithExitCode (fromJust (showE "sox")) [file, "-t", "waveaudio", "-d"] "" >> return ()
+          else catchEnd ExecutableNotProperlyInstalled
+   | otherwise = 
+      if isJust (showE "play") 
+          then readProcessWithExitCode (fromJust (showE "play")) [file] "" >> return ()
+          else catchEnd ExecutableNotProperlyInstalled
+
+--------------------------------------------------------------
 
 getMaxA = getMaxAG W
 
diff --git a/mmsyn7ukr-common.cabal b/mmsyn7ukr-common.cabal
--- a/mmsyn7ukr-common.cabal
+++ b/mmsyn7ukr-common.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                mmsyn7ukr-common
-version:             0.3.0.1
+version:             0.3.1.0
 synopsis:            Some common for mmsyn7ukr and mmsyn7ukr-array functionality using SoX.
 description:         A program and a library that can be used as a simple basic interface to some SoX functionality.
 homepage:            https://hackage.haskell.org/package/mmsyn7ukr-common
