diff --git a/csound-sampler.cabal b/csound-sampler.cabal
--- a/csound-sampler.cabal
+++ b/csound-sampler.cabal
@@ -1,5 +1,5 @@
 name:                csound-sampler
-version:             0.0.4.0
+version:             0.0.5.0
 license:             BSD3
 license-file:        LICENSE
 author:              Anton Kholomiov
@@ -25,7 +25,7 @@
 library
   Ghc-Options:    -Wall
   Hs-Source-Dirs:      src/
-  build-depends:       base >= 4, base < 5, transformers >= 0.3, csound-expression >= 4.4
+  build-depends:       base >= 4, base < 5, transformers >= 0.3, csound-expression >= 4.5
   exposed-modules:     
     Csound.Sam
     Csound.Sam.Core
diff --git a/src/Csound/Sam.hs b/src/Csound/Sam.hs
--- a/src/Csound/Sam.hs
+++ b/src/Csound/Sam.hs
@@ -10,6 +10,11 @@
 	wav, wavr, seg, segr, rndWav, rndWavr, rndSeg, rndSegr, ramWav,
 	-- ** Mono
 	wav1, wavr1, seg1, segr1, rndWav1, rndWavr1, rndSeg1, rndSegr1, ramWav1,	
+	-- * Reading from RAM
+	-- ** Stereo
+	ramLoop, ramRead, segLoop, segRead, relLoop, relRead,
+	-- ** Mono	
+	ramLoop1, ramRead1, segLoop1, segRead1, relLoop1, relRead1,
 	-- * Envelopes
 	linEnv, expEnv, hatEnv, decEnv, riseEnv, edecEnv, eriseEnv,
 	-- * Arrange
@@ -522,3 +527,55 @@
 	toSam x = Sam $ do
 		y <- lift x
 		return $ S y InfDur
+
+---------------------------------------------------------------
+--- reading from RAM
+
+
+-- | It's the same as loopRam but wrapped in Sam (see "Csound.Air.Wav").
+ramLoop :: Fidelity -> TempoSig -> PitchSig -> String -> Sam
+ramLoop winSize tempo pitch file = toSam $ loopRam winSize tempo pitch file
+
+-- | It's the same as readRam but wrapped in Sam (see "Csound.Air.Wav").
+ramRead :: Fidelity -> TempoSig -> PitchSig -> String -> Sam
+ramRead winSize tempo pitch file = sig2 (lengthSnd file / ir tempo) $ readRam winSize tempo pitch file
+
+-- | It's the same as loopSeg but wrapped in Sam (see "Csound.Air.Wav").
+segLoop :: Fidelity -> (Sig, Sig) -> TempoSig -> PitchSig -> String -> Sam
+segLoop winSize ds tempo pitch file = toSam $ loopSeg winSize ds tempo pitch file
+
+-- | It's the same as readSeg but wrapped in Sam (see "Csound.Air.Wav").
+segRead :: Fidelity -> (Sig, Sig) -> TempoSig -> PitchSig -> String -> Sam
+segRead winSize ds@(kmin, kmax) tempo pitch file = sig2 (ir $ (kmax - kmin) / tempo) $ readSeg winSize ds tempo pitch file
+
+-- | It's the same as loopRel but wrapped in Sam (see "Csound.Air.Wav").
+relLoop :: Fidelity -> (Sig, Sig) -> TempoSig -> PitchSig -> String -> Sam
+relLoop winSize ds tempo pitch file = toSam $ loopRel winSize ds tempo pitch file
+
+-- | It's the same as readRel but wrapped in Sam (see "Csound.Air.Wav").
+relRead :: Fidelity -> (Sig, Sig) -> TempoSig -> PitchSig -> String -> Sam
+relRead winSize ds@(kmin, kmax) tempo pitch file = sig2 (ir $ (kmax - kmin) / tempo) $ readRel winSize ds tempo pitch file
+
+-- | It's the same as loopRam1 but wrapped in Sam (see "Csound.Air.Wav").
+ramLoop1 :: Fidelity -> TempoSig -> PitchSig -> String -> Sam
+ramLoop1 winSize tempo pitch file = toSam $ loopRam1 winSize tempo pitch file
+
+-- | It's the same as readRam1 but wrapped in Sam (see "Csound.Air.Wav").
+ramRead1 :: Fidelity -> TempoSig -> PitchSig -> String -> Sam
+ramRead1 winSize tempo pitch file = sig1 (lengthSnd file / ir tempo) $ readRam1 winSize tempo pitch file
+
+-- | It's the same as loopSeg1 but wrapped in Sam (see "Csound.Air.Wav").
+segLoop1 :: Fidelity -> (Sig, Sig) -> TempoSig -> PitchSig -> String -> Sam
+segLoop1 winSize ds tempo pitch file = toSam $ loopSeg1 winSize ds tempo pitch file
+
+-- | It's the same as readSeg1 but wrapped in Sam (see "Csound.Air.Wav").
+segRead1 :: Fidelity -> (Sig, Sig) -> TempoSig -> PitchSig -> String -> Sam
+segRead1 winSize ds@(kmin, kmax) tempo pitch file = sig1 (ir $ (kmax - kmin) / tempo) $ readSeg1 winSize ds tempo pitch file
+
+-- | It's the same as loopRel1 but wrapped in Sam (see "Csound.Air.Wav").
+relLoop1 :: Fidelity -> (Sig, Sig) -> TempoSig -> PitchSig -> String -> Sam
+relLoop1 winSize ds tempo pitch file = toSam $ loopRel1 winSize ds tempo pitch file
+
+-- | It's the same as readRel1 but wrapped in Sam (see "Csound.Air.Wav").
+relRead1 :: Fidelity -> (Sig, Sig) -> TempoSig -> PitchSig -> String -> Sam
+relRead1 winSize ds@(kmin, kmax) tempo pitch file = sig1 (ir $ (kmax - kmin) / tempo) $ readRel1 winSize ds tempo pitch file
