• TalkBass has been independent since 1998. Add your voice.
    Create a free account to reply to discussions, view embedded media, and browse with fewer display ads.
    Join freeLog in
    Want zero display ads or expanded classifieds tools? Compare plans.

Any artifical intelligence/machine learning folks in here?

I did AI/ML for 4 years in San Diego although I worked mainly on HW accelerators. It will be a lot of work to build your dataset.

Plus what tuning do you want to gauge against. Stretched or equal tuning. A play upright bowed as well as saxophone and flute and intonation is never mechanical and it depends on the piece or how the orchestra/band or the piano is tuned. Sometimes it depends on the key. That is the nature of viol, brass and woodwind. That is why a string quartet sans piano sounds more in tune.

Did you do any of the AI/ML courses, like the Stanford version. You have dropped some buzz keywords in your OP so I assume you have familiarity with the subject.

I think NVIDIA sells a development kit that has audio capabilities. My buddy has been asking me to help him with some voice projects and is supposed to send me this kit.

Yes def a lot of work and a ton variables, but it's an interesting thought experiment.

And yep I have some AI ML collaborators analyzing some of my research data. I'm slowly learning what it can do.
 
This is a surprising topic to see on TB!

I'll play the game. I do AI/ML and, as a matter of fact, I pulled up TalkBass this morning because I'm procrastinating from getting back into a coding project.

There are some things that machines can do better than humans. And there are some things that humans can do better than machines. For instance, it's very easy for a human to look at a picture and tell you what's in that picture, but machines require tons of training to be able to do the same thing, and even then they are not as good as humans.

If the goal is to develop an AI algorithm that ranks a bass player's technical accuracy then, yes, this is doable. But it would tend to reward players that play like machines. They are the ones that have the smallest variability relative to some "perfect" benchmark performance.

But music isn't about performing like a machine (most music, anyway). Most music is about creating a vibe that connects with listeners. And humans are a better judge of that connection.

I'll connect with players that have emotion and rock-n-roll-attitude over those that have technical accuracy any day of the week. And that is true, regardless of what some computer tells me is "better."

And I think that's where we can take solace, knowing a machine will never connect with others like we can.

But if you think about music as data, we'll there's a crap ton of it sitting there if someone wants to find something out.
 
Not saying it’s crazy. I have unlined and I use a tuner for 2 reasons, practice intonation and placement and to force myself to not look at the neck for too long. I bet you could find an app to analyze the notes if that’s what you are asking.
Yesterday I had to verify whether I am a robot or not. I am not. So I have to use lame human learning.

I just checked the home page. There are 27 robots on TB. Ask if they can help. By law number one they can’t hurt you.
 
  • Like
Reactions: RichSnyder
I started walking down the AI path back in college decades ago, it got really hard really fast (and this from a Physics / Comp Sci / Math triple major). Everything's changed since then anyways.

When asked what a student should do if they were interest in pursuing a career in AI, Marvin Minsky (arguably the father of AI) recommended to keep thinking as creatively and deeply as possible about the simplest things, and hit the basics of CS hard. As he put it, all the easy problems in AI have already been solved and now the harder questions need to be answered. As he suggested, you need to focus on the basics during your education. Because when it comes to the current “advanced topics,” 80% of what you’re being taught in class will turn out to be wrong.

That was back in the 70s. And that prediction turned out to be remarkably prophetic.

45B3D4FE-8680-46ED-9482-4CF7018F5D01.jpeg
 
As has already been said, this is data analysis rather than than any AI challenge, albeit analysis of vibration data which presents its own challenges. You have to isolate a single note which isn't as easy as it sounds, then decide if any variation from the frequency you expect it to be is bad intonation or vibrato. You'd need to identify glissando as well. Probably loads of other variables especially if you don't have isolated bass tracks. Actually I've changed my mind, this isn't even standard vibration analysis :) Existing technology that is exceptionally good at the kind of pattern matching needed for this is the human ear attached to the human brain.
 
I don't know how to build a neural network, otherwise I'd try this myself.

How about using machine learning to analyze fretless players and assess their intonation?

Perhaps you'd need to isolate bass tracks first. Then you could either input the transcription as labeled data, and see how far off the notes are.

Training data sets could be simple tunes that either or real world played, or put slightly off pitch beforehand.

Or you could used unsupervised learning and just let the machine analyze the track, assigning the notes as it sees fit and then looking at it after. Presumably the further the machines output bass line is away from the transcription the worse the intonation??

Then we could answer once and for all who has the best intonation!

Someone tell me this isn't crazy..
BriefWarmheartedAzurevase-size_restricted (1).gif


:)
 
  • Like
Reactions: logdrum
Yes I was the machine learning guy at my company for a year, and still deal with it at times.

But I mean, really, if someone can't hear who's more in tune without machine learning, then maybe someone shouldn't play fretless?

also, it's a lot of work, and the training sets would be very limited, and here is the problem with your idea:

to teach the machine learning system what is perfect intonation and what isn't, you need to have known perfect learning sets, and known out of tune learning sets. Then you also have to be able to tell it what out of tune means.... is flat different from sharp? well then your "only flat" learning sets need to be trained as flat, and only sharp sets trained as sharp. and then what about sliding into notes? what about vibrato?

oh and of course, this is assuming everyone plays the same bass line at the same exact rate. If you have random different music, then you really need to teach it what notes are, first, which is a HUGE training set that has been done already but is super complex, and then go on from there.

FYI folks, yes you can train it using machine learning by inputting a bunch of known good versus known bad performances, assuming only perfectly isolated bass tracks, and probably with some pretty significant low pass filters on them to take "tone" out of the equation and focus on the fundamental more, as well as a hard limiter and serious compression to bring level and attack into similar territory.

Machine learning is, though, literally about teaching your computer, rather than programming it and analyzing one pitch at a time, so his concept is ok.

Just that pitch, in music, is full of too much interpretation and expression. I use at least subtle vibrato OFTEN, fretted or fretless, on sustained notes.... and the computer needs to know if this is normal or not, but it would almost definitely get confused about the difference between vibrato and pitch accurate.

Also keep in mind OP that what is "IN TUNE" is an arbitrary set of values that depend on your culture. Music in different countries has different scales, notes, etc, at least in their native music. It isn't out of tune, it's just different. We are all used to the classical european scale for what we do, but even then a fretted bass is not "in tune" compared to, for example, a piano.... temperament is fascinating. Younger Bach's harpsichord/keyboard music can, is in some people's minds should, be played with the instrument tuned perfectly for the given key... not equal tempered like yer typical piano/synth these days. How is a machine learning model to be taught all of this stuff?

your plan would not work particularly well to find your claimed goal of who is most in tune.
 
Last edited:
  • Like
Reactions: DJ Bebop
Let me give you a practical approach to do this.

Do the Stanford course and finish everything even if you failed the exercises
Read up on Natural Language Processing NLP - there is a section on Pitch detection, correction (I myself have not really read this but I will start this week

Get the NVIDIA Jetson Nano (about 260 ) and a USB sound dongle Jetson Nano Developer Kit It is not worth to cheap out.

There are libraries that can do a lot of the sound filtering for you. No need to mess with compressors and EQ filters but if you want to get fancy, there is also a SHARC DSP development kit - so you can build a DSP machine, The math is harder on DSPs

I think there is an open source project that converts guitar/bass/line sigmal to MIDI already , maybe even to MPE standard -- so all the ornamental stuff can be captured.


There is a also the Intel Movidius USB stick - I will ask my friend if could work for sound but it may only be vision
Intel® Movidius™ Vision Processing Units (VPUs)
 
Last edited:
  • Like
Reactions: DJ Bebop
Let me give you a practical approach to do this.

Do the Stanford course and finish everything even if you failed the exercises
Read up on Natural Language Processing NLP - there is a section on Pitch detection, correction (I myself have not really read this but I will start this week

Get the NVIDIA Jetson Nano (about 260 ) and a USB sound dongle Jetson Nano Developer Kit It is not worth to cheap out.

There are libraries that can do a lot of the sound filtering for you. No need to mess with compressors and EQ filters but if you want to get fancy, there is also a SHARC DSP development kit - so you can build a DSP machine, The math is harder on DSPs

I think there is an open source project that converts guitar/bass/line sigmal to MIDI already , maybe even to MPE standard -- so all the ornamental stuff can be captured.


There is a also the Intel Movidius USB stick - I will ask my friend if could work for sound but it may only be vision
Intel® Movidius™ Vision Processing Units (VPUs)
tenor (35).gif


:)
 
Last edited:
  • Like
Reactions: tzohn
[QUOTE="logdrum, post: 25829282, member: 24409"Get the NVIDIA Jetson Nano (about 260 ) and a USB sound dongle Jetson Nano Developer Kit It is not worth to cheap out.

There are libraries that can do a lot of the sound filtering for you. No need to mess with compressors and EQ filters but if you want to get fancy, there is also a SHARC DSP development kit - so you can build a DSP machine, The math is harder on DSPs

I think there is an open source project that converts guitar/bass/line sigmal to MIDI already , maybe even to MPE standard -- so all the ornamental stuff can be captured.


There is a also the Intel Movidius USB stick - I will ask my friend if could work for sound but it may only be vision
Intel® Movidius™ Vision Processing Units (VPUs)[/QUOTE]

just wanted to say that those are good recommendations, although they had already be very comfortable with linux and tech and computers etc in general, of course.

At my company I developed our machine learning system to analyze video cameras installed on buses to check for vandalism, aim misalignment, damage, connectivity issues, lighting problems (reflections etc that affect video quality due to nearby lights in the bus, etc). I developed it using nvidia gpus (of course), roughly a year before the first useful jetson nano came out.... this was all done using serious production level hardware of course. Coded in python, I custom compiled the engine for the gpu, all of the standard stuff. We use it on production systems currently.

However my company bought each engineer interested in machine learning a jetson nano when they became viable, and I'm currently running one via battery on a home built robot I'm creating... using it's machine learning system for certain scenarios but not nearly degree, more of the realtime analysis stuff (opencv and other quick scanning libraries)... for navigation and object responsiveness, also for SLAM.

super amazingly powerful little computers, those nanos, and the gpu does a surprisingly decent job of machine learning. Slow for learning, but pretty quick for analysis.
 
However my company bought each engineer interested in machine learning a jetson nano when they became viable, and I'm currently running one via battery on a home built robot I'm creating... using it's machine learning system for certain scenarios but not nearly degree, more of the realtime analysis stuff (opencv and other quick scanning libraries)... for navigation and object responsiveness, also for SLAM.
We got some Alienware laptops and desktops, and a couple of nvidia DGX’s when our company dove into DNNs. My favorite library was darknet. Ah… the good old days. opencv is fairly extensive now also.
 
  • Like
Reactions: dkelley
We got some Alienware laptops and desktops, and a couple of nvidia DGX’s when our company dove into DNNs. My favorite library was darknet. Ah… the good old days. opencv is fairly extensive now also.
agreed. yea mine is a dell shop (oh well), but they got me a new i9 laptop with 32 gigs ram and a p2000 gpu which was the best at that particular time that dell offered. It wasn't nearly as fast as when I ssh'd into the linux server with the multiple workstation nvidia gpus, but it certainly was better than when I started trying to train this thing and test my prototype code with NO gpu LoL... I mean it's great that you can fallback to cpu, but nearly useless other than dire emergencies.

and yea darknet was great, still is, and opencv is highly useful these days. We're now working on a license plate reading vehicle law infringement system... so much of that stuff is already available and at least as good as I could train it myself, where 3 years back I was developing my own license plate reader that had to be locale-aware and such.... it's nice that all of that dev time became academic as the libraries exist now for multiple systems besides just the tensorflow that I know so well.
 
Computers are really fast and accurate but stupid.
Humans are really slow and inaccurate but brilliant.
Someone had a quote on the marriage of these two creating miracles.
But there are also people who think it's a good idea to make a god out of a computer.
 
I'm working on something similar to this right now for my hobby site.

www.tuneish.com

The embedded tuner uses javascript in the main render thread and is quite slow. It's fine for playing slow scales or slow country music but can't keep up with other genres. The new tuner will run a native audio engine in a dedicated worker thread for a 10X or better speed up. This should be fast enough for walking base lines in most jazz sets.

BTW, suggestions are welcome. What would you like to see it do?
 
Computers are really fast and accurate but stupid.
Humans are really slow and inaccurate but brilliant.
Someone had a quote on the marriage of these two creating miracles.
Supposedly Isadora Duncan said to George Bernard Shaw: "Will you be the father of my next child? A combination of my beauty and your brains would startle the world," and he replied: "I must decline your offer with thanks, for the child might have my beauty and your brains."