How to make an instrument/track trigger an envelope modulating a filter?

I'm having trouble figuring out how to trigger the playdate.sound.envelope object. I want it to retrigger every time a note is played by the "bass" instrument on the "bass_track" track. But it doesn't seem like the envelope is triggering at all. The envelope is controlling the filter cutoff frequency. I'm using the simulator on Windows.

-- Bass
local vco_1 = snd.synth.new(snd.kWaveSquare)
local vco_2 = snd.synth.new(snd.kWaveTriangle)

local bass = snd.instrument.new()
bass:addVoice(vco_1)
bass:addVoice(vco_2)

-- Envelope
local atk = 0.005
local dec = 0.15
local sus = 0.05
local rel = 0.5
local bass_filter_env = snd.envelope.new(atk, dec, sus, rel)
bass_filter_env:setLegato(false)
bass_filter_env:setRetrigger(true)

-- Filter
local bass_filter = snd.twopolefilter.new(snd.kFilterLowPass)
local freq = 3000
bass_filter:setFrequency(freq)
local res = 0.7
bass_filter:setResonance(res)
bass_filter:setMix(1)
bass_filter:setFrequencyMod(bass_filter_env)
snd.addEffect(bass_filter)

-- Bass Track
local bass_track = snd.track.new()
bass_track:setInstrument(bass)
bass_track:addNote(1, "Bb2", 1)
bass_track:addNote(4, "Ab3", 1)
bass_track:addNote(7, "Bb3", 1)
bass_track:addNote(11, "C3", 1)
bass_track:addNote(13, "C#3", 1)
bass_track:addNote(15, "D3", 1)
bass_track:addNote(17, "Eb3", 1)
bass_track:addNote(20, "Bb3", 1)
bass_track:addNote(23, "Db4", 1)
bass_track:addNote(27, "G2", 1)
bass_track:addNote(29, "G#2", 1)
bass_track:addNote(31, "A2", 1)

-- Sequence
local sequence = snd.sequence.new()
sequence:addTrack(bass_track)
sequence:setTempo(90 / 15)  -- bpm / 15
sequence:setLoops(1,32)

sequence:play()