Abstract- Musical pattern recognition and classification of the features of Indian Classical Music plays a decisive ingredient in the musicological and ethno-musicological research and development. In the conformist Indian Classical Music (ICM) has two basic bare bones, namely, the raga which is the musical scale (classical mode) and the unambiguous rhythm which proceeds as an adornment on the music. We are going to thrash out of the representation and analysis of rhythmic features of Indian Classical Music in object-oriented manner. Inheritance is one of the cornerstones of Object-Oriented Programming (OOP) concept. This is a mechanism by which the objects of one class conquer the possessions and the textures of the other class or classes owing to evade the complexities of the feature classification. The numerous formations like single, multilevel and hierarchical models of inheritance are accredited to be modeled and analyzed the rhythmic patterns of Indian Classical Music.
Keywords: Musicology; Indian Classical Music; Object-Oriented Analysis; Inheritance and Polymorphism; Musical Pattern Recognition.
Introduction
Contemporary Digital sound and speech processing tools certainly recommend the potentials for the analysis of musical patterns and the modeling of the acoustic features of the instruments vigorously related to the music. Quite a few decades ago, there was the digital signal processing tools accessible for the creation and processing the audio signals. Currently, the computational efficiency of the machines is so powerful by which the literal features related to the audio and speech processing tools are doable from the corresponding audio or music. The musical signals are not purely definable through the linear and conventional mathematical expressions only because the music is the miscellany of two basic essentials, like the speech and the audio. In the trendy cord-based music, there are several specifications to exploit the unadventurous cords for fabricating music. In Indian Classical music there is no such stipulation of cords but abundant raga characteristics which are often endurable for musical pattern recognition and features extractions mechanisms. By the recent trends in technology, some of the musical features named like aroha, aboroha, jati, time of singing, register, badi, sambadi etc. have already been recognized in object-oriented mode [11]. The recent technology can also provide to observe the several rest of the features like saptak, vaditya, swaras, shrutis, etc. using the phase-space analysis domain [13].
Object Oriented Programming is a technique where a group of objects can be classified into some different classes on the basis of several unique properties and features. All the objects of the similar characteristics are put in the same class and the objects of different characteristics are classified into other different types of classes depending on their features [11]. Inheritance is the course of action where the objects of a particular class get hold of the chattels of objects or features of another class. The forte of this concept is that it supports the hierarchical categorization. The inheritance concept also provides the thought of code reusability where numerous additional features or characteristics can moreover be supplemented to an accessible class without modifying it. Hence, the new class may have the shared features or attributes of both the classes. Thus the authentic power of this Object-Oriented paradigm allows a developer to reuse the features with further ones with any detrimental possessions into the rest of the existing classes in the models.
In order to rectify quite a lot of intricacies in the recognition, classification and extraction of musicological and ethno-musicological patterns and features of ICM, the Object-Oriented Analysis (OOA) concepts are being contracted [11-12].
RELATED WORKS
Computer-based analysis on the rhythmic cycles of Indian classical music has been relatively infrequent, and up to this point rare attempts have been made to categorize the rhythmic structures robotically. Conversely, the identification of the features in Indian Classical Ragas has been an innermost topic where several attempts have been made to detect some dissimilarity among the raga patterns. Individual rhythmic patterns have been mocked-up by the formal language in "automatic bol-processor" [1]. In an effort entitled "Time in Indian Music" by the authors, it was explained on the rhythm, musical forms etc. are used as adornment influenced the Indian Classical Ragas [2]. In the paper named 'Tabla Gyan' [3] describe a real-time system that can listen to performances of tabla and identify the strokes as they are played. The system stores this information along with onset times in a symbolic score that is used as the basis for re-synthesis and transformation and automatic transcription in solo performance in Tabla music [3-4]. ]. It has also been explained in the procedural approaches how the musical patterns are recognized based on actual rhythms of music, these have been explained several thoughts of the researchers about the complexities of rhythm cycles are to be erased and given also the brief innovative dreams on the proper interaction between music and rhythm [5-7]. In the rhythmic cycle analysis perspective, the authors labeled the notes or 'bol' of Tabla in an automatic procedure [8]. About the feature selection and extraction mechanism from the different kinds of musical instruments which used to be worn as the curios in music are represented in class pair-wise manner [9-10]. Musical features and Pattern Recognition are suitably defined in the object-oriented analysis domain [11-12] to be found out the dissimilarities among in the ragas or in the thhats using the pitch analysis and error-minimizing algorithms [11, 13]. There has been discussed the variation of pitch values with same scale of music with different voices because of changing the positions of 'Swaras' and 'shruti' in the notes used in the particular music based on Indian Classical Ragas [13-18]. The authors have described the Statistical Pattern Recognition of the music signals sculpted in the domain of Artificial Neural Networks [19]. In the technical involvement, the authors, in their paper entitled 'Computational Ethnomusicology', have given the manner for interior interactions among the musical instruments owing to be made music. Our effort in this article is an innovative addition to the aforementioned technical workings to travel around an innovative mode of representation of musical features and pattern harmonizing procedures based on some of the generic properties of object-oriented programming paradigm like Polymorphism and Inheritance.
FEATURES DETERMINATION
The rhythmic cycle in music is the melodic abstraction which is worn in music as embellishment purpose. Due to analyze this ornamentation, the several rhythmic characteristics are appeared under contemplation. The beats (commonly called 'bols' in ICM) are the primary attributes of the rhythm. Rest of the features in figure 1 related to rhythmic cycles ('tal' in ICM) can be considered to be explained the Indian Classical music to represent the rhythmic tendencies. These are like 'matra', 'tali', 'khali', 'vibhag' etc. These features mentioned above are the common attributes for the representation of numerous variations of rhythms ('lay' or 'layakari' in ICM), like, '1x' ('theka' or 'ekgun'), '2x' ('digun'),….,'4x' ('chargun') and so on. This analysis can also be the proof of hierarchical Inheritance under the Polymorphic manner in object-oriented analysis domain (Figure 2). Some of the special features respite from the mentioned above designed in single and hierarchical structures, are under consideration usually to improve over conventional rhythmic cycles inclination. Here in this figure (figure 3), (A) denotes the parent class containing some unique features or class attributes. The characteristics can be used by the class (B) all or several features according to the code or feature reusability property of object-oriented programming concept but it can also clutch several extra textures which are not sufferable exactly by class (A). So, according to the Inheritance properties in object-oriented programming paradigms, class (B) is the derived-class or child-class extends the parent-class or Super-class, class (A). Similarly, the class (C) extends the class (B) due to the existence of new and unique feature defined in class (C) which is not identifiable in the characteristics distinct in class (A) or class (B). These types of formations are usually known as multilevel Inheritance in OOP perception. The figures (figure 1, figure 2 and figure 3) point out below are the demonstration of the single, hierarchical and multilevel Inheritance respectively.
Figure 1: Representation of the Super-class and Sub-class for the Rhythmic Cycles ('Tal') and its variations.
Figure 2: Representation of Super-class or Parent-class and Sub-class or Child-class hierarchical architecture in the domain of Interface in Object-Oriented Programming paradigm.
TABLE 1: Several terminology of rhythmic cycles and their descriptions:
Sl.
No.
Terminologies in ICM
Descriptions
01
Tal
The tangible rhythm cycle is defined as Tal or Tala. Example: Trital or Tintal (4x4), Keherwa (2x4) Tal etc
02
Matra
Sum of beats or notes (commonly called 'bol') in a particular rhythm cycles, is termed as matra.
03
Tali
Usually 'tali' means 'clap' in physical notation when a tal (or 'tala') is played vocally.
04
Khali
Khali means off or no clap. This is a physical notation to be represented.
05
Sam
The first beat of a rhythmic cycle or Tal.
06
Vibhag
The division of matra is called vibhag.
07
Lay
The tempo in music is called the lay (or laya or laykari).
08
Tihai
A phrase repeated three times, with the final stroke of bol exactly land on sam, the first beat of the rhythmic cycle. Tihais commonly end both ad hoc and pre-composed tabla forms.
09
Kayda (Qa'ida)
A makeshift theme-and-variations form. Variations are derived from the thematic material, ending with a tihai.
10
Peshkar
This is an additional offhand theme-and-variations form, played generally at the beginning of the solo, with the beat- strokes derived from the theka.
11
Chakradar
A rhythmic composition executed three times, similar to tihai, except habitually much longer, and with each axiom terminating with its own tihai, Tala and Theka.
12
Rela
A sort of swift drum-roll is called Rela.
Figure 3: Representation of rhythmic features by multilevel Inheritance where (A) Rhythm Cycle(Tal) is the Parent-class or Super-Class, (B) variation-two is the Sub-class extends the class Rhythm Cycle (Tal), (C) variation-four is the sub-class or derived class extends the class variation-two
METHODS OF ANALYSIS
With the intention to the representation and analysis of the several structures of Inheritance property in object-oriented analysis domain, the following stepladders of analysis are considered for the recognition and extraction of patterns and features of the rhythmic cycles.
Notes/ Beats Analysis:
Each and every rhythmic cycle restrain several beats in conventional Indian Classical Music. These rhythmic cycles are named concerning the unique features of the rhythmic cycles, namely, number of beats (numbers of 'matra'), clap(s)
('tali' in ICM), null- clap(s) ('khali' in ICM), division of beat-set ('vibhag' in ICM), First beat of the rhythmic cycle ('Sam' in ICM) etc. The rhythmic cycle is the primary method defined uniqueness by these features which are the attributes. The variations like '2x' ('digun' in ICM), '4x' ('chargun' in ICM) of the actual rhythmic cycles ('theka' in ICM) are generally the representation in the sequential sets of two and four consecutive rhythmic beats ('bol' in ICM) respectively. From this perception, this is surely defined that according to the numbers of total beats in an actual rhythmic cycle, the total beats iteration will be two and four consecutive times for the '2x'('digun') and '4x'('chargun') respectively.
Pitch Analysis:
In digital signal processing perspective, the linear signal terms normally explain by the equations using the availabilities of the parameters like, original frequencies, required times (for continuous time signals) or the number of samples (for discrete time-signals) and amplitudes. But the exact amplitudes for the particular constraints of music should not be considered by the speech recognition systems to extract the pitch periods because a lot of singers can play a piece of music or the raga in Classical music in various manners. Hence, the pitch period should be extracted from the raw music data in place of extracting the original frequencies using a method based on Phase-Space Analysis [11, 16]. In Inheritance and polymorphism perspective, the approach is: a) Extractions of the maximum number of occurance of pitch values from the raw rhythmic data and stored in databases. b) From the unknown patterns of the existing pattern-class set should be extracted. c) Comparison of the pitch values among the known-data set and unknown patterns.
Time Analysis:
Here in the time-based analysis in musical or ethno-musicological pattern recognition and feature detection approach, the individual time-stamp for each beats ('matra') analysis is required. The rhythmic patterns ('bol') which are used to played in percussion or in tabla, several isolated beats usually generate almost similar types of pitch values. Hence, to identify these types of patterns individually is a complex task. Here, in this analysis point of view, in every beat ('matra') initial time of occurrence, duration of playing an individual beat are to be counted. From these two parameters, the total time required for each matra or beat will be calculated. Another time-stamp variable is required for calculating the spaces between two matra or beats and the division of beats ('Vibhag' in ICM).
The Algorithmic approach
1. /* matra or beat analysis */
Declaration of Variable array beat.
Declaration of Variable count = NULL, initially.
Variable i, j and k, are the index parameters.
2. /* time analysis for beats count */
Variable array time_gap.
Variable array count_gap.
Variable gap_count = NULL.
Variable array total_time for total number of beats count.
3. Iteration upto the count ↠number of beats.
Total_time ↠total_time + beat [i] + gap [i].
4. Condition: if (gap [i] > estimated time)
The division of beats, are called vibhag.
Count the entire division, number of 'vibhag' calculated.
5. Analysis for '2x' ('digun'): numbers of matra or beats same.
Numbers of division are same.
Iterations of whole sequential beats, beat [i] repeated twice in full time generated, means,
total_time_two ↠total_time / 2.
6. Similarly, for '4x'('chargun'), step 5 repeated:
total_time_four ↠total_time / 4.
7. /* pitch analysis */
Declaration of variable: Array num_pitch, individual beat.
Variable pitch, pitch stored in database.
Variable user_pitch, are pitch of incoming unknown patterns.
Variable flag = NULL, initially for comparison.
8. Iteration upto the number of incoming unknown patterns under the stored database or workspace
Condition: if (user_pitch[i] == pitch[j])
flag = 1;
display: Matched with musical beat ('bol').
else
flag = NULL;
display: Incorrect pitch value entry.
9. Termination: The iteration of step 9 will be continued until the final beat of the unknown rhythmic cycles matched with the pitch detection workspace.
RESULT ANALYSIS AND DISCUSSIONS
The representation and implementation of Inheritance has been done in Object-Oriented Programming (OOP) perspective. Our approach is to extract the rhythmic features, representation of these characteristics in the domain of object-oriented modeling concept and analysis how the features behave. For the feature extraction from the different categorization of rhythms, we had to need the live recorded-data which have been performed by the eminent tabla-performers and percussionists in the virtually noise-free environment. The pitch extractions from the rhythmic-patterns are very complicated because the initial frequencies (pitch) of most of the rhythmic beats are similar and so little fractional differences which are almost neglected. Here for the pitch extraction purposes, the Wave Surfer Software has been used. The file type should be monotonic, and sample encoding has been set to line 16 and sample rate is at 22050. If we represent the ornamentations of music, the rhythms, in the corresponding musical features in Indian Classical Ragas, the rhythmic tendencies will be like as the subsequent figures:
Figure 4: Graphical representation of tabla-based rhythm (4x4) corresponding to music signal mentioned in figure 5.
Figure 5: Corresponding classical raga-besed music signal dependant on fundamental rhythm presented in figure 4.
Figure 6: Representation of Inheritance of the musical features of 'variation-two' sub-class defined on the class-based analysis (in fig. 1, fig. 2 and fig. 3) corresponding to the 'variation-one' super-class.
Figure 7: Representation of Inheritance of the musical features of 'variation-four' sub-class defined on the class-based analysis (in fig. 1, fig. 2 and fig. 3) corresponding to the 'variation-one' super-class, and 'variation-two' derived class.
TABLE 2: Pitch extraction of several primary beats used in rhythmic features
(according to max. nos. of occurrence) derived in algo. work-spaces:
Beats
Expctd. pitch
Beats
Expctd. pitch
Dha
274.75
Te
203.60
Dhi/ Dhin
106.09
Tun/ Thun
273.06
Ta/ Na
273.55
Ge/ Ghe
67.79
CONCLUSION
As per our concern, this technical contribution provides a modernism on musical pattern recognition and feature representation using several salient features, like inheritance, polymorphism, reusability of features of the object-oriented programming methodologies and modeling. This modeling concept will most likely be supportive to confiscate the complexities from the performance purposes in the domain of OOP paradigms. This innovative approach will guide to develop the extraction of the unique identification stain of rhythmic features for the musical embellishment purposes.
Acknowledgment
The Authors are gratifying to Department of Science and Technology (DST) for sanctioning a research Project under Fast Track Young Scientist scheme Reference No.: SERC/ET-0213/2011 under which this paper has been completed.