Music is said to be a type of meditation. The one
who falls in love with music never turns back. That is the
reason, we find plenty of people learning to play musical
instruments or to sing. This paper proposes a system which
aims at guiding the music enthusiasts in learning the Indian
classical music. System uses the audio input from the
microphone which will be the audio pieces played or sung by
the user. And using the intensive audio signal processing and
computing, system will notify the user about correctness of the
input piece as an output. System will notify about the
percentage error as well as the exact points where the user
have done it wrong. Moreover, system shows the prediction of
notes which user has missed so that he or she will be able to
understand their own error patterns and hence will be able to
know about the areas to be improved. So this closed loop
advisory system aims at the eliminating the need of the
physical instructor. System supports human voice as well as
the instrumental pieces which means the singers and any
instrument players will be benefited from this system. Though
the system currently supports only the Indian Classical music,
with some extension and up-gradations about the laws and
regulations of other forms of music, the system will be able to
support every type of music.
Intelligent error detection and advisory system for practitioners of music using audio signal processing and computing
1. Intelligent error detection andadvisory systemfor practitioners of
musicusing audio signal processing and computing
Authored And Presented by –
Ojas Bhargave [Dept. of E&Tc, MIT College of Engineering, Pune.]
Paper ID: 040
First International Conference on Advanced Technologies in Intelligent
Control, Environment, Computing and Communication Engineering
(ICATIECE-2019)
2. INTRODUCTION
We find plenty of music enthusiasts learning music in our society.
Every such person needs a basic ‘musical maturity’ which he lacks in his initial
stage.
MUSICAL MATURITY ???
So he is practically unable to spot his own mistakes and correct them and the wrong
practice may lead to the permanent habit of it.
He needs a knowledgeable trainer {A Guru} for that matter.
Here is the proposed closed loop and complete system
It assists music enthusiasts and learners in their learning process and aims at
eliminating the need of that trainer.
3. MOTIVATION
Indian classical music is really a very deep topic to be expert in.
Naturally -> scarcity of expert trainers.
The process of learning this art is very analogous to the process of ‘Reinforcement
Learning’ concept in machine learning.
A REWARD BASED system which needs the CONSTANT SUPERVISION and inputs to
accelerate the growth which needs a Guru.
There can also be some other physical limitations which leads to the lack of the proper
guidance.
None of these reasons should be significant in the learning process of a learner was the
main motive behind this system.
4. SWAR (A NOTE)
12 Swaras in one octave.
Every Swar has its own frequency.
This formula to find frequencies in an octave:
Freq. of nth Swar = (Freq. of ‘Sa’) * 2^(n/12) …n = 1, 2, 3....11
Same Swar from different octaves feel similar though they are not at same
frequency.
If plotted, musical frequencies(Notes) show exponential behavior.
5.
6. Scale (Patti)
A reference Note.
C# = 277.183Hz, A = 440 Hz …But Sa = ? , Ma = ?
Notations in Indian Classical Music: Kaali 4, Safed 2
Western Music: C#(C sharp), Bb(B flat)
Scale is decided before the session starts.
Scale = base note (‘Sa’ in Indian classical music),
And other frequencies are calculated according to that scale.
When multiple instruments are being used, it would be a chaos if they are not
tuned and synced with each other. For this tuning, a predetermined scale is
needed.
7. Raag
A well designed set of multiple swaras(notes)
Every Raag has its own rules defined in the theory of Indian Classical music.
A learner has to perform inside the boundaries of those rules and regulations of
the Raag he is practicing.
For Eg. Malkauns:
Aaroha : सा, ग॒ म, ध॒ न ॒ साां
Avaroha : साां न ॒ ध॒ म ग॒ म ग॒ सा
Thaat : Bhairavi
Vaadi – Samvadi : म (M ) - सा (S)
9. USER INPUTS
Manual inputs: 1. Scale
2. Raag (to be practiced)
These two inputs are directly accepted from the Raag Authentication block.
These inputs are used to calculate the allowed frequencies and invalid frequencies.
And the main Audio Input:
It is the live practice of the learner taken in the system using microphone.
10. DATA SAMPLING AND A/D CONVERSION
Microphone converts the sound vibrations in to the analog electrical data.
Analog data: Difficult and non-practical to store and process.
Hence sampling is needed.
Then in order to process the data, it is converted into Digital format.
Digital data : Easier for processing and further computation.
11. DATA CONDITIONING
Main issue: Noise removal and Smoothening.
A raw audio signal contains a lot of unwanted frequencies.
Technique used: Gaussian noise removal
Removal of the extremes in the data.
which can hamper the results of the next block ‘Pitch Extraction’.
Smoothening using Savitzky-Golay smoothing filter.
Then we break this signal into VERY SMALL MULTIPLE DATA FRAMES OR UNITS.
12. PITCH EXTRACTION
A backbone of a system
We ultimately need the frequencies in that audio signal to judge the practicing
individual.
So we find the pitch(frequencies) of each data unit received from the previous block.
Technique used: Autocorrelation
Used frequently in signal processing for finding repeating patterns in the signal.
Briefly, Multiplication of the signal with itself in the frequency domain.
The algorithm is applied over each data unit and the fetched frequencies are stored in
an array for further computation.
However, the problem faced in this was the multiple numeric frequency outputs and
that can confuse the next block.
13. RAAG AUTHENTICATION
This block has all the rules and regulations coded according to the theory of Indian
Classical Music.
The pitch array received from pitch detection block is fed to this block.
As mentioned, It has the manual inputs: Scale and Raag
Using this data and the coded rules, this block calculates the valid and invalid
frequencies which can be played.
After receiving the frequencies played by the learner,
This block Authenticates it according to the raag being played and the scale being used.
Here, we also need to spot and neglect the unwanted frequencies detected in the
previous block.
14. ERROR ANALYZER
The user can commit error in 2 ways: 1. A wrong note played altogether
2. A wrong note played according to the Raag
This block firstly checks for the correctness of the note played using the input from the
previous block.
Then, it is checked with respect to the Raag.
Every frequency in the array is checked for the correctness.
Another responsibility of this block is to draw predictions and conclusions for the user.
Our output screen shows the errors, number of errors and the point where he has
committed it with some handy predictions. [Hence closed loop]
17. FUTURE SCOPE
A handy app can be made to make it accessible for everyone.
Current scope does not support highly complex music and exceptions which comes
when the senior musician is performing.
Integration of AI and ML : Can learn these complex patterns which will extend the
scope of the system to the higher level.
Currently, the system supports just the Indian Classical Music.
Can be extended for other forms of music. {Generic Algorithm}
Can be extended towards a smart auto tuner. [Extensively used in the music Industry]
18. CONCLUSION
With the repetitive use of this smart and interactive method, the
beginner will be able to understand the patterns of his own errors and
will be able to correct them in a smart way.
The rate and speed of learning will be very high.