-- Change the gain of an audio file. import qualified Sound.File.NeXT as F import System.Environment rescale :: Double -> FilePath -> IO () rescale n fn = do (hdr, d) <- F.read fn let d' = map (map (* n)) d hdr' = hdr { F.encoding = F.Float } F.write (fn ++ ".rescale.au") hdr' d' main :: IO () main = do a <- getArgs case a of [g, fn] -> rescale (read g) fn _ -> putStrLn "rescale gain-multiplier file-name" {- rescale 0.25 "/home/rohan/audio/text.snd" -}