A method of producing signals for neuromodulation has the steps of producing a starting signal using an oscillator, and shaping the frequency spectrum of the signal, wherein the signal is configured to be used for neuromodulation treatment. The starting signal is selected from the group consisting of a pulse wave, a sine wave, a triangle wave, a sawtooth wave and a reverse sawtooth wave. The signals may be added allowing the frequency spectrum of the signal to be shaped according to the formula:f(t)=a0+∑k=1nakΨk(bkπt),The frequency spectrum of the signal may be shaped by pulse width modulation, frequency modulation, and one or more filters may be applied to the signal.