Anybody know of any techniques for removing wow & flutter from recordings? I'm currently converting to digital form some cassette recordings of myself playing guitar. I'm using a pretty good cassette deck which I've cleaned very thoroughly, but I'm still getting a bit of flutter on playback, so I reckon at least some of it was in the original recordings. Made me wonder whether anyone's written any software to "de-flutter" audio recordings. Seems like a tricky but interesting problem. You'd need to find the shape, depth and precise phase of a low-level pseudo-periodic frequency modulation, and perform the reverse modulation (basically resampling the input signal alterating between slightly fast than normal speed and slightly below normal speed). The reverse modulation bit would be relatively easy, but estimating the original frequency modulation would be very tricky, since the original (unmodulated) signal is of course changing constantly. Any thoughts on how it can be done? -Gerry
Removing flutter
Started by ●October 24, 2003
Reply by ●October 24, 20032003-10-24
"Gerry Beauregard" <g.beauregard@ieee.org> wrote in message news:9a7f3df5.0310240302.7e58753d@posting.google.com...> Anybody know of any techniques for removing wow & flutter from > recordings? > > I'm currently converting to digital form some cassette recordings of > myself playing guitar. I'm using a pretty good cassette deck which > I've cleaned very thoroughly, but I'm still getting a bit of flutter > on playback, so I reckon at least some of it was in the original > recordings. > > Made me wonder whether anyone's written any software to "de-flutter" > audio recordings. Seems like a tricky but interesting problem. You'd > need to find the shape, depth and precise phase of a low-level > pseudo-periodic frequency modulation, and perform the reverse > modulation (basically resampling the input signal alterating between > slightly fast than normal speed and slightly below normal speed). The > reverse modulation bit would be relatively easy, but estimating the > original frequency modulation would be very tricky, since the original > (unmodulated) signal is of course changing constantly. Any thoughts > on how it can be done?Gerry, I have no idea. I've only done low-flutter tape machine design. I've seen the same problem with guitar music. There was a time that very few "pro-sumer" tape machines were good enough to record guitar music without noticeable flutter. Here are some quick ideas: If you had a "pilot tone" on the tape then you could phase lock to it. Some studio tapes had these prerecorded I believe - but not that many other machines I think. Presumably this would be a high frequency tone so that you could create the equivalent of a position servo - rather than simply a velocity servo. It would be the same idea as a tachometer wheel on a phonograph - which can be phase locked to a stable oscillator. Lacking this, I can imagine that there's the possibility of something like this: 1) Assume that some tones are varying frequency in time. These don't help you. 2) Assume that some tones were *not* varying frequency over at least some time segment - and that you can determine which tones these are. That is, tones whose *source* wasn't varying in frequency. 3) Detect the highest frequency tone out of these "should be stable" tones and phase lock to them for the length of their existence in the recording. (I would not mess around with the envelope / "modulation" at all). This may have to be a manual process in picking them. This approach has some appeal because the flutter is mostly noticeable (I think) on long, steady tones. - find a persistent tone that *should be* stable (but isn't) - create a "clock" (an actually stable tone) at the same frequency or an integer multiple - phase lock the data to this clock for the duration of the tone. - the phase lock control determines the frequency adjustment / sample interval adjustment needed. 4) Then "splice" the sample intervals together using something like a lowpass filter. The sample interval record should be a replica of the flutter "position". 5) Then play back the whole thing using the sample intervals you've derived - with some sort of suitable interpolation scheme to generate the necessary samples. The "sample intervals" are with respect to the "tape time" and are intended to result in equispaced samples in "defluttered time". All very nice but I'd be concerned about signal to noise ratio of the selected tone. You're really trying to detect the zero-crossings and that implies quite a lot. If you narrowband filter the tone so you can do good phase detection, you may also mess up the phase relationships. A linear phase FIR filter would be the thing to use. At the same time, the bandwidth can't be too narrow or the frequency modulation you're really trying to *track* could be attenuated and that would reduce the effectiveness of the deflutter scheme. In the end you may wind up chasing your tail. You need signal to noise ratio to do the phase detection and the flutter tends to reduce the signal to noise ratio because it increases the bandwidth. I'm just arm-waving. Surely someone has dealt with this in a more reasonable manner and has some results! Fred
Reply by ●October 24, 20032003-10-24
"Gerry Beauregard" <g.beauregard@ieee.org> schrieb im Newsbeitrag news:9a7f3df5.0310240302.7e58753d@posting.google.com...> Anybody know of any techniques for removing wow & flutter from > recordings? > > I'm currently converting to digital form some cassette recordings of > myself playing guitar. I'm using a pretty good cassette deck which > I've cleaned very thoroughly, but I'm still getting a bit of flutter > on playback, so I reckon at least some of it was in the original > recordings. > > Made me wonder whether anyone's written any software to "de-flutter" > audio recordings. Seems like a tricky but interesting problem. You'd > need to find the shape, depth and precise phase of a low-level > pseudo-periodic frequency modulation, and perform the reverse > modulation (basically resampling the input signal alterating between > slightly fast than normal speed and slightly below normal speed). The > reverse modulation bit would be relatively easy, but estimating the > original frequency modulation would be very tricky, since the original > (unmodulated) signal is of course changing constantly. Any thoughts > on how it can be done?What about approaching it in frequency domain instead of time domain ? Extract the "flutter spectrum" of a sample-block (the not so deterministic part). Here the starting point is that the whole frequency spectrum is affected by the "flutter spectrum" uniformly. Maybe it requires human intervention to guide reconstruction of the "flutter spectrum". And maybe adaptivity is required here to reduce audible "over-de-fluttering". Then filter the frequency spectrum of the sample-block to suppress the flutter spectrum. For wow it should be very similar, except a lower position in the spectum. Raymund Hofmann
Reply by ●October 24, 20032003-10-24
Gerry Beauregard wrote:> Anybody know of any techniques for removing wow & flutter from > recordings? > > I'm currently converting to digital form some cassette recordings of > myself playing guitar. I'm using a pretty good cassette deck which > I've cleaned very thoroughly, but I'm still getting a bit of flutter > on playback, so I reckon at least some of it was in the original > recordings. > > Made me wonder whether anyone's written any software to "de-flutter" > audio recordings. Seems like a tricky but interesting problem. You'd > need to find the shape, depth and precise phase of a low-level > pseudo-periodic frequency modulation, and perform the reverse > modulation (basically resampling the input signal alterating between > slightly fast than normal speed and slightly below normal speed). The > reverse modulation bit would be relatively easy, but estimating the > original frequency modulation would be very tricky, since the original > (unmodulated) signal is of course changing constantly. Any thoughts > on how it can be done? > > -GerryI couple of off the wall ideas that may demonstrate my ignorance more than anything else. As it was recorded on a cassette I would guess it was not in a nice quiet studio environment. Might there be in the background a noise source with stable frequency. Ideal would be a power transformer with loose laminations giving a noise locked to line frequency. Or how about something like an air conditioning fan in the back ground. The other would depend on the probability that at least two strings are contributing to the sound. I would not expect the frequency of two strings to vary by the same percentage simultaneously ( ie phase locked ).
Reply by ●October 24, 20032003-10-24
Gerry Beauregard wrote:> Anybody know of any techniques for removing wow & flutter from > recordings? > > I'm currently converting to digital form some cassette recordings of > myself playing guitar. I'm using a pretty good cassette deck which > I've cleaned very thoroughly, but I'm still getting a bit of flutter > on playback, so I reckon at least some of it was in the original > recordings. > > Made me wonder whether anyone's written any software to "de-flutter" > audio recordings. Seems like a tricky but interesting problem. You'd > need to find the shape, depth and precise phase of a low-level > pseudo-periodic frequency modulation, and perform the reverse > modulation (basically resampling the input signal alterating between > slightly fast than normal speed and slightly below normal speed). The > reverse modulation bit would be relatively easy, but estimating the > original frequency modulation would be very tricky, since the original > (unmodulated) signal is of course changing constantly. Any thoughts > on how it can be done? > > -GerryThe right spatial filter can completely remofe a raster pattern from a scanned image. Flutter spectrum is narrow-band FM, which is the same as AM with quadrature carrier phase. It might be possible to extract the flutter carrier and remodulate in a way that cancels the sidebands. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Reply by ●October 25, 20032003-10-25
Gerry Beauregard wrote:>Anybody know of any techniques for removing wow & flutter from >recordings? > >I'm currently converting to digital form some cassette recordings of >myself playing guitar. I'm using a pretty good cassette deck which >I've cleaned very thoroughly, but I'm still getting a bit of flutter >on playback, so I reckon at least some of it was in the original >recordings. > >Made me wonder whether anyone's written any software to "de-flutter" >audio recordings. Seems like a tricky but interesting problem. You'd >need to find the shape, depth and precise phase of a low-level >pseudo-periodic frequency modulation, and perform the reverse >modulation (basically resampling the input signal alterating between >slightly fast than normal speed and slightly below normal speed). The >reverse modulation bit would be relatively easy, but estimating the >original frequency modulation would be very tricky, since the original >(unmodulated) signal is of course changing constantly. Any thoughts >on how it can be done? > >-Gerry > >Any hope of recovering the bias osc. signal? I suspect not, but it would be a relatively stable signal. -- Kevin Hales Catalpa Technology, Inc. 302 E. Davis St. Ste 211 Culpeper, VA 22701 540-727-8005
Reply by ●October 27, 20032003-10-27
Gerry Beauregard wrote:> Anybody know of any techniques for removing wow & flutter from > recordings? > > I'm currently converting to digital form some cassette recordings > of > myself playing guitar. I'm using a pretty good cassette deck > which I've cleaned very thoroughly, but I'm still getting a bit of > flutter on playback, so I reckon at least some of it was in the > original recordings. > > Made me wonder whether anyone's written any software to > "de-flutter" > audio recordings. Seems like a tricky but interesting problem. > You'd need to find the shape, depth and precise phase of a > low-level pseudo-periodic frequency modulation, and perform the > reverse modulation (basically resampling the input signal > alterating between > slightly fast than normal speed and slightly below normal speed). > The reverse modulation bit would be relatively easy, but > estimating the original frequency modulation would be very tricky, > since the original > (unmodulated) signal is of course changing constantly. Any > thoughts on how it can be done? > > -GerryHi Gerry, it's long since I've "played" with tapes and recorded guitar music. At least, I guess I understand why you want to save the recordings :-) My guess is that you have to pay attention, because your guitar has a very broad range of tones which play their role in the complete sound. To my opinion this is not only from the lowest frequency of the E string to the highest flageolett tones. Even much lower frequencies which come from scratching over strings and/or corpus of the guitar or whatever, add to the sound. At least, if your recordings come from an acoustic guitar. Therefore I'd not recommend to remove too much, because there's a good chance that it hurts... One thing which seems to be easy: frequency modulations which come from speed variations depending on the rotation of the tape wheels (or even the smaller transport wheels) are probably very constant over time (or change continuously during the record) and you might have a chance to remove it. I'd try to run a sort of "software PLL" which captures the frequency and modulates the frequency band accordingly. Your ear will be the best measure if it helps. Bernhard
Reply by ●November 1, 20032003-11-01
Bernhard Holzmayer <holzmayer.bernhard@deadspam.com> wrote in message> it's long since I've "played" with tapes and recorded guitar music. > At least, I guess I understand why you want to save the recordings > :-)In my case, the most *recent* tape is over 12 years old, and a few are close to 20 years old. It's mostly classical guitar. Almost all solo, but also some multi-tracked, recorded on a cassette-based 4-track deck (Tascam 424?) then mixed down to another cassette deck. Even some attempts at pop songs as well. None of it's commercial quality, but it's of great sentimental value :-)> One thing which seems to be easy: frequency modulations which come > from speed variations depending on the rotation of the tape wheels > (or even the smaller transport wheels) are probably very constant > over time (or change continuously during the record) and you might > have a chance to remove it.You're probably right. In my experience with recording using cassette based gear, I found that as long as the capstan (the rotating shaft that pulls the tape) was kept ultra-clean, the flutter was negligible. Any accumulation of oxide on the capstan would result in a change in effective radius of the capstan. Assuming the angular velocity of the capstan remained steady (which it would, if the deck has a flywheel on the capstan, as my gear did), if the accumulation of oxide was not absolutely even all the way around, you'd get a variation in linear velocity of the tape, hence flutter.> I'd try to run a sort of "software PLL" which captures the frequency > and modulates the frequency band accordingly.That's the tricky bit - since the guitar notes are changing, the PLL would only be able to work over time periods where there were some steady pitches to look on to. For periods where the notes are changing, you need to extrapolate. You'd also have to be very careful to not remove deliberate vibrato (which of course is just another frequency modulation, just like the flutter!). One thing that helps is that the modulation must be at a roughly constant frequency. The nominal cassette tape speed is 1 7/8"/s = 47.625 mm/s, and the capstan was probably ~2.5mm in diameter, so the capstan must rotate at 47.625 / 2.5pi = 6 rev/s. So the frequency of the modulation must be ~6Hz, but not necessarily sinusoidal. Incidentally, I also used reel-to-reel decks a bit, and had far less trouble with tape flutter. I think the main reason is that the capstan was so much bigger - over 1 cm in diameter. A tiny accumulation of oxide changes the effective diameter of a 1cm capstan far less than it changes a 2.5mm capstan. Anyway, interesting problem! Thanks for all your input! -Gerry
Reply by ●November 3, 20032003-11-03
In comp.dsp, kjhales <kjhales@catalpatechnology.com> wrote:>Gerry Beauregard wrote: > >>Anybody know of any techniques for removing wow & flutter from >>recordings? >> >>I'm currently converting to digital form some cassette recordings of >>myself playing guitar. I'm using a pretty good cassette deck which >>I've cleaned very thoroughly, but I'm still getting a bit of flutter >>on playback, so I reckon at least some of it was in the original >>recordings. >> >>Made me wonder whether anyone's written any software to "de-flutter" >>audio recordings. Seems like a tricky but interesting problem. You'd >>need to find the shape, depth and precise phase of a low-level >>pseudo-periodic frequency modulation, and perform the reverse >>modulation (basically resampling the input signal alterating between >>slightly fast than normal speed and slightly below normal speed). The >>reverse modulation bit would be relatively easy, but estimating the >>original frequency modulation would be very tricky, since the original >>(unmodulated) signal is of course changing constantly. Any thoughts >>on how it can be done? >> >>-Gerry >> >> >Any hope of recovering the bias osc. signal?I think this is unlikely on a cassette (the frequency response at its best may not make it to 20kHz, and the bias frequency is ultrasonic), but this has been done on reel-to-reel tapes. Mike Rivers recently posted with the subject "AES Show Report (LONG!!!!)" on rec.audio.pro, where he describes a company that does exactly this. He included this link: http://www.plangentprocesses.com/>I suspect not, but it would >be a relatively stable signal. > >-- >Kevin Hales >Catalpa Technology, Inc. >302 E. Davis St. Ste 211 >Culpeper, VA 22701 >540-727-8005 > > >
Reply by ●November 5, 20032003-11-05
Gerry Beauregard wrote:> Bernhard Holzmayer <holzmayer.bernhard@deadspam.com> wrote in > message >>... >> One thing which seems to be easy: frequency modulations which >> come from speed variations depending on the rotation of the tape >> wheels (or even the smaller transport wheels) are probably very >> constant over time (or change continuously during the record) and >> you might have a chance to remove it. > > You're probably right. In my experience with recording using > cassette based gear, I found that as long as the capstan (the > rotating shaft that pulls the tape) was kept ultra-clean, the > flutter was negligible. > Any accumulation of oxide on the capstan would result in a change > in > effective radius of the capstan. Assuming the angular velocity of > the capstan remained steady (which it would, if the deck has a > flywheel on the capstan, as my gear did), if the accumulation of > oxide was not absolutely even all the way around, you'd get a > variation in linear velocity of the tape, hence flutter. > >> I'd try to run a sort of "software PLL" which captures the >> frequency and modulates the frequency band accordingly. > > That's the tricky bit - since the guitar notes are changing, the > PLL would only be able to work over time periods where there were > some > steady pitches to look on to. For periods where the notes are > changing, you need to extrapolate. You'd also have to be very > careful to not remove deliberate vibrato (which of course is just > another frequency modulation, just like the flutter!). > > One thing that helps is that the modulation must be at a roughly > constant frequency. The nominal cassette tape speed is 1 7/8"/s > = 47.625 mm/s, and the capstan was probably ~2.5mm in diameter, so > the capstan must rotate at 47.625 / 2.5pi = 6 rev/s. So the > frequency of the modulation must be ~6Hz, but not necessarily > sinusoidal. >You misunderstood, probably. What I easily called "PLL" would be something special which is able to retrieve the modulation out of any sound. Maybe like this: signal 1 is the original signal retrieved from the tape. signal 2 is signal 1, which has passed a bandstop filter which removes the frequency range where you expect the modulation. Now you can do some math on both signals (difference, multiplication, ...?). This should provide a signal which contains the modulation frequency in its base-band. The retrieved value might serve as a parameter controlling a VCO with which you might be able to remove the flutter. It's just an idea which had crept into my stomach when I read your posting. I'm not sure if there's an easy realization to it, though... Bernhard






