Granular SynthDef Improvement

Hello, I am trying to import my synthdefs from SC to use them with Tidal and I was wondering if anyone thinks the code below could be improved a little bit drawing from their experience apropos to efficiency and quality of sound.

SynthDef(\grains, {
	| out, pan, sustain=1, speed=1, volume=0.75, trate=1, rate=1, pos=0.4 |
	var sig, env;
	env = Line.ar(1, 0, sustain, doneAction: Done.freeSelf);
	sig = PlayBuf.ar(1, b, BufRateScale.kr(b) * rate, Impulse.kr(trate), pos /BufFrames.kr(b), 0, 2);
	OffsetOut.ar(out, DirtPan.ar(sig, ~dirt.numChannels, pan, env))
}).add;

I am not sure pos is working as expected, here is the controller code

let trate = pF "trate"
let rate = pF "rate"
let pos = pF "pos"


d1
  $ cat[
    note "c ds g bf", note "c ds g bf",
    note "c f af c6", note "c f af c6"]
  # s "grains" # trate 10 # gain 2 # rate 1 # pos "0.1 0.5 0.75 1.0"