úÎ70ÛK      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG H I J  SafeK¹Disable sigPIPE for a local action. If we don't call this, GHCi quits, when the playing command is aborted with CTRL-C. Unfortunately there doesn't seem to be another way of doing this.KLKLKLNone M N O  M N O SafePQRSTUVWXYZ[\] PQRSTUVWXYZ[ PQRSTUVWXYZ[\] Safe^_^_^_Safe`abcdef`abcde`abcdefSafe"You can combine options using the g functions h and iV. When the same option is given multiple times, only the first occurence is respected.jklmjkljklmSafeSafen !"#$  !"  !" n !"#$SafeSafe%&'()*+,-./0123%&'()*+,-./0123%&'()*+,-./0123%&'()*+,-./0123Safe9ÿ The floating point instances are dangerous, because Storable Float may not use IEEE format that sox uses according to its man page. This is strange since sox uses the host's endianess for multi-byte values. So, why does it not use the machine's floating point format? 456789:;<=>?4545 456789:;<=>?Safe@ „:load Sound.Sox.Play Sound.Sox.Signal.List simple Sound.Sox.Signal.List.put Option.none 11025 (iterate (1000+) (0::Data.Int.Int16))@!Writer routine - e.g.  or   sample rate A!Writer routine - e.g.  or  source options, usually none target options  sample rate @A@A@ASafeC7Unfortunately we cannot retrieve the sample rate using sox. However there is soxi2 for this purpose, which we may support in future. ÿÿ:load Sound.Sox.Read Sound.Sox.Signal.List :module + Control.Exception bracket (open Option.none "test.aiff") close $ \h -> withHandle2 Sound.Sox.Signal.List.getContents h >>= \x -> print (Control.Monad.Exception.Asynchronous.result x :: [Data.Int.Int16]) BopqrsCtDEFBCDEFBCDEFBopqrsCtDEF SafeGESox determines the output format from the filename extension or from ). Make sure that you provide one of them. œ:load Sound.Sox.Write Sound.Sox.Signal.List simple Sound.Sox.Signal.List.put Option.none "test.aiff" 11025 (take 100 $ iterate (1000+) (0::Data.Int.Int16))IThe traversable functor f might be ur or '[]'. It allows you to write to many files simultaneously and returns the exit codes of all writing processes.vG!Writer routine - e.g.  or   sample rate H!Writer routine - e.g.  or  source options, usually none target options  sample rate I!Writer routine - e.g.  or  source options, usually none target options  sample rate wsource options, usually none target options  sample rate xGHIGHIvGHIwx SafeJ N:load Sound.Sox.Convert simple Option.none "test.aiff" Option.none "test.wav"Jsource options source file name target options target file name JJJy !"# $%&'()*+)',(-./0123456789:;<=>?@A)BCDEFGHIJK+LMNOPQ + L R + S TUVW  * + ) X '  , ( - . / 0 1 * Y*Y$Z[\]^_]^`]^a*Yb\XMcdefg]^h M N Oi"sox-0.2.2.7-HA4qnFZBgKq82MEbS2f0f4Sound.Sox.Frame.StereoSound.Sox.FrameSound.Sox.Signal.ListSound.Sox.FormatSound.Sox.Option.FormatSound.Sox.InformationSound.Sox.PlaySound.Sox.ReadSound.Sox.WriteSound.Sox.ConvertSound.Sox.SystemSound.Sox.Private.InformationSound.Sox.Private.FormatSound.Sox.Private.ArgumentsSound.Sox.Private.OptionputData.StorableVectorhPut)sample-frame-0.0.3-7jQwjAPe17iIxZimeavW4NSound.Frame.StereoconsrightleftT Sound.Frame withSignalnumberOfChannelsIOReadException ReadException writeFile withReadFile getContents$fShowReadException$fEqReadException$fEnumReadExceptionsinglenonenumberOfChannelsAuto sampleRate bitsPerSampleformatConssimplelengthget exampleMulti exampleSingle$fApplicativeT $fFunctorTcustomaiffwaveoggmp3iff8svxmuLaw signedByte unsignedByte signedWord unsignedWord signedLong unsignedLongieeeSinglePrecisionieeeDoublePrecisionC$fCT$fCT0 $fCDouble$fCFloat$fCInt32 $fCWord32$fCInt16 $fCWord16$fCInt8$fCWord8extendedHandleopenclose withHandle1 withHandle2 manyExtended catchCtrlC ignoreCtrlC BrokenFrameputFramegetFrame simpleReaddeconsfileNamepipe $fMonoidTbaseGHC.BaseMonoidmappendmconcat toArguments pipeInput pipeOutput pipeError processIdopenAuxMaybe