| World Digital Libraries: An International Journal (WDL) Vol.3(1) June 2010 Print ISSN : 0974-567X Online ISSN : 0975-7597 |
A new framework to preserve Tagore songs |
| Chandan Misra, Department of Computer Science and Engineering Civil Engineering, IIT Kharagpur, Kharagpur – 721 302, India chandan.misra1@gmail.comBaidurya Bhattacharya, Department of Civil Engineering, IIT Kharagpur, Kharagpur – 721 302, India, baidurya@civil.iitkgp.ernet.inAnupam Basu, Department of Computer Science and Engineering, IIT Kharagpur, Kharagpur – 721 302, India, anupam@cse.iitkgp.ernet.in |
| DOI: 10.3233/WDL-120055 |
Abstract |
|
This paper deals with a new framework for archiving and annotating Rabindra Sangeet (‘Rabindra Sangeet’, n.d) (known as Tagore songs in English) written and composed by Rabindranath Tagore. This framework has a layered structure with each layer having a specifi c defi ned functionality. XML (‘XML Tutorial’, n.d) is used to construct the framework to store different synchronized layers of information in a simple manner. These layers contain notational, audio/MIDI (‘Learn About MIDI’, n.d), catalogue information including structure of musicsheet. MusicXML (‘MusicXML Defi nition’, n.d) and IEEE P1599 (‘IEEE Standard P1599-2008’, 12 June 2008) standard are two prominent structured formats for defi ning western music. The inadequate nature of these two formats for representing Indian music system (including Rabindra Sangeet) makes this new framework relevant. This paper gives a brief description of the new framework and a simple application for archiving Tagore songs in MIDI and notational format. There are two ultimate purposes of this work. The fi rst one is to generate the MIDI fi les of all the songs with various instruments. The second one is to store the characters of the musicsheet in the XML fi le so that data can be retrieved and presented in a desktop and web environment. |
|
| Rabindra Sangeet, layered framework, musicsheet, MIDI, API, Unicode |
|
|
Rabindra Sangeet, also known as Tagore songs in English, is a form of music composed by Rabindranath Tagore, who added a new dimension to the musical concept of India in general and province Bengal in specific. The grammar of Rabindra Sangeet closely follows North Indian classical music and inherits all the basic features, including taal, maatra, raaga, octaves, microtones, and so on, as discussed in (‘Hindustani Classical Music’, n.d). The musicsheet is differently structured than that in western, and scores and lyrics are written in Bengali—a regional language. This necessitated a new structured format that would fully describe Tagore songs. Songs mean not only MIDI or sound but also the representation of the musicsheet, which is a container of scores and lyrics. More precisely, songs are represented here in MIDI, as well as in a human-understandable, non-audio form like musicsheet. This paper deals with the design of an XML database where the symbols of the actual musicsheet are stored as characters. Previously, the musicsheets were preserved in books or as scanned images on the web. The symbols are transformed into fonts and Unicode (‘What is Unicode?’, n.d) and stored into an XML fi le. As this is an archiving work, much other information like metadata of a song, notational information to generate MIDI, and so on, is necessary. Therefore, this framework is structured in different layers, each of which includes different information. A single XML fi le contains catalogue information of the song, the characters of the musicsheet, MIDI information like volume, pitch, frequency, note number of the song to be played, and so on. The stored data are retrieved to generate sound and to display in the web application. As musicrelated data are heterogeneous in nature (Haus and Ludovico 2005) with different encoding formats, this XML data should be synchronized. Basically, this framework is built upon the idea of MusicXML and IEEE P1599. Nevertheless, a new framework is needed for several reasons. The prime requirement of the work is to write the musicsheet using Bengali fonts and Unicode. Changes in the existing framework are required to make the musicsheets resemble the original manuscripts archived in books or on the Web (Haus and Ludovico 2005). |
|
|
The science of music differs from place to place and culture to culture. Therefore, there are many distinctions between Western and North Indian classical music. A new format was necessary to encapsulate the new features. The major differences are described below. In Rabindra Sangeet, there are seven swara-s or notes. The names of the seven swara-s are Shadja (Sa), Rishabh (Re), Gandhãr (Ga), Pancham (Pa), Dhaivat (Dha), and Nishãd (Ni) . The group of seven notes is called Saptak (Sapt = seven). If we consider the C note (the first white key) on a piano or keyboard as the tonic or the Sa, then the position of the other notes would be as follows. The seven swara-s occupy the seven white keys of the keyboard. This is shown in Figure 1. ![]() Figure 1 The seven white keys of the keyboard representing the seven swara-s It is seen in Figure 1 that in-between the seven swara-s we have five intermediate notes. These notes are called vikrit swara-s (altered notes). In this context, the original notes are referred to as the shuddha swara-s (pure notes). The swara-s between the pairs Sa and Re, Re and Ga, Pa and Dha, Dha and Ni are known as komal Re, komal Ga, komal Dha, Komal Ni, respectively. The term komal means soft or fl at. The swara between Ma and Pa is called kari Ma; kari means sharp. The swara-s Sa and Pa do not have altered forms and they are known as achal or immovable swara-s. Table 1 shows the 12 swara-s, their western counterparts, and the notes if C is taken as the Sa. There are eight more notes in Rabindra Sangeet, which are not present in western music. The swara-s between the pairs Sa and komal Re, Re and komal Ga, Pa and komal Dha, Dha and komal Ni, komal Re and Re, komal Ga and Ga, komal Dha, and Dha, komal Ni and Ni are known as atikomal Rishabh, atikomal Gandhar, atikomal Dhaivat, atikomal Nishad, anukomal Rishabh, anukomal Gandhar, anukomal Dhaivat and anukomal Nishad. It should be noted here that this analogy to the keyboard is not technically correct. In western music, the instruments are tuned to the chromatic or even tempered scale, whereas in north Indian classical music the notes are based on the natural or diatonic scale. Another thing to note is that, in western music, the frequencies of the notes are fixed. For example, the A of the middle octave is supposed to have a frequency of 440 Hz. This is not the case in Indian music. The relative frequency, and not the actual frequency, is of importance here. In the above example, we have taken C as our tonic (Sa) but we could consider any note as Sa and the pitch of the other notes will be relative to the Sa. The ratios of frequencies for various notes with respect to the Sa are also shown in Table 1. One of the requirements of preserving Tagore songs is to make the musicsheet same as the original. The symbols are totally different from western music. Here, staff notations are not used. Therefore, fonts are used here instead of images. One reason for that is that the duration of any note is also a symbol. If notes are played in real time, the notes and their associated duration symbol should be animated simultaneously. ![]() There are certain symbols that have special meaning in Rabindra Sangeet like meed and touching notes. ![]() Figure 2 Meed symbol connecting two swaras Meed shown in Figure 2 has a special meaning in the audio point of view. It connects two or more notes and the melody of the song slides from one to another. This means that the melody starts from a frequency and slides through intermediate frequencies and stops at the frequency of the destination note. The more the intermediate notes the more melodious is the song. Touching note is also a new concept. These notes can be associated before or after the main note, as shown in Figure 3 and 4. In Rabindra Sangeet, every note is given a duration. The touching note plays for a smaller fraction of the whole duration and the associated main note is played for the rest of the duration. The touching notes are similar to the main swara-s or notes but are represented in smaller glyphs. The difference in the science of the audio and the structure of musicsheet (unlike staff notation) between Indian and Western style paved the path to construct a new and simpler framework. |
|
This framework also has some new features. These features make this format useful for other genres of Indian classical music and languages. It is small in size and robust to work with. The names of the elements in the XML file are given Indian music keywords. Therefore, it is easier for a developer or a newbie in XML programming to code and manage. ![]() Figure 3 Touching notes ma and ga (before main swara ra) ![]() Figure 4 Touching note sa after main swara ra As Rabindra Sangeet is almost similar to other genres of Indian music, the scores are encoded with fonts and lyrics in Unicode. Hence, any music score and lyrics can be written with other Indian regional languages. There may be a requirement to search for a song with a keyword or sort some songs alphabetically. There are some wonderful algorithms that accomplish these tasks easily (Akhtaruzzaman 2008 and Rahman and Sattar 2008). In this framework, the application developer is set free on the decision of creating an API (‘Application programming interface’ n.d). Application can be built using raw information or using an API of a programming language that supports MIDI. The developer may create his own programming language library or use the JAVA API (David 2008). |
|
|
This new framework is built on the existing standard IEEE P1599 (‘IEEE Standard P1599- 2008’, 12 June 2008). Unlike the existing framework (Haus and Longari 2005), this structure contains five layers. A brief description of the layers and their functionality is described beneath. The layers This work is not limited to MIDI files generation but also transformation of the scanned images to printed musicsheets. Therefore, a layer of characters that define each symbol of the musicsheet is required. Moreover, the MIDI layer is required to generate the audio and also a mapping layer that maps these characters to the audio layer. This means that the layers are of different format and must be synchronized so that data and metadata can easily communicate with each other. Figure 5 describes the layers, their main purposes, and formats. ![]() Figure 5 Layers of the architecture and their corresponding formats Information layer The information layer keeps all the metadata needed to preserve Tagore songs. It contains a large amount of data including the name of the section of the song or parjay, the genre of the song or vishay, age of Rabindranath when he composed the song, and so on. Musicsheet layer The musicsheet layer tells us about the structure of the format of the music sheet. An example of the Rabindra Sangeet musicsheet is given in Figure 6. ![]() Figure 6 Structure of a single line of the musicsheet The musicsheet is divided into two sections: the score and the lyrics. For ease of coding, the score line is divided into three lines. Each line contains some particular symbols that can appear for that line only. The first line contains the repetition symbol. It tells us what portion of the song should be repeated. The second line contains the actual notes and taal symbols and also the timing information. The last line is provided for a special symbol called meed stated earlier. These three linesare encoded with .TTF or .FON fi le format defined specifically for this purpose. The lyrics part contains only one line. It is encoded with Bengali Unicode. Rabindra Sangeet musicsheet has a special format for which it depends upon the number of taal. The taal is analogous to beats in western music. The number of column of the musicsheet is calculated by Equation 1. Columns= taal* 4+5 (Equation 1) As shown in Figure 6, the number of taal is 3. The number of columns in the musicsheet of that song is 17. Of these 17 columns, two are for line-end characters and three are for end-of-taal characters. Swaralipi layer The swaralipi layer constructs the actual musicsheet. It does not tell us about the structure of the musicsheet but tells us about the material that it contains, that is, notes, taal, meed, timings, and, of course, the lyrics. Actually, music or particularly MIDI files is generated by retrieving the data from this layer and processing it through proper logic in the mapping layer. Mapping layer The mapping layer implies a layer that maps the characters of the swaralipi layer to some distinct English letters. These letters are the standard notation in Western music. Such as C is the standard notation for generating sound of note number 60. Every character has a definition. The library of any language is built using these standard English letters. The program code that uses this library when executed generates sound of the respective frequency. It is in the hands of the software developer to defi ne the mapping layer. The user also has the independence to map the characters of the swaralipi layer to letters other than the western standard notation. The required information for creating the library is given in the audio layer. Audio layer The audio layer consists of data that are used to create library in various languages that support MIDI. The note number, frequency, and pitch; all the necessary information is given here. Suppose C is the note to be played. Therefore, we have to define its properties. The note number given is 60 and the frequency given is 261. The audio layer also includes the name of the MIDI file and the full path of the fi le where it is stored. Basically, the main purpose of the layer is to give basic information on MIDI and let the users create their own API [in this work java API (David 2008) is used] of different programming languages. |
|
|
Rabindra Sangeet Notepad, a music editor is built on the proposed framework to show the layers of the framework and their interdependencies. The primary goal of this application is to generate the MIDI and XML fi les of all Tagore songs for future use. The interface of the application is shown in the Figures 7 and 8. The interface is built in Bengali Unicode so that anyone who does not know English can work with it. The arrows in the screenshot indicate various sections of the interface to describe their functionality. The user starts with entering the name of the song in section 3. The name of the song is written in Bengali unicode. This name is searched through an XML file. This XML file contains the names of all the saved songs. If a match is found, then the corresponding information of that song is fetched. The catalogue information of that song can be seen in the corresponding text boxes of section 4. If no match is found, then the song is considered to be a new one and catalogue information can be entered in section 4. The user can see all the saved songs in the white list box of section 5 and view the information of that song accordingly by clicking on any desired song name. • Tool Bar • Swaralipi Editor buttons • Song name input section • Catalogue information Section • List of saved song The musicsheet of a song can be created by selecting the number of taal and clicking on the button in section 6 of Figure 8. Section 7 contains a musicsheet table, which is divided into the number of columns according to Equation 1. The characters of the scores and lyrics are then put into table cells one by one. The user can create or edit the musicsheet either by typing through the keyboard or by clicking the buttons in section 2 of Figure 7. The whole musicsheet can be saved and printed by clicking the buttons in section 1. Section 1 also contains some more buttons for playing the current song in MIDI and saving it in a suitable location. The MIDI player has play, pause, and stop features. The entire process talks about how MIDI sound is generated from merely a series of characters and how are the layers involved. The procedure is broken into three phases, each of which is accomplished in different encoding formats. The first part is done using fonts and Unicode. The second part is done using javaenabled library and the third part using MIDI. The process starts with the preparation of the musicsheet followed by synthesis of the musical data and symbols , and ultimately generation of the sound is elaborated. The preparation of the musicsheet Scores and lyrics encoding scheme are related to two layers, the musicsheet and the swaralipi layer. The musicsheet layer defines the structure of the musicsheet and the swaralipi layer defines the scores and lyrics of the song. Scores and lyrics are the series of characters that are scanned during the synthesis of the musical data section. These symbols have their defi nition in the audio layer. The symbols are scanned one by one and mapped through the user-defi ned library of the mapping layer to generate MIDI. The number of taal in a song defines the structure of the musicsheet , that is, it defines the number of columns of the musicsheet of that particular song. As an example, the taal number three looks like Figure 9. 6 Taal Number 7. Musicsheet Section Score symbols are put into the first three lines and lyrics in the last line, that is, in the fourth line. The application is developed in such a way as to render the upper three lines in TTF format and the last line in Unicode format. ![]() Figure 7 Swaralipi Editor ![]() Figure8 A song is being edited with the editor providing taal number in section 6 and scores and lyrics character in section 7 ![]() Figure 9 Taal and mantra in a sample song ![]() Figure 10 Structure of XML file to save a single swara (Each cell of the musicsheet contains characters that denote notes, timing information, and other data. Actually, when stored in the XML file, is divided into three parts as shown in the figure: , , and . is the notehead and is stored as letter s, is the timing information stored as letter a, and is octave information and is stored as digit 6. The reason for this is that a font file is used for displaying the scores in Bengali. This font has a keyboard. is displayed when s is pressed on the keyboard. Each cell has a row and column number. Therefore, the characters are stored in XML with their associated row and column number. This is shown in Figure 6. The starting time of each cell is also given to get the real time value. It is required to animate the cell on the real time. ) The synthesis of the musical data In the first step, the data were stored in the XML. Susequently, those data were synthesized using the user-defined library. The library uses the characters that are the outcome of the mapping layer. As an example, is mapped to C, w, and 6. C is for note head and w is for the whole duration. Now the audio layer describes the C character as putting the note ON, giving the time duration of 1 second and frequency of 261. Now we got a string or specifically a series of intermediate characters. This string is put into the next section. The generation of the sound The sound is generated using the MIDI format. The java library accepts the string and creates the MIDI file. The MIDI fi le contains information like volume, pitch, and instrument of the song. The XML document keeps the information like the name of the fi le, the instrument is being used, the paths of the files, and so on and so forth. The total time is calculated and stored so that realtime animation is possible. Possible applications on Indian music This technology can be used for various applications, such as the one listed below. P A website, displaying musical scores of a singer. • An embedded media player that plays the MIDI fi le of the song and an animated musicsheet that is synchronized with the audio. • An embedded media player that plays the MIDI fi le of the song and an animated musicsheet that is synchronized with the audio. • A Raaga editor that displays graphs of various Indian Raaga-s and evaluates the emotion of the singer. • Editor for the beginners of Indian classical music where Swara-s and Raaga-s are made available using click, listen, and learn approach, for example, see (Baggi, Baratè, Haus, et al. 2005). Editor for composing own song with various instruments. |
|
|
In this paper, a framework and an application for archiving Tagore songs have been illustrated. This music tool is built to generate all the information related to Rabindra Sangeet: symbolic musicsheet, audio, and structure and character notations. The existing standards are competent enough for archiving Rabindra Sangeet. But the structures defi ned there are too complex, while Rabindra Sangeet is archived in a simpler way. The key feature of this framework is that all the complex information of music piece is bundled into a single fi le with the power to create printable musicsheet and audible MIDI fi les. As previously stated, the grammar of Rabindra Sangeet is closely related to that of north Indian classical music; the methods and interfaces described so far can be applied to all the genres of Indian classical music. Of course, to realize other genres of the Indian music, the features of the framework may be changed a little or more, but the core concept of unique framework of heterogeneous data will be preserved. |
|
| The authors are grateful to the Society for Natural Language Technology Research for funding this research work. They are also obliged to Dr Mandar Mitra, Assistant Professor, Computer Vision and Pattern Recognition Unit, ISI Kolkata for his valuable input. |
|
|
Akhtaruzzaman M. 2008. Unicode searching algorithm using multilevel binary tree applied on Bangla unicode. In Proceedings of the International Conference on Computer and Communication Engineering, KualaLumpur. pp 445–449 Baggi D L, Baratè A, Haus G, Ludovico LA. 2005. A computer tool to enjoy and understand music. In Proceedings of EWIMT 2005 – Integration of Knowledge, Semantics and Digital Media Technology. pp 213– 217 David K. (April) 2008. The Complete Guide to JFugue, Programming Music in Java. Haus G and Longari M. 2005. A multi-layered, time-based music description approach based on XML. Computer Music Journal 29 (1): 70–85 Haus G and Ludovico L A. 2005. The Digital Opera House: an architecture for multimedia databases. Journal of Cultural Heritage7 (2): 92–97 IEEE Standard P1599-2008. IEEE recommended practice for defi ning a commonly acceptable musical application using XML. Details available at http://ieeexplore.ieee.org/Xplore/dynhome.js, last accessed on 12 October 2009 Rahman M A and Sattar M A. 2008. A new approach to sort unicode bengali text. In 5th International Conference on Electrical and Computer Engineering. pp 628–630 |
|
|
MIDI Manufacturers Association Learn About MIDI http://www.midi.org/aboutmidi/index.php (accessed on 12 October 2009) Rabindra Sangeet http://en.wikipedia.org/wiki/Rabindra_Sangeet (accessed on 12 October 2009) Recordare: Internet Music Publishing and Software MusicXML Definition http://www.recordare.com/xml.html (accessed on 12 October 2009) Unicode Consortium What is Unicode? http://www.unicode.org/standard/WhatIsUnicode.html (accessed on 12 October 2009) W3Schools Online Web Tutorials XML Tutorial http://www.w3schools.com/xml/default.asp (accessed on 12 October 2009) Wikipedia, the free encyclopedia Application programming interface http://en.wikipedia.org/wiki/Application_programming_interface (accessed on 12 October 2009) Wikipedia, the free encyclopedia Hindustani Classical Music http://en.wikipedia.org/wiki/Hindustani_classical_music (accessed on 12 October 2009) Wikipedia, the free encyclopedia |










