• Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Music analysis using DSP

Status
Not open for further replies.

fubuaks

New Member
I want do this as my BE project.
I guess it has to be done using MATLAB. The software should recognize the type of music that is being played, ie, is it a sad or happy music? Is the project feasible.....? and if yes can you please throw some light on the method of doing it...???
 

3v0

Coop Build Coordinator
Forum Supporter
It is not possible to directly determine sad vrs happy. Instead you need to look a tempo and other things you can measurem, then create a set of rules to decide what is sad or happy.

I do not know how to do this.

3v0
 

jpanhalt

Well-Known Member
Most Helpful Member
There is work on recognizing facial expressions (happy, sad, angry, depressed, etc.) and maybe voice. I don't have any references, but recently saw some examples. Looking at the methods used there may give you some hints.

John
 

shimniok

Member
Sounds incredibly ambitious but interesting. Simplifying as suggested would probably be a lot more feasible. BPM should give you tempo assuming you can figure out BPM from the music. e.g. how do you do this with, say, classical chamber music -- no drum? You may need to put some constraints in place to make it easier :)
 

Nigel Goodwin

Super Moderator
Most Helpful Member
Sounds incredibly ambitious but interesting. Simplifying as suggested would probably be a lot more feasible. BPM should give you tempo assuming you can figure out BPM from the music. e.g. how do you do this with, say, classical chamber music -- no drum? You may need to put some constraints in place to make it easier :)
Presumably this is a college project?, might be an idea to approach the music department to ask for suggestions how to do it?.
 

jpanhalt

Well-Known Member
Most Helpful Member
You could just focus on Russian composers, like Shostakovich. Sad would be the default answer. :D Sousa would be happy; but what about American spirituals (e.g, Lena Horne) or Mozart's piano concerto #23. Can you get people to agree on whether they are happy or sad?

In reality, I think the real problem will be to define what is sad and what is happy. If humans can't agree on the mood, you will have an impossible time getting an instrument to make the decision.

Perhaps, if you can determine the key of the music with your analysis, that would be enough, but still plenty challenging.

John
 

fubuaks

New Member
The first step in doing this is getting the tempo of the song, which is done by detecting the beats per minute. I've found a couple of algo's for this, but those were a bit complex.Can anybody provide me with a much simpler algo......??
 

Nigel Goodwin

Super Moderator
Most Helpful Member
The first step in doing this is getting the tempo of the song, which is done by detecting the beats per minute. I've found a couple of algo's for this, but those were a bit complex.Can anybody provide me with a much simpler algo......??
As far as I'm aware, DSP is complicated - a much simpler one probably wouldn't work.
 

Hero999

Banned
It sounds like a good project.

You should take Computing, Maths and Music Technology A-levels, submit this as the project for each and kill three birds with one stone.:D
 

flat5

Member
To start, see if you can determine tempo.
Then see if you can determine ratio of major to minor chords.
 

fubuaks

New Member
I've got some idea of how to find the tempo. Here i am listing the various steps-
1. Firstly the music has to be broken down into 6 bands of frequency,
2. then envelopes of all the six signals has to be constructed in time domain,
3. then the beats are to be found out by passing it thru a differentiator
4. and then finally the signals should be convolved with comb filter of different tempo's.


The first doubt is how do i break a sound signal in different subbands in matlab?
 
Status
Not open for further replies.

Latest threads

EE World Online Articles

Loading
Top