[PD] Re: removing clicks
Chris McCormick
chris at mccormick.cx
Tue May 24 03:30:48 CEST 2005
On Mon, May 23, 2005 at 07:49:04PM +0900, hard off wrote:
> the common way people do it is to send a line message to send the
> audio level to zero at the start and end of each sound / loop /
> whatever. a line ramp taking only 5 or 10 milliseconds usually works.
Hi,
Thanks for the tip - I tried this one but for drum beats with long bass
noises the tremolo was very noticeable, and quite annoying.
> i was doing this for a long time, but now i crossfade the end of the
> first loop / beat, with the start of the next loop / beat. this means
> you don't get an audio drop (even a tiny one) at the end of each loop.
Sounds good, I'll try that one out. For the sake of search engines I am
now going to write the words de-click and getting rid of clicks.
Best,
Chris.
> On 5/23/05, matthew jones <mj at isvr.soton.ac.uk> wrote:
> > > filter which looks for discontinuities greater than a certain amplitude
> >
> > Well at first that sounds just like a low-pass filter...
> > Which would probably ruin the sound of the signal passing through it.
> >
> > Two things: you could write an abstraction/external to do a fancy non-linear
> >
> > filtering, based on a threshold. I think I remember seeing stuff in Max
> > related to this, like the 'temperature' of the signal which was simply the
> > difference between this sample and the last (..?). So you could possibly
> > control the cutoff of the low-pass filter based on the output of a 1-tap
> > high-pass IIR filter that simply gave you the difference between consecutive
> >
> > samples.. But this would bring plenty of difficulties related to reaction
> > speed and distortion. Oh, but you know when it is going to click..anyway..
> >
> > Secondly, the nicest approach would be to use windows (or envelopes) where
> > before you jump to a new place in the array, you begin fading in the new
> > position output (and fading out the old position output). If you use
> > half-sine waves around 50ms in length as your windows then I would be
> > surprised if you ever heard any more clicks.
> >
> >
> > Matt
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > http://www.loopit.org
> > -=-=-=-=-=-=-=-=-=-=-=-
> > ----- Original Message -----
> > From: "Chris McCormick" <chris at mccormick.cx>
> > To: <pd-list at iem.at>
> > Sent: Monday, May 23, 2005 8:01 AM
> > Subject: [PD] removing clicks
> >
> >
> > > Hi!
> > >
> > > Though this seems to be discussed every second day on the music-dsp
> > > list, I couldn't find anything pd-specific in the archives. If anyone
> > > has a pd specific idea of implementation of this I'd be grateful,
> > > preferably using native pd elements (I'd rather build it as an
> > > abstraction than as an external).
> > >
> > > There's a GOP abstraction which I constructed some time ago and have
> > > been using for months. It's pretty elementary - loops drum beats and
> > > jumps between different positions in the beat. My problem is a decades
> > > old one - discontinuities in the wave-form at the jump time result in an
> > > audible 'click' when the amplitude of the wave is loud enough to hear it.
> > >
> > > Someone is painting the office downstairs so this might be a paint-fume
> > > infused dsp-n00b simplification, but I guess what I'm looking for is a
> > > filter which looks for discontinuities greater than a certain amplitude
> > > and only lets the wave jump by a smaller amount than that. Is there any
> > > way I can use expr~ to evaluate an expression which takes into account
> > > previous values which passed through it?
> > >
> > > Best regards,
> > >
> > > Chris.
> >
> >
> > _______________________________________________
> > PD-list at iem.at mailing list
> > UNSUBSCRIBE and account-management ->
> > http://lists.puredata.info/listinfo/pd-list
> >
-------------------
chris at mccormick.cx
http://mccormick.cx
More information about the Pd-list
mailing list