From the original SynthMaker forum (2004–2014), with its members’ names and dates.
ajmallett ·
Hi Guys,
I'm new to SynthMaker and I'm having a good look under the hood. I have a specific project in mind and I want to create a delay effect. As it'll take some time to get to grips with creating my own module, I hoping someone can point me in a good direction.
I want to create a delay effect that delays the incoming signal based upon the frequency of the signal rather than a predetermined increment of time. I want the delay to be 1/4 the frequency of the input.
A weird thing to do perhaps, but anyone have an idea how to proceed?
Thanks in advance!
trogluddite ·
Welcome to the forum,
ajmallett wrote: I want the delay to be 1/4 the frequency of the input.
The answers you need are certainly on the forum, but which answers depends on which of these two things you are trying to do...
A) The entire signal delayed by the same amount, dependent on the fundamental frequency (regardless of the harmonic content)
...or...
B) A 90 degree phase shift for each individual frequency component - i.e. putting your signal onto the complex number plane, for instantaneous power measurement/Fourier analysis etc
For method (A) you'll need a regular delay with the time set by a pitch detector - if you search for 'pitch detect' you will find threads that have examples of several methods (zero-crossing, autocorrelation, FFT etc.). Once you have the pitch, some simple maths can calculate the delay time for feeding into the 'Interpolated Delay' module in the SM toolbox.
For method B, you require a Hilbert transform. There's a schematic in the Frequency Shifter Thread that contains a Hilbert Transform module. This gives a pretty accurate 90 degree phase shift from about 30Hz up to 20kHz using a series of all-pass filters.
ajmallett ·
Thanks Trogluddite!
I'll check out the thread. It is a 90 degrees phase shift that I'm after - it's method B then 🙂
Thanks again!
Leslie147 ·
I've had success using an FIR Hilbert Transformer, with all the usual caveats about building long FIRs in Synth Maker. I used the coefficient calculator at http://www-users.cs.york.ac.uk/~fisher/ ... lbert.html. The longest I've tried so far was 129 taps but, of course, the array of coeffs is symmetrical so there are only 63 different ones. I haven't tried measuring the phase and amplitude errors over the audio band but, subjectively, a (SSB) frequency translator using this transformer has enough usable bandwidth to sound interesting. It does the effect Alan Parsons put on the backing vocals in PF's 'Time' quite convincingly!
Chris
martinvicanek ·
Thanks for the link, Chris!
Wrote something here? To have a post removed or your name hidden, write to [email protected].