method for generating a haptic effect on a linear resonance actuator having a resonant frequency, the method comprising: receiving a haptic effect signal for the haptic effect, wherein the haptic effect comprises a desired frequency f desired that is off-resonant from the linear resonance actuator; generating a first sine wave at the desired frequency f desired; generating a second sine wave at a frequency f resonant that is an integer multiple of f desired as close as possible to the resonant frequency of the linear resonance actuator; combining the first sine wave and the second sine wave to generate a drive signal y; and applying the drive signal y to the linear resonance actuator, causing the linear resonance actuator to generate the haptic effect, wherein, for a transitional frequency range of haptic effects with the desired frequency f desired greater than or equal to a predefined low frequency and smaller than or equal to a pre-defined high frequency a smooth transitioning is provided such that the drive signal y is defined by the equation y = V desired Asin 2 πf desired t sin 2 πf resonant t + Bsin 2 πf desired t where V desired is a desired driving voltage of the linear resonance actuator, and A+B=1, wherein A and B are scaled inversely over the transitional frequency range such that an enveloped resonant signal A*sin (2 πf desired t)sin(2 πf resonant t) is dominant at a low end of the transitional frequency range, and a direct-drive signal B*sin(2π f desired t) is dominant near a high end of the transitional frequency range and wherein the enveloped resonant signal is provided for the desired frequency f desired smaller than the predefined low frequency and the direct-drive signal is provided for the the desired frequency f desired greater than the predefined high frequency. receiving a haptic effect signal for the haptic effect, wherein the haptic effect comprises a desired frequency f desired that is off-resonant from the linear resonance actuator; generating a first sine wave at the desired frequency f desired; generating a second sine wave at a frequency f resonant that is an integer multiple of f desired as close as possible to the resonant frequency of the linear resonance actuator; combining the first sine wave and the second sine wave to generate a drive signal y; and applying the drive signal y to the linear resonance actuator, causing the linear resonance actuator to generate the haptic effect, wherein, for a transitional frequency range of haptic effects with the desired frequency f desired greater than or equal to a predefined low frequency and smaller than or equal to a pre-defined high frequency a smooth transitioning is provided such that the drive signal y is defined by the equation y = V desired Asin 2 πf desired t sin 2 πf resonant t + Bsin 2 πf desired t where V desired is a desired driving voltage of the linear resonance actuator, and A+B=1, wherein A and B are scaled inversely over the transitional frequency range such that an enveloped resonant signal A*sin (2 πf desired t)sin(2 πf resonant t) is dominant at a low end of the transitional frequency range, and a direct-drive signal B*sin(2π f desired t) is dominant near a high end of the transitional frequency range and wherein the enveloped resonant signal is provided for the desired frequency f desired smaller than the predefined low frequency and the direct-drive signal is provided for the the desired frequency f desired greater than the predefined high frequency. where V desired is a desired driving voltage of the linear resonance actuator, and A+B=1, wherein A and B are scaled inversely over the transitional frequency range such that an enveloped resonant signal A*sin (2 πf desired t)sin(2 πf resonant t) is dominant at a low end of the transitional frequency range, and a direct-drive signal B*sin(2π f desired t) is dominant near a high end of the transitional frequency range and wherein the enveloped resonant signal is provided for the desired frequency f desired smaller than the predefined low frequency and the direct-drive signal is provided for the the desired frequency f desired greater than the predefined high frequency.