Simulate cassette tape audio profiles using FFmpeg

167 points by xterminal a day ago on hackernews | 75 comments

AmazingEveryDay | a day ago

Interesting! What tape simulation do you find yourself favoriting?
What is "wow"?
It's a kind of pitch instability: https://en.wikipedia.org/wiki/Wow_(recording)

gwbas1c | 23 hours ago

Basically, on analog media, playback speed isn't perfect. There's constant speedups and slowdowns. This creates a "waa waa" or "wow wow" effect that's noticeable when playing a constant pure tone.

dylan604 | 23 hours ago

don't forget that tapes also stretch so that can also give similar sounds

TheOtherHobbes | 22 hours ago

Half of wow and flutter. The tape speed wasn't perfectly constant, so the pitch wobbled.

Wow was slow speed variations (under 4Hz). Flutter was quicker warbles.

Both were caused mechanically. The rubber wheel - pinch roller - that moved the tape might not be perfectly circular, the motor that pulled the reels might be uneven, and the tape case sometimes pressed on the tape reels causing variable friction.

Analog media really were a bit crap. I get the creative distortion idea, but even so - ewww. I'm so happy these kinds of imperfections are optional now, and not baked into music distribution systems as an expected flaw.

sodapopcan | 22 hours ago

I wouldn't call the pro reel-to-reels crap. The imperfections were barely noticeable. Besides, there were other pros to the analogue days, like records having their actual own sound with human imperfections in-tact (unless you had a tonne of money and could afford to spend hours slicing tape). I despise how perfect and same-y everything sounds over the past 20 years. Of course I understand that this is all very subjective, but there just isn't as much access to more raw sounding records as, even very talented musicians who are probably capable of getting great takes which still quantize everything.

But ya ya, old man yells at clouds, I know.

I still record to tape, it's a lot of fun (cassette tape)! There are a bunch of problems to solve that take away from "just being creative" but I don't mind it. Part of that is that it's a forcing factor to improve musicianship because punching in on those consumer four-track machines doesn't really work (even though they have the capability).

abracadaniel | 20 hours ago

Off topic, but only a couple of years ago the 3d printer community re-discovered these same kinds of flaws in the extruder gears that result in visible ripples in prints. When you put a gear on a stepper motor, and set it with a set screw, you’re pretty much always off center slightly.

prmoustache | 15 hours ago

> Analog media really were a bit crap. I get the creative distortion idea, but even so - ewww.

On digital music production some randomisation (sometimes called swing in sequencers) is often added so the notes aren't played exactly at the right time.

Perfection often sounds a bit dull the same way seeing a perfectly symmetrical human face feels weird.

otabdeveloper4 | 13 hours ago

> I'm so happy these kinds of imperfections are optional now, and not baked into music distribution systems as an expected flaw.

99.9% of the stuff on the music distribution systems we have now is lossily compressed with perceptual coding. That introduces a shitload more artifacts than any analogue wobble.

(I wonder if people 50 years from now will have special algorithms to introduce that coveted "authentic mp3 artifact vibe of the vintage 2010's".)

AnthonBerg | 12 hours ago

If anyone wants a natural example of what tape can sound like, here's an interesting album on Spotify: Alice Atieno by Collela Mazee – https://open.spotify.com/album/6j72tDGcz97abyKDOP3aWp

Kenyan benga music from the early '80s or so. It's got every type of tape artifact. It's horrible, haha. There are even tracks where the tape head seems to be picking up the other side of the cassette in reverse.

It's not supposed to sound like that. Just a result of stewardship and rightsholders and incentives. Someone somewhere has a cassette tape and digitizes it. And uploads it to Spotify. Then it's forever.

(Frankly, I think it's gorgeous. The combination of the music and the recording is accidentally something really special. Laid-back but gently enthusiastic and warm 4/4 music, bright bur melancholy. Sounds like the Mega-Man 1 soundtrack played by a live band? And a really, really good band. And then it's all tragically messed up by the gears of history. Fluttering, swaying underwater. And… it's all so pretentious when I type it out… but it just… there's something about it. It's pretty great music for programming, haha.)

> Analog media really were a bit crap.

True but I find it strange how many of my favourite recording were made with this "crap" analogue equipment (well before I was born) and how many modern "perfect" recording sound terrible to me.

To me the sound of even subtle autotune is "eww". I can't stand the over compressed, "sugary" sound of current pop music. It's just not for me.

Perfection is Herbie Hancock's Head Hunters where his analogue synth goes out of tune and he brings it back without loosing the groove. The recording is better for that detail IMHO.

I never listen to Nevermind or Collected Ambient Works 1 and think, that would be better if it was recorded with a DAW.

Horses for courses I guess.

mark_something | 6 hours ago

Over compression is horrible, but unrelated to this.

I grew up with cassettes, but was happy to switch to CDs when I was around 18. The better the recording and playback, the closer it is to what the artist intended, and to how it would sound if the artist was playing right in front of you (if they don't use autotune or compression).

It's a fact that people get accustomed to the distortions in music playback, in the old days it was the noise of vinyl, which got better later, then cassettes, then heavily compressed MP3s. People should aim for the best possible audio quality and get rid of their preference for distortion.

> the closer it is to what the artist intended, and to how it would sound if the artist was playing right in front of you

This doesn't really bear any relationship to what happens in recording studios.

Almost no "recordings" are a recreation of a single live event. Producers choose microphones, consoles, compressors, limiters, equalisers and FX because of the way they colour sound.

It's a completely artistic set of choices.

When someone like Dave Grohl chooses a studio with a Neve and a 2" multitrack he's not doing it because he wants more fidelity. Again, recording to a DAW would not necessarily improve the end product.

You mention over compression of MP3s, well people have also used bit crushing as an effect for a long time too.

massagedpelican | 23 hours ago

How would one go about determining what effect to add for each cassette type? I don't know much about cassettes, I'm curious if this was something that could be done by ear or if these are commonly held opinions about the sound of each tape.

Again knowing nothing about tape, if I were tasked with this I would probably try to record the same audio to each of the tapes and then compare it with the original.

dylan604 | 23 hours ago

Similar to how the different film stocks affected the look of the image, the different tape formats would effect the sound similarly. Crudely explained, the more light brown the tape, the more noisy it would be. The darker the tape, the cleaner it could be. If you like the sound of someone standing behind you constantly saying shhhhhhhhhhhhhhhhhhhh, then choose a brown tape.

By now, the audiophiles have lots of profiles of what the various tape formats would sound like. It's been ages since I've looked at audio plugins, but I would be shocked if there's not presets to make your pristine audio sound like a Maxell cassette that's been played hundreds of times.

tempoponet | 22 hours ago

There's great VST plugins like "Sketch Cassette 2" that will do hiss, flutter, all of that, along with some great presets. That one's less about creating authentic sound profiles, more like creating lo-fi tracks and instruments for music production.
Wavesfactory Cassette does exactly that for several well-known models.

heddhunter | 19 hours ago

This is my go to for making things sound "worse" :)

https://www.xlnaudio.com/products/addictive_fx/effect/rc-20_...

raverbashing | 12 hours ago

Yeah

Tape hiss comes from the particle size on the tape and the amplifier "playing" that random natural orientation https://en.wikipedia.org/wiki/Tape_hiss

(I though it was more due to the amplifier but decided to look up first)

I was too young to do much with this information, but I not-so-vaguely recall my father cared deeply about getting metal-tapes. Not the music, but the material. I don't know if they lasted longer or sounded better (and now I would suspect: maybe have a sound profile he liked, rather than have high fidelity), but it was important to him.

sandworm101 | 8 hours ago

Metal tape (the dark black tape) sounded much better but only if you had high end equipment. Pure metal tape was rare outside japan and contributed to japan's 80s status as a mecca for consumer electronics.
I think he only had Japanese equipment (Awai, TDK) and mostly TDK tapes.

westurner | 23 hours ago

Can this be modeled with Neural Amp Modeler (open source) and Tone 3000 like a Space or a Pedal or an Outboard? https://www.tone3000.com/amalgamaudio

i_am_proteus | 23 hours ago

You might want to have a look at https://github.com/jatinchowdhury18/AnalogTapeModel

Available as a (free) DSP: https://chowdsp.com/products.html#tape

westurner | 22 hours ago

From https://github.com/jatinchowdhury18/AnalogTapeModel :

> CHOW Tape is an analog tape machine physical model, originally based on the Sony TC-260. The current version can be used to emulate a wide variety of reel-to-reel tape machines. Feel free to build and use for your own enjoyment.

> CHOW Tape is currently available in the following formats: VST, VST3, AU, AAX, AUv3, CLAP, LV2, Standalone plugin

That's like all of the DAW/DSP plugin formats.

Hopefully BespokeSynth VST3/LV2/CLAP plug-in hosting on Linux w/ Pipewire will be stable for it.

I found ToobAmp, which has a Neural Amp Modeler plug-in and also "TooB ML Amplifier" Artificial-Intelligence/Machine-Learning-based emulation of a number of different guitar amps and overdrive/distortion pedals based on Jatin Chowdhury's ML Amplifier library" https://github.com/rerdavies/ToobAmp

lateralux | 22 hours ago

Robin Davis is also the creator of the amazing PiPedal project : https://github.com/rerdavies/pipedal

lateralux | 22 hours ago

If you're interested in this topic, here are a few projects I found particularly interesting :

LTSpice Guitar Pedals : A collection of LTspice simulations of classic guitar pedals, useful for studying, modifying, and experimenting with analog circuits. https://github.com/cushychicken/ltspice-guitar-pedals

spiceAmp : An analog guitar amplifier simulator based on SPICE, designed to model tube amp circuits with high fidelity. https://github.com/olegkapitonov/spiceAmp

LiveSPICE : A real-time SPICE circuit simulator that lets you play audio through virtual analog circuits, making it possible to prototype and audition pedals and amplifiers interactively. https://github.com/dsharlet/LiveSPICE

westurner | 21 hours ago

Guitarix v0.46.0+ supports running multiple instances of neural modules, blending models via a multi-module, and loading RTNeural (.json / .aidax) engines alongside Neural Amp Modeler (.nam) files

guitarix2-0.46.0 released - LinuxMusicians: https://linuxmusicians.com/viewtopic.php?t=26855

brummer10/guitarix.vst: guitarix vst3 wrapper for linux: https://github.com/brummer10/guitarix.vst

"Using Artificial Intelligence to set a guitar sound" Fedora Magazine; https://fedoramagazine.org/using-artificial-intelligence-to-...

Re: building a solid USB Pedal [set] https://news.ycombinator.com/item?id=45409295

From https://news.ycombinator.com/item?id=44120903 :

> A board of guitar pedals with IDK one USB-A and a USB-C adapter with OSC and MIDI support; USB MIDI trololo pedals

Re: JUCE on embeded, Rust DSP: https://news.ycombinator.com/item?id=48910657

Bluetooth pedal config probably works 99% of the time, reconfigurably

lateralux | 23 hours ago

Of course ! By the way, I'd love to see more HN posts about NAM. I've been following the project since day one, and it's been an absolute game changer for guitar amp modeling. It's genuinely exciting to see an open-source project have such a profound impact on the entire industry,not just modelers but software plugins and hardware solutions

gwbas1c | 23 hours ago

Has anyone come across a Dolby B (or similar) encode / decode program?

I've been wanting to experiment with quantizing Dolby (or similar) encoded audio to 8 bits, and then unencoding to see how well it can sound.

U-he Satin emulates Dolby encoding/decoding.

IHeartGaming | 19 hours ago

The only one I'm aware of is DDi Codec by Anaxwaves.

RachelF | 18 hours ago

Dolby was just pre-emphasis of the higher frequencies before they were written to the tape.

It will sound the same with 8 bits. 8bit quantization will give you 48dB dynamic range (best case). Call it 36dB practical, around the same as an average cassette tape.

atoav | 23 hours ago

To which analog gain would 0 dBFS be mapped?

pitchlatte | 22 hours ago

i don’t think any dynamic range manipulation is being done, beyond the slight variations as a consequence of the other processing.

generally 0dBVU is mapped to -18dBFS with VU style RMS metering being used on the digital side as well. but that isn’t some kind of physical translation, it’s rather arbitrary and more a convention.

atoav | 12 hours ago

So no tape saturation? That would be to me one of the most interesting bits of the tape sound, at least for musical applications.

secretsatan | 22 hours ago

Well i would say wow and flutter is a property of the device playing the tape, not of the tape itself

wildzzz | 21 hours ago

Crappy old tape and a warped shell can cause wow and flutter too if the tape is sticking or the reels are binding.

jojobas | 21 hours ago

The tape is driven by rollers directly, the reels only pick up the slack.

markedathome | 12 hours ago

Wonder if there would be a preset called "I left the tape on the dashboard too long last summer"

ShinyLeftPad | 13 hours ago

What about device recording the tape though
Well, rather your ears than mine.

omar_alt | 21 hours ago

This is interesting as I would assume multiple passes from each output would result in further multi generational loss akin to tape trading of band demos, soundclashes and dj mixes from pirate radio

brcmthrowaway | 21 hours ago

I read that audio engineers actually use specialized and very expensive ripoff hardware in their signal processing chain to replicate the effect of the electromagnetics (hysteresis?) of tape systems on the audio.

To me, this seems like wasted effort. Any such filter can be implemented using DSP.

heddhunter | 19 hours ago

Most commercial DAWs come with such algorithms already. (eg Logic Pro has "ChromaGlow" which can emulate tape, tubes, etc. https://support.apple.com/guide/logicpro/chromaglow-controls...)

There's also a thriving 3rd party plugin market for similar effects.

isiahl | 21 hours ago

Would be interested to see something like this to simulate VHS effects

boredemployee | 21 hours ago

That might be of interest: https://ntsc.rs/

dylan604 | 19 hours ago

"ntsc-rs is written in Rust, and is multithreaded and SIMD-accelerated."

This made me lol. I know so few video editor types that would use a plugin like this that would know what Rust was to be "impressed" by this bit of PR.

JSR_FDED | 20 hours ago

I’m wondering besides the hiss and wow/flutter, what is the frequency range of cassette tape? Is there an “eq” to tape where certain frequencies are rendered more strongly than others? And how does it compare with records?

spencerap | 20 hours ago

I’m not sure of the correctness, but I see the author adjusting eq in the source, this is from the “BASF LH Extra C90” preset:

> highpass=f=50,lowpass=f=13000

> equalizer=f=500:width_type=q:width=0.8:g=-1.2,equalizer=f=6000:width_type=q:width=0.7:g=-4

rahimnathwani | 20 hours ago

Back in the day, the plastic that wrapped blank tapes was printed with details about the tape inside, including a frequency response chart.

Of course it differed by brand.

It's also worth considering that a lot of tapes were recorded with Dolby B noise reduction, which boosted high frequencies on the recorded tape, to increase the signal to noise ratio. (You had to use Dolby B at the playback end, too, or it would sound too bright.)

ssttoo | 19 hours ago

Looking at the first example [1] looks like there is high pass, low pass, and two more “cuts”

[1] https://github.com/AARomanov1985/Audio-Cassette-Simulation/b...

vaporwave fans rejoice

flyingcapabara | 18 hours ago

This is awesome and very useful for one of my projects !! Thank you so much

ErroneousBosh | 13 hours ago

Aha, there are later type TDK D90s, I wonder if they'll add mid-80s ones? Either way it may be possible to test an idea I've had for a long time that borders on "low stakes conspiracy theories".

All those albums you loved in the mid-to-late 80s, if you're about my age, like Appetite for Destruction, Master of Puppets, Somewhere in Time, First and Last and Always, Fear of a Black Planet, or even Pretty Hate Machine - these were all mastered not to sound best in a pristine recording but to sound best when pirated off your mate's big brother's CD of it onto a TDK D90 that had been rattling around in your schoolbag for months.

Because these are just some of the pirated tapes I have on hand from when I was 14 or 15 or so, and they definitely sound better than the bought-and-paid-for CDs I eventually bought once I had money to spend on such things.

speedgoose | 12 hours ago

In my opinion, nothing is quite the same as real analog cassette sounds. It's nice to play around and prototype, but if you really want a good cassette sound effect, you have to use real hardware, for now.

TonyTrapp | 11 hours ago

There's a number of VST plugins that get very close - much closer than a static set of filters every possibly could. This is just an approximation.

varispeed | 11 hours ago

"very" close is subjective. In my opinion it is nowhere near running audio through real tape. The computation capability needed to fully simulate tape in real time is not there yet. To model all subtle interactions, phase etc you'd need to run audio in 10-100+ MHz range.

999900000999 | 10 hours ago

TAAS ?

Tape as a service ? Upload your music and get it recorded to cassette and re uploaded to you ?

It’s all a moot point most of the time since it’s going to be compressed to crap by Bluetooth codecs before reaching most ears.

varispeed | 3 hours ago

raffael_de | 10 hours ago

what is the appeal of cassette sound effects / analog cassette sounds? is it nostalgia?

speedgoose | 9 hours ago

Nostalgia for sure, but it also makes the sound less perfect in a way that can be interesting musically. It adds harmonics, slightly detune everything, compresses, adds noise.

It's a good tool to make a sound that sound very artificial, sharp, perfect, into something more soft and perhaps interesting to some.

sandworm101 | 9 hours ago

Ie they sounded like crap. Those of us old enough to live through the tail end of cassettes loathed them. Just like records before tape, every time you played them they sounded a little worse than the last time. And you rolled the dice on whether your player would eat the cassette. CDs were like magic. Nobody should look back.

TrojanHookworm | 8 hours ago

Those qualities are exactly what makes the casette/analogue sound appealing to some ('organic', 'imperfect' etc.) Sonic aesthetics cannot be reduced to a question of fidelity alone.

speedgoose | 6 hours ago

I’m old enough. The bad sound quality is the point.

It’s like emulating old video games. On a perfect display it doesn’t look very pleasing but if you add CRT and NTSC analog artefacts, it may have some charms.

LearnYouALisp | 5 hours ago

No, it's not quite...

overfeed | 4 hours ago

> Nobody should look back

Vinyl has outsold CDs for many consecutive years in the recent past. A strong retro-trend is booming right now with (mostly young) people rebelling against things that are aesthetically too sharp or crisp. The imperfections you decry, are seen as "authentic".

A few people are paying more for their wedding to be recorded on an old SD Camcorder rather than 8k. I suspect it's part of a whiplash against (tech) companies "ruining everything" and a yearning for a simpler time by people too young to have experienced it

sandworm101 | an hour ago

Simpler time my ass. Try organizing anything without email or cellphones. It was hell. Filming your wedding on vhs isnt nostalgia when you also have a hundred iphones in the room. Nostalgia would be using a VHS only to have it fail and your wedding video disappear... forever. It's up their with nostalgia for slide rules and cars without seatbelts: they seems cool now because you do not have to actually rely on such things.

hypercube33 | 7 hours ago

My pioneer tape deck has a high end DSP that spanks dolby and removes tape noise and I love the sound it produces.

dandare | 12 hours ago

Easy-to-access examples of different sounds would be nice.

Alien1Being | 8 hours ago

I remember using pure metal tapes...
One generation's distortion is the next generation's instrument. I love it.

Funes- | 6 hours ago

Noise, in a wide, aesthetic sense, is rich. "Clean" is shapeless, soulless.

1vuio0pswjnm7 | 6 hours ago