Isolating vlog speech using Krisp AI

On a steam train ride with my mum, she starts telling a story of the trains when she was young. So thinking quickly I whip out my phone, press record, and get her to hold it so I can actually record her voice over the background noise.

It comes out distorted to ever loving shit.

A shot of DaVinci Resolve 17, video editor, with a video and audio track

So this sucks. I have to go back to the original onboard camera mic but it’s SO loud with all the engine noise, cabin chatter, and clanking in the background. Even tweaking all the knobs, you can barely hear mum at all.

Are there any AI tools to isolate voice? I remembered I’ve been using Krisp at work to cut down on the construction noise from next door. Maybe if I run the audio through that…

So I set the sound output from my video editor to go through Krisp, plug in my recorder, and play it through. It’s tinny, it’s dropped some quieter bits, but it’s totally legible! Holy cow.

Now I’ve got an audio track of mum’s voice isolated from the carriage noise. I can mix it back together with the original to boost the voice portion and quieten down the rest. This is kinda a game changer for shitty vlog audio.

This is a pretty convoluted workflow, so it’s really only useful for emergencies like this. But I’m really happy that it managed to recover a happy little memory. And I hope one day Krisp (or someone else, I don’t mind) release either a standalone audio tool or a plugin for DaVinci Resolve.

As an aside, the Google Recorder app is officially off my christmas list. Any recommendations for a better one?

Panasonic SA-DP1 Review – hifi from the early 2000s

A Panasonic hifi and speaker sit on a cabinet with fancy lighting

Over Christmas while we were packing stuff up to move it around, my mum confided that she doesn’t use the hifi system in her office. It doesn’t get any radio signal and she doesn’t have any CDs to play in it any more, so it just sits there doing nothing.

Since my living room only has the tiny Google Home speaker, I offered to take it off her hands to hook up as an aux device to my living room TV to improve the sound. And it’s delightful.

I love a bit of a retro nostalgia trip, this website is proof enough of that, and this hifi system is really doing it for me. It harks back to a time when things were simple enough to plug together and screw around with. A good time for a kid like me.

This thing is a little beast. It’s an AM/FM CD/DVD player from back when these sorts of things were common. The year 2003 to be exact, just a year before HDMI was first released in consumer gear, so it’s the absolute peak of analog tech before digital signals fully took over.

Hooking up to my TV was a simple affair, I grabbed a 3.5mm audio to RCA cable to connect the TV straight to the hifi system. I could have bought an optical DAC (digital audio converter) for better quality, or even a HDMI audio splitter so I can play audio without the TV on, but this was the most straightforward solution and it sounds flawless.

It also happens that my TV is a hand-me-down old enough to support composite video directly (thanks Ben!) so I hooked it up in reverse to (theoretically) play DVDs. Why? Cos why the heck not.


The early and kinda disappointing days of digital video

A USB CD drive with a bright orange Verbatim CD-RW sticking out and some jewel cases in the background

Around the time this thing was made I was browsing an electronics store in Singapore and stumbled upon a VCD of the 2002 film Resident Evil with a gorgeous holographic cover (Video CD being the precursor to DVD icymi).

I needed to have it! In part because it the cover was cool, but also because I didn’t have a DVD player at home so I’d be able to watch this with the CD drive on my computer.

It was a pretty bad, but fascinating technical choice. Turns out VCDs have exactly half the resolution of VHS tape, and only fit about 80 minutes of MPEG-1 video per disc, so the movie was terrible quality and chopped in half to fit over two discs. Not only that, but the censors also cut out a bunch of good bits.

Still, I loved that film and I’ve been trying to burn a VCD with some old vlogs just for a nostalgia trip.

(Side note: Super VCD used MPEG-2 and had a higher resolution, so they’re almost passable quality-wise. But they’re still limited to 4:3 for that old school cool)

A Devede window reads 'Burning image to CD. Writing track 3. 154 MiB of 650 MiB. Estimated drive speed 723 Kib/s (4.2x)'

I didn’t have much luck creating a VCD in in the year 2020 because it’s all pretty outdated, but I found an all-in-one burner alled Devede which actually managed to take my rips from youtube, crop and convert em, then burn onto an SVCD disc.

Unfortunately the unit didn’t seem to be able to play them. I’ve got a couple of rewritable DVDs coming in the new year so maybe there it will have more luck with those.


Day to day Panasonic SA-DP1

Cool old tech aside, I’m mostly likely to use this as an aux system for the TV with the Chromecast as a source, because any other configurations are really too outdated to want to use on a day to day basis. And for that it’s fantastic.

Amazon is filled with reviews from people who loved this thing fifteen years ago. It wasn’t super expensive, it’s a solid piece of kit, and it sounds great too.

Overall, I give the Panasonic SA-DP1 five stars.

jsfxr sequencer

I didn't go into this weekend with a project, but I woke up Saturday with an idea I couldn't get out of my head — I want to write a music sequencer with a really low footprint for use next month in the js13k game competition.

I've written about js13k before, and took part last year. This time around I want to be a bit more prepared, and I wanted to make a tool that would make it easier for the community to make cool stuff!

So this weekend I've been working on a bunch of different tools to make this project a reality.

Mini Sequencer

Mini sequencer is exactly that: a mini sequencer implementation that can play sounds at various times to form tunes.

This was my first mini project, as I was interested to see what the performance of web audio would be like; it's surprisingly good. That said, if I get time I'd like to look into replacing it with the Web Audio API, as it's a lot less hacky and should perform better.

jsfxr-editor

jsfxr is a little 8 bit synth which was implemented a few years ago for use in the js13k competition.

Since this is probably what most of my sounds are going to be implemented by, I wanted to be able to create new sounds from my sequencer. While there's a few sites out there (my favourite by Super Flash Bros) that let you adjust sliders and make new sounds, there's not actually an out-of-the-box tool you can use to plug into your own project.

So after a bit of reverse engineering of as3fxr (the original Flash version), now there is.

This actually took up a whole bunch of my time, and if I were a project manager I would have dropped this to focus on other stuff, but hindsight, right?

Fruity Timeline

I got to the end of the weekend and felt like I hadn't really ended up with much to show off.

The timeline was one of the big things I'd been putting off doing because it's slightly weird and I wasn't quite sure how to tackle it, so I went all-out and implemented a standalone component (depends on jQuery but probably doesn't need to).

I'm pretty proud of this one, it's styled reminiscent of the old Fruity Loops sequencer and just looks a bit retro.

The main event

So despite having made a million things this weekend, I haven't actually finished the project I set out to do. Right now I have:

  • Create & manage a library of instruments (with jsfxr editing built in)
  • A super rudimentary timeline (edit some JSON by hand and the music will update)
  • BPM adjustment.

Things I need to do from here:

  • Plug in the actual fruity timeline so you can edit your song visually.
  • Implement a "piano roll" feature so you can have different pitches of the same instrument.
  • Stop/play/seek functionality
  • Export your file
  • Load up proper audio files (mp3/wav/whatever) so you can play with those too.

It looks like there's a lot there left to do, but I think I'll be able to get a minimum viable product done with another weekend. I'm not sure if I want to publish the code yet since it's a massive pigsty, but I'll aim to get something out before next weekend is through.

Edit: Ended up getting something together Sunday night. Try it out.