a = Canvas() d = FM('bass').note.seq( [0,7], 1/8 ) e = Follow( d, 4096 ) //when mapping 2D you need to use the draw loop and grab instantaneous values a.draw = function() { a.clear() var size = 500 var size2 = e.getValue() * 2500 //use amplitude follower to get instantaneous amp //var size2 = d.frequency //or grab instantaneous frequency a.rectangle( 0,400, size, size2).fill('red') } //when mapping to 3D you can simply capitalize properties to create continuous mappings mysine = Sine(); mycube = Cube(); mycube.scale = mysine.Frequency mysine.frequency.seq( [220,440,880,1760], 1/4 ) dots = Dots() dots.scale = Mouse.X