How can I shift the frequency of a whole audio file. So as if there was a sound at 500 Hz and I wanted to shift the audio by 50 Hz, that sound would then be at 550 Hz, and a sound at 1000 Hz would be shifted to 1050 Hz?
-
That wouldn't produce the desired result, I don't think. to transpose sounds equally - i.e. remain 'in key' with each other relatively, you need to multiply frequencies, not add. Freeware Audacity can probably do something like that, though it would likely be note-based rather than frequency.– TetsujinApr 11, 2015 at 17:05
-
What do you want to achieve by shifting the frequency spectrum? At the moment it's a bit unclear how we can help.. Tetsujin is right btw.– Arnoud TraaApr 11, 2015 at 17:17
-
@Tetsujin how do you know what is the desired result? Frequency shifting is indeed a pretty exotic thing and is completely different from pitch shift, but sometimes it can actually give quite a useful effect.– leftaroundaboutApr 11, 2015 at 18:58
-
spectralayers can scale/shift frequency...– textureApr 20, 2015 at 17:21
1 Answer
That operation is indeed called frequency shifting. It can be achieved with a Hilbert transform. How is described in this article – pretty easy to code it up yourself in any DSP language of choice1, but I'm not aware of any tools that offer this as a standard operation.
The thing is, frequency shifting is a pretty weird operation. For audio purposes, it is quite reminiscent of the typical ring-modulation character (which isn't entirely surprising, since it is implemented with multipliers). At any rate, if you frequency-shift, say, human voice, up a few Hz, it'll sound nothing like the same voice speaking/singing a tone higher, because the harmonics don't match anymore. Are you sure what you want is not pitch shift (which multiplies all frequency by some factor)? That's available in many free or commercial implementations, e.g. Rubber Band.
1Much easier than pitch shift.
-
Ableton Live has a frequency shifter as part of its native audio effects.– NPN328Apr 12, 2015 at 4:33