SynthMaker

New Delay/Echo Module

Archive · 2011 5 old posts

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].

Before your first post

A few rules keep this a friendly place. You agree to them once.

Shown next to what you post, here and in the app. It doesn’t have to be your real name: 3–24 lower-case letters, digits or _ (capitals become lower case, spaces become _).

    Then your post goes up straight away.

    Delete this reply?

    Open it in SynthMaker?

    It goes on the track you’re editing there, in place of that track’s sound, and into My sounds. Your other tracks stay as they are.

    Want to keep that track’s sound? Start a new song in SynthMaker first (Song › New song), then open this.

    Report this reply?

    Only the developer reads reports. The person isn’t told who reported them.

    What’s wrong with it?

    Block this person?

    You won’t see their posts and replies here any more. They aren’t told, and you can unblock them at any time.

    People you’ve blocked

    Their posts and replies are hidden from you. Unblock someone to see them again.

    The community rules

    A few rules keep this a friendly place. Everyone agrees to them once, before their first post.