Skip to content(if available)orjump to list(if available)

Guitar chord karaoke with Vamp, Chordino, and FFmpeg (2022)

brandoniscool

hey I built this exact concept months ago. beat detection. video generation. automated video creation checkout the videos I uploaded at https://youtube.com/@nevertwenty

vjshah

> I’ve created 5-channel mixes of all the backing tracks so we can fade out specific instruments if somebody wants to play them live

How was this done? This seems like an even more difficult task to do well than what’s described in the article

WorkerBee28474

Probably either creating stems from karaoke multitracks (e.g. [0]) or using Spleeter [1] 5-stem mode

[0] https://www.karaoke-version.com/

[1] https://github.com/deezer/spleeter

pyaamb

is there an ai model that can do this at the moment?

jogu

There's an openvino plugin for audacity that can do music separation but it only supports 4 tracks at the moment (drums, bass, vocals, other).

https://github.com/intel/openvino-plugins-ai-audacity/blob/m...

aaarrm

Ultimate vocal remover is a common one

keymasta

What a cool thread! I like how you put the specifics of your workflow and especially details of the commands you used! Particularly with the vamp commands, because as you say, they are somewhat inscrutably named/documented.

I started dabbling with vamp as well a couple years ago, but lost track of the project as my goals started ballooning. Although the code is still sitting (somewhere), waiting to be resuscitated.

I have had an idea for many years of the utility of having chord analysis further built out such that a functional chart can be made from it. With vamp most of/all the ingredients are there. I think that's probably what chordify.com does, but they clearly haven't solved segmentation or time to musical time, as their charts are terrible. I don't think they are using chordino, and whatever they do use is actually worse.

I got as far as creating a python script which would convert audio files in a directory into different midi files, to start to collect the necessary data to construct a chart.

For your use case, you'd probably just need to quantize the chords to the nearest beat, so you could maybe use:

vamp-aubio_aubiotempo_beats, or vamp-plugins_qm-barbeattracker_bars

and then combine those values with the actual time values that you are getting from chordino.

I'd love to talk about this more, as this is a seemingly niche area. I've only heard about this rarely if at all, so I was happy to read this!

rwmj

Very cool indeed! Does anyone know how it's possible for Vamp to extract guitar chords from audio? What if there are multiple guitars, like lead and bass, or lead and rhythm?

keymasta

That particular algorithm doesn't care whether the instruments are guitar or otherwise. There are other algorithms in vamp that would deal with individual notes. But in terms of separating tracks, vamp doesn't do that. There are some new ML-based solutions for this though. So you could separate them and run vamp on those outputs.

But to get the chords I don't think you need to worry about that.

snappr021

A multi lane Rocksmith like interface, that dynamically adjust the difficulty of the chords based on the performers ability would be amazing.

dboreham

"This one goes to Alan Holdsworth"

dboreham

Even Rick Beato is out of a job now.

null

[deleted]