packages feed

hsc3-sf-0.7: Help/rescale.help.hs

-- Change the gain of an audio file.

import qualified Sound.File.NeXT as N
import System.Environment

rescale :: Double -> FilePath -> IO ()
rescale n fn = do 
  (N.Header nf _ sr nc, d) <- N.read fn
  let d' = map (map (* n)) d
  N.write (fn ++ ".rescale.au") (N.Header nf N.Float sr nc) d'

main :: IO ()
main = do 
  [g, f] <- getArgs
  rescale (read g) f

{-
rescale 0.25 "/home/rohan/audio/text.snd"
-}