hsc3-sf-0.8: Help/rescale.help.hs
-- 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"
-}