WAVE-0.1.5: writetest.hs
--- Bart Massey 03/2020
--- Write a 1-second 48Ksps 240Hz half-amplitude mono square
--- wave into "square.wav".
import Data.Bits
import Data.WAVE
main :: IO ()
main = do
let header =
WAVEHeader {
waveNumChannels = 1,
waveFrameRate = 48000,
waveBitsPerSample = 16,
waveFrames = Nothing
}
let ampl = 1 `shiftL` 30
let samples = concat $ replicate 240 $
replicate 100 [-ampl] ++ replicate 100 [ampl]
let square =
WAVE {
waveHeader = header,
waveSamples = samples
}
putWAVEFile "square.wav" square