Ntsc-rs – open-source video emulation of analog TV and VHS artifacts

21 hours ago (ntsc.rs)

Time to wheel out one of my favorite quotes about the signature of a medium:

"Whatever you now find weird, ugly, uncomfortable and nasty about a new medium will surely become its signature. CD distortion, the jitteriness of digital video, the crap sound of 8-bit - all of these will be cherished and emulated as soon as they can be avoided. It’s the sound of failure: so much modern art is the sound of things going out of control, of a medium pushing to its limits and breaking apart. The distorted guitar sound is the sound of something too loud for the medium supposed to carry it. The blues singer with the cracked voice is the sound of an emotional cry too powerful for the throat that releases it. The excitement of grainy film, of bleached-out black and white, is the excitement of witnessing events too momentous for the medium assigned to record them." - Brian Eno

  • I don’t it’s the imperfections that are being chased. Most people don’t pay attention to technical details like that.

    Instead it’s about chasing the era. For example, the 80s/90s seemed like a happier time, for both those who grew up in it and those who don’t, and imperfections like VHS artifacts put the viewer in that mindset.

    • Nostalgia plays a part for sure.

      For those born after an era it can be easy to romanticize an era. And for those who lived through it, it can be easy to remember the good, and forget the bad.

      Growing up in the 80s with no cell phones meant it was much harder to co-ordinate schedules, events, social events etc. No "I'm outside, where are you?"

      Ultimately each era is different. Some good, some bad. But in 20 years expect your kids to be idolizing the "20s". "Such a simpler time than now..."

      "You got to stay home for a year? What fun...."

      1 reply →

  • So in future we will have "retro" streaming platforms that buffer with the spinner a random times for nostalgia and have menus full of promotional material that are impossible to navigate to just find what you're looking for.

    • You mean CrunchyRoll?

      Yes, yes we will. And we'll throw random ad breaks in there in the middle of the dialog just for shits and giggles, unskippable of course, at a +10db volume too.

      Yes, just like we make remakes of Windows 95 in typescript, we will make retro video streaming platforms with spinners and buffering effects.

    • if these things ever went away? we would absolutely have nostalgic recreations.

      now, i am not so optimistic we will get there, however.

  • > "Whatever you now find weird, ugly, uncomfortable and nasty about a new medium will surely become its signature [...]

    I bet the first viewers of VHS were busier with marveling at color, compactness and convenience instead of thinking of the new medium as something ugly and nasty. New technology that gets very popular usually starts as state of the art and impressive, and it's only in retrospect that people think of it in condescending way.

    • Yes, they loved the compactness and convenience (well, I’m not sure anyone ever loved the rewinding/fastfowarding experience)

      But the quality/color was always a noticeable downgrade from broadcast quality video (and that was a noticeable downgrade from film). But the sacrifice was absolutely worth it.

      It is notable that LaserDisc only came out two years after VHS (and before it reached mass adoption), and it could produce (and often exceed) prefect broadcast quality video. Anyone could see the improvement.

      Yet LaserDisc never had much success outside of enthusiasts, simply because it couldn’t match the convenience of VHS. Well… it was mostly the lack of recording, but that’s an aspect of convenience too.

      3 replies →

    • I've always disliked VHS. Broadcast TV was available for comparison at the time and it looked much better.

      DVD resolution seemed fine to me at the time - it does not seem fine anymore.

      Cassettes were not great, not terrible compared to CDs. That is still the case because stereo audio doesn't get much better than CDs.

      Conclusion: Whether something seems good at the time depends on availability of something similar but better.

      2 replies →

    • Most were enjoying not having to stop whatever they were doing at whatever time a show was broadcast to watch it live on air - time shifting recorded TV was a game changer.

    • Sure the first first ones, but hedonic adaptation happens pretty quickly. If you watched a movie in the theaters and then got a VHS copy to watch on your TV at home, you'd notice the difference, especially if it was a well-worn copy. I remember being so excited about laserdiscs because they overcame the VHS noise.

    • It was “good enough” for them at the time. Technology is and was always about something good enough for most people. But the Eno quote is about art and aesthetic.

  • I'm familiar with the quote. Still don't like this nostalgia-esque recreation. As someone that spent many hours in edit bays dealing with these tape based artifacts, seeing them now is not nostalgic but brings out a Pavlovian response nearly PTSD like triggering. However, I do understand why others less in the trenches of trying to avoid these types of issues would want it.

    • We all want what we don't have. Back in the day we were desperate for a clearer picture and found these artifacts annoying. We longed for an alternate reality that was as crisp as our own. Nowadays folks that didn't experience the pre-digital era want aesthetics that embrace the imperfections that today's visual culture glosses over. They want reminders that life wasn't always this way.

      1 reply →

    • I'm getting really tired of seeing dust and scratches applied to YouTube video. Especially when it's applied to zooms and pans over stills.

      1 reply →

  • I don't miss TV movies recorded on VHD one bit, with their unstable paused picture and muddiness. Also not the slow speed and unreliability of 3.5" disks.

    • I miss being able to skip ads and previews without “this feature is disabled for this disk”.

  • There's also Marshall McLuhan:

    - Every new medium obsolesces the previous one - which then becomes the content, or the art form, of the new medium.

    - Once the old ground becomes content of a new situation, it appears to ordinary attention as aesthetic figure. At the same time, a new retrieval or nostalgia is born

  • I'm gonna have to "yes, but" here. Yes, there's no doubt the limitations of a media are interpreted by most as desirable things to chase, like scanlines in a crt that's outputting a low resolution image.

    But there are also certain qualities in analog audio or video that were lost or severely degraded in the technologies that came after. For example, you need an extremely high bitrate mp3 to get to the fidelity of a vinyl (CDs can achieve it without issues, though) and in crts image clarity in movement is still unmatched in modern displays, and will probably always be due to the sample and hold nature of modern displays.

  • I never heard of this quote, but "heard" something similar a while ago, must have been 2020.

    I was watching a live worship session on Youtube and it was beautiful, kept my mind at peace.

    Now mind you at the same time I was also a perfectionist, which means you tend to see imperfections in others.

    Now at a certain point the singer's voice broke as she was hitting a high note. But before I could mentally register the imperfection I heard or felt such a clear gentle voice that said: "that was the most beautiful part".

    In an instant it reframed the imperfect into perfect for that moment and thus forever.

    And that's what your quote encompasses. Good read, thanks for sharing.

    • Cracks in the voice are so visceral. One I love is in the Rolling Stone's Gimme Shelter, Merry Clayton is just about screaming and her voice cracks and they kept the band's cheering reaction to it on the record [1]. Truly a case of the subject matter trying to break out of the medium.

      Related is that a lot of cultures embrace intentional imperfections in art for spiritual reasons, as it conveys authenticity and humility in the face of perfection. E.g. Persian flaw [2].

      [1] https://en.wikipedia.org/wiki/Gimme_Shelter

      [2] https://en.wikipedia.org/wiki/Persian_carpet#cite_note-68

      3 replies →

    • In the same vein, the most beautiful part of Patti Smith performing "A Hard Rain's A-Gonna Fall" at Nobel Prize Award Ceremony is when she mistakes the lyrics. Whenever I need to cry, I watch that video.

    • > In an instant it reframed the imperfect into perfect for that moment and thus forever.

      In Islamic art, the artist often leaves a mistake in a pattern, or a little blob, or some error somewhere in it, because only God is perfect.

      In Japan, craftsmen will leave a tiny scratch on an immaculately polished piece of wood, to show how perfect the rest is.

  • That is pretty good!

    Hmm. Now that we have 1 terabyte 1000MB/s NVme drives, we can really be nostalgic about the 1.44Mb 3.5” floppy drives that have about 30KB/s throughput…

    Might even be practical with the latest trends in storage pricing…

  • There’s certainly a Baudrillard reference to be made here, but I’m not awake enough to exactly phrase it (yet).

  • > CD distortion

    What?

    • Advent of digital mixing and therefore the loudness wars started roughly contemporaneously with the compact disc audio format becoming mainstream. Most complaints of AAD mixes of old vinyls converted to disc were poor, and DDD mastered stuff sounded harsh because of the novelty of compression (audio compressor, not filesize or redbook/Wav/CD-A compression.)

      Maybe. I lived through the 90s as a cd purchaser and I tend to agree, CDs were real nice, but different. By the time I had a cd player, tapes had exotic coatings and EQ-trickery to mask the hiss and whatnot of tape media.

Idle thought: I don't think I've ever seen one of these TV emulator things implement the situation where the vertical oscillator was slightly wrong and you get the picture slowly looping up the screen.

  • This one does. You can configure the noise injected into the signal and when it gets too much, it loses sync and the picture starts rolling. It's actually a software NTSC modulator/demodulator, not just an effect to simulate it.

    https://github.com/LMP88959/NTSC-CRT

  • I actually posted ntsc-rs as it came up in my research - I'm also looking for something like what you're describing..!

    I was also looking into https://codeberg.org/fsphil/hacktv which generates a variety of different analog tv signals (meant to be broadcast using HackRF) - but yes, I want the opposite - an analog-receiver-emulator...? And one that would be "ok" with incorrect signals // fail like an analog TV would... :-)

    • Slow scan and fast scan television encoders and decoders exist, probably the algorithm is public domain, so you can just increase the bandwidth and speed until you get what you're looking for, then you can tamper with IQ .wav files to edit the "signal".

      It can't be that hard for someone with skill and determination!

  • There is, but there isn't one that puts in realistic "teletext sparkles" at the top.

    I'd donate heavily to one that would actually let you send decodable teletext pages in the output ;-)

    • like the ones in Holland in the 90s? I don't remember if i noticed it in other countries at that time, but for sure there was like whole text areas on TV channels you could go to, and i think someone at the time told me there was interactive chat through the TV too but they may have been yanking my teenage chain.

      1 reply →

You're not getting the full experience of analogue telly artifacts until you emulate colour subcarrier phase shift and colour burst detection failure. (-:

And of course PAL and Hanover bars.

I once tried to fully analyze the amazing NTSC emulation used in OpenEmulator. I went down a rabbit hole that involved losing motivation several lessons in to a signal processing class on YouTube, but for those interested, I did at least pull quite a lot of it apart here: https://observablehq.com/@zellyn/apple-ii-ntsc-emulation-ope...

I also ported it to JavaScript (linked from above page)

  • I educated anyone who asked about the NTSC filter over the years because I wanted to see less-optimized implementations of it, given how much faster hardware is than the mid 2000s (it precalculated the kernels for every color at every phase offset and did the signed RGB math during rendering). There's something satisfying about being able to recreate the peculiarities of old hardware we grew up with, as a way of demystifying it.

Could this be used for training AI to do the reverse, i.e., generate high-quality videos from older analog TV and VHS artifacts? Start from high quality videos, use this or a similar library to generate analog/VHS videos that now have the ground truth available, train AI from the data.

  • Reddit - ukrainewarvideoreports - the Ukrainians are taking their relatively poor 'Last frame' drone shots and ai-ing them to be shockingly-detailed images of people about to die.

Just installed the OpenFX plugin and tested in DaVinci. It runs snappy and looks awesome with tons of control. It can go from subtle to soup. It really starts getting interesting when you automate the params. Appreciate that this is rooted in actual emulation. I'll definitely use this in my edits. Good find!

I'll wait until they do some PAL emulation: take an NTSC source, blurrily upscale it to 576p, apply a crap deinterlacing algorithm to produce a technically progressive image, and some frame blending to get it to 25 fps. Shitorific.

I do love that this is an area of such active development. But I'm curious to see what the artifact simulation crowd thinks of it. I most often encounter them as shaders for emulators and such, but of course this kind of structure degradation of a pristine video is also in high demand these days for video production. Producers want that 90s-camcorder look but crews can't actually use the clunky 90s-camcorder hardware and formats.

  • I'm actually surprised there isn't much of a scene for authentic camcorder footage - directors love to bust out real black and white film cameras for stuff?

    • Film is a fun, interesting, authentic, and useful medium for filmmakers, and there are established workflows for it. A camcorder writing interlaced video to miniDV may have its charms (I still have a great old Panasonic 3CCD one) but as a filmmaking tool it would be really inconvenient. Shooting in an ordinary digital workflow and adding the effect later is a no brainer production-wise.

      That said, I would not be surprised to see camcorders, DV or VHS or whatever, rise up as a Polaroid-like alternative to smartphone cameras! Old digital point and shoots are already popular that way.

      5 replies →

    • The difference is that films had better performances than digital equivalents in some areas for a long time. It isn't/wasn't just nostalgia.

      The imaging device used in electronic camcorders before the transition to CCD had visibly gray whites. They weren't so great by any standards. Hence very few chases it, with nostalgia being the sole reason to do it.

      1 reply →

I had written a NTSC emulator in C, based on some other equations I had found, although it expects command-line arguments to control many things (such as the phase), and expects a grey scale farbfeld picture as input and produces farbfeld as output, so it is with still pictures rather than videos.

That's nice. I've always been a fan of this effect. I myself was working on something (way simpler) in the past. I was just getting a pixel splitting into three separate values (r,g,b) and plotting them side by side to emulate LED behavior. I end up creating an image that you can use on your website to give the impression of lines - https://github.com/victorqribeiro/oldTerminal (that was the best I was able to do without using canvas, for the web).

Some day I might try it again using modern css

Fantastic! Is there something like this also for the scratch and hiss of old LP vinyl records? And the various types of squeals, crackles and fuzz of old ham radio setups? Never found anything that can really simulate those well.

  • The trick is that the scratches need to recur at the right revolution rate, while the bandwidth needs to slowly decrease as the stylus nears the end of the groove. Hmm.

  • I used to play with the free iZotope Vinyl VST, it does a decent job at emulating pop/hiss, wow/flutter, and frequency response.

    For ham radio-like sounds, maybe use SDR software like SDR++ and just pipe in a regular audio input, then mess with the decoding settings like LSB/USB.

Greg! I love this!!! Just last night I was trying to rewatch the x-files and was telling Luna that I would need to get a TV filter/shader/overlay thingy to see it the way it was meant to be seen.

You mind reader you

  • Rafał!!! U+1F62D U+1F62D U+1F62D!!!! haha

    I'll email you. sorry everyone, just two pal's pall'ing around xx

this is really good effect, fantastic output. I had VCR as a kid :-) Gonna have a look at it, specially as it is a Rust project. :clap clap: Thanks for posting this.

  • I'm stupefied by the accuracy of the SP/LP/EP rendering differences. Apart from how "accurate" everything is, that one pushed it way past the uncanny valley and into "oh yeah, that's pretty much exactly what it looked like!"

Very cool but the number of settings is overwhelming, not even sure what to do.

This is no doubt a useful production tool when one needs to create the visible artifacts of VHS video for some motivated story reason but as someone who worked in the tech side of broadcast video production starting near the end of the analog era and through the transition to digital, I'm not generally a fan of doing so outside those specific contexts.

The reason is that full bandwidth 6 Mhz analog composite or component video could look wonderful. If you ever have the chance to see a 2-inch quad VTR playing a master tape on a broadcast quality monitor pleased do. I suspect you'll be shocked at how good it looks, even to modern eyes. Yes, the absolute resolution is lower, but the magic of those analog broadcast standards was how gracefully they fit so much image into 6 Mhz of bandwidth. Conversely, VHS tape recording was the absolute worst, most compromised form of that. At the time, it was the best that could be done at consumer prices. But no one ever thought it was remotely good quality in any sense other than perhaps "better than nothing", and even that was hardly unanimous.

There's something about full bandwidth broadcast quality analog composite video that can be genuinely aesthetically pleasing, even compared to digital HDTV. Sadly, very few consumers ever got to see it in its pure, unadulterated form. Even live broadcasts, after being sent up a transmitter tower and down an aerial antenna, were a decimated form of the original signal at the head end (although leagues better than VHS). Yes, modern digital IS better in almost all ways, but in a few ways there was, and still is, something uniquely 'good' about that analog head-end video signal. I won't say 'better' because that's an aesthetic and stylistic judgement but definitely 'good'. Whereas, there's literally nothing good about VHS. At no point ever did a 1980s video creator look on their equipment shelf, see a VHS camcorder next to... literally any other camera or recording system, and say "I'll take the VHS today because it's the better tool for this job."

There's one context where I'm a huge proponent of recreating our analog past and that's when viewing 1980s and early 90s computer or game console graphics created to be displayed on 15khz analog composite video displays. That's when analog CRT emulation via GPU pixel shaders should always be used. The square razor sharp, hard-edged pixels of such content as seen on modern digital flat screens is an inaccurate distortion of the past because no one in that past, like the people involved in the creation or consumption of that media, ever saw square pixels like that. The only displays we had then were CRTs and images made for 15 Khz analog CRTs look not only different but much better on the displays they were designed on and for (or a good simulation of those displays).

To have true VHS effect, I think we should train AI for this, examples from digital videos to record on true VHS tape, on multiples VHS devices then digitalize and calculate difference between original and digitalized from VHS.

Then even we could have filter like: VHS Panasonic, VHS Sony...

This would be very interesting project.

  • I might argue that generating and decoding an actual NTSC signal, as the OP project does, would be true in ways that a generative model based on all of that would not be.