A method for converting an audio signal into one or more haptic effects, the method comprising: receiving a data frame of an audio signal; generating a maximum value of the data frame, wherein the maximum value of the data frame is generated by sampling the data frame to generate one or more sample values of the data frame, wherein the one or more sample values are absolute values or square values and wherein the maximum value of the data frame is a maximum value of the one or more sample values; transforming the data frame, wherein transforming the data frame comprises band-pass filtering the data frame or wherein transforming the data frame comprises low-pass filtering the data frame; generating at least one sine carrier waveform at a resonant frequency of an actuator (26, 250) based on a maximum value of the transformed data frame and mixing the transformed data frame with the at least one sine carrier waveform to generate a modulated data frame; generating a haptic signal based on the maximum value of the data frame and the modulated data frame, wherein the maximum value of the data frame determines whether the haptic signal is generated, and wherein the modulated data frame defines a waveform of the haptic signal; and sending the haptic signal to the actuator (26, 250) to generate the one or more haptic effects; wherein the step of generating at least one sine carrier waveform based on the maximum value of the data frame and mixing the transformed data frame with the at least one sine carrier waveform comprises that the transformed data frame is mixed with the at least one sine carrier waveform according to the following formula where the mixing of the transformed data frame and the at least one sine carrier waveform is normalized: a final mix of the transformed data frame and the sine carrier waveform is equal to ( mix multiplied by the transformed data frame) plus ((1- mix) multiplied by the maximum value of the transformed data frame multiplied by the at least one sine carrier waveform), wherein mix is a decimal value between 0 and 1. receiving a data frame of an audio signal; generating a maximum value of the data frame, wherein the maximum value of the data frame is generated by sampling the data frame to generate one or more sample values of the data frame, wherein the one or more sample values are absolute values or square values and wherein the maximum value of the data frame is a maximum value of the one or more sample values; transforming the data frame, wherein transforming the data frame comprises band-pass filtering the data frame or wherein transforming the data frame comprises low-pass filtering the data frame; generating at least one sine carrier waveform at a resonant frequency of an actuator (26, 250) based on a maximum value of the transformed data frame and mixing the transformed data frame with the at least one sine carrier waveform to generate a modulated data frame; generating a haptic signal based on the maximum value of the data frame and the modulated data frame, wherein the maximum value of the data frame determines whether the haptic signal is generated, and wherein the modulated data frame defines a waveform of the haptic signal; and sending the haptic signal to the actuator (26, 250) to generate the one or more haptic effects; a final mix of the transformed data frame and the sine carrier waveform is equal to ( mix multiplied by the transformed data frame) plus ((1- mix) multiplied by the maximum value of the transformed data frame multiplied by the at least one sine carrier waveform), wherein mix is a decimal value between 0 and 1.