[ieee 2011 international conference on multimedia technology (icmt) - hangzhou, china...

4
User Friendly Synthesizer Software Hrishil Shah 1 , Nikhil Jukar 1 , Karan Godshalwar 1 , Kriti Srivastava 2 1. Students, Department of Information and Technology, 2. Lecturer, Department of Information and Technology, Dwarkadas J Sanghvi College of Engineering, Mumbai. [email protected] ; [email protected] ; [email protected] ; [email protected] Abstract The Synthesizer Software [SyS] teaches the users to play the keyboard. It acts as a substitute for human teachers. It accepts the audio file which the user wants to learn and then highlights keys on the GUI. The highlighted keys will show the user the keys to be pressed in accordance with the songs/melody and will wait for user input. Based on these inputs, the system generates a Report that will analyze his performance. In this paper, we discuss the functionalities of the Synthesizer Software system. Key Words: MIDI, SyS, Synthesizer Software 1. Introduction In today’s scenario, a user interested in learning a synthesizer is expected to visit a tutor. Doing this on a regular basis may not be feasible for a user. It also requires a user to be visiting him at a fixed time. The Synthesizer software provides him the required location independence and flexibility to use it at his convenient time. There are currently certain systems that that lets you learn piano quickly and easily, like MidiPiano. In this software, you open a midi file and simulate play it in a virtual keyboard. You can record midi file by the virtual keyboard or midi devices. 2. Overview of Prevalent Software - Midi Piano MidiPiano is a program that lets you learn piano quickly and easily. Ref.[2] You can open midi file and simulate play it in a virtual keyboard. You can record midi file by the virtual keyboard or midi devices. This software is published with source OpenPianoEx release v1.1 A. Observation in the existing systems The currently available software are very complicated to learn from, especially for beginners. They do not allow the user to play in real time. Also the duration for which a particular key is to be pressed is uncertain. B. Modular description of existing system The MIDI interface The MIDI interface has three ports. MIDI: IN, OUT and THRU. The IN port allows data to be received by the machine. The OUT port is used for transmitting data. The THRU port creates a replica of the input signal. This is used to connect more than one MIDI device. At first glance it may seem unnecessary to have the THRU port, since you could simply chain devices together using the output from the OUT port. The digital information is sent serially at a rate of 3000 bytes per second, by switching a current of approximately 5mA on and off. If the OUT port was used this current may be too small to drive any of the devices. The Digital Data Transmitted Every MIDI message (figure 1) transmitted starts with a "Start Bit", this is when the signal current drops to 0mA, and is followed by a byte of data (Most Significant Bit (MSB) is transmitted first) and finishes with a "Stop Bit", which is when the current returns to 5mA [1].The RS232 system works in a similar way. Fig.1 MIDI Message There are two main types of message. A status byte, which always has it's MSB set to 1, and a data byte, which always has it's MSB set to 0. The status byte is divided up into two nibbles. The first nibble describes what event has happened and the second is used for the channel number. E.g. 1001 0001 means "note On" on channel 1 (N.B. the Start bit and Stop Bit have been Omitted). Each status byte is followed by a number of data bytes. The "Note On" status byte is followed by 2 data bytes describing the note value and how loud the note was 6651 978-1-61284-774-0/11/$26.00 ©2011 IEEE

Upload: kriti

Post on 12-Apr-2017

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: [IEEE 2011 International Conference on Multimedia Technology (ICMT) - Hangzhou, China (2011.07.26-2011.07.28)] 2011 International Conference on Multimedia Technology - User friendly

User Friendly Synthesizer Software

Hrishil Shah1, Nikhil Jukar 1, Karan Godshalwar1, Kriti Srivastava2

1. Students, Department of Information and Technology, 2. Lecturer, Department of Information and Technology,

Dwarkadas J Sanghvi College of Engineering, Mumbai.

[email protected]; [email protected]; [email protected]; [email protected]

Abstract The Synthesizer Software [SyS] teaches the users to play the keyboard. It acts as a substitute for human teachers. It accepts the audio file which the user wants to learn and then highlights keys on the GUI. The highlighted keys will show the user the keys to be pressed in accordance with the songs/melody and will wait for user input. Based on these inputs, the system generates a Report that will analyze his performance. In this paper, we discuss the functionalities of the Synthesizer Software system.

Key Words: MIDI, SyS, Synthesizer Software 1. Introduction

In today’s scenario, a user interested in learning a synthesizer is expected to visit a tutor. Doing this on a regular basis may not be feasible for a user. It also requires a user to be visiting him at a fixed time. The Synthesizer software provides him the required location independence and flexibility to use it at his convenient time. There are currently certain systems that that lets you learn piano quickly and easily, like MidiPiano. In this software, you open a midi file and simulate play it in a virtual keyboard. You can record midi file by the virtual keyboard or midi devices. 2. Overview of Prevalent Software - Midi Piano

MidiPiano is a program that lets you learn piano quickly and

easily. Ref.[2] You can open midi file and simulate play it in a virtual keyboard. You can record midi file by the virtual keyboard or midi devices. This software is published with source OpenPianoEx release v1.1

A. Observation in the existing systems The currently available software are very complicated to

learn from, especially for beginners. They do not allow the user to play in real time. Also the duration for which a particular key is to be pressed is uncertain.

B. Modular description of existing system

The MIDI interface The MIDI interface has three ports. MIDI: IN, OUT and

THRU. The IN port allows data to be received by the machine. The OUT port is used for transmitting data. The THRU port creates a replica of the input signal. This is used to connect more than one MIDI device. At first glance it may seem unnecessary to have the THRU port, since you could simply chain devices together using the output from the OUT port. The digital information is sent serially at a rate of 3000 bytes per second, by switching a current of approximately 5mA on and off. If the OUT port was used this current may be too small to drive any of the devices.

The Digital Data Transmitted

Every MIDI message (figure 1) transmitted starts with a

"Start Bit", this is when the signal current drops to 0mA, and is followed by a byte of data (Most Significant Bit (MSB) is transmitted first) and finishes with a "Stop Bit", which is when the current returns to 5mA [1].The RS232 system works in a similar way.

Fig.1 MIDI Message

There are two main types of message. A status byte, which

always has it's MSB set to 1, and a data byte, which always has it's MSB set to 0. The status byte is divided up into two nibbles. The first nibble describes what event has happened and the second is used for the channel number. E.g. 1001 0001 means "note On" on channel 1 (N.B. the Start bit and Stop Bit have been Omitted). Each status byte is followed by a number of data bytes. The "Note On" status byte is followed by 2 data bytes describing the note value and how loud the note was

6651978-1-61284-774-0/11/$26.00 ©2011 IEEE

Page 2: [IEEE 2011 International Conference on Multimedia Technology (ICMT) - Hangzhou, China (2011.07.26-2011.07.28)] 2011 International Conference on Multimedia Technology - User friendly

played. [3] E.g. 0011 1100 means note value 60 (middle C) and 0000 0001 means with a velocity of 1.

C. Basic Modes in the current system

One of the simpler modes of operation involves generating

MIDI data for a sequence of musical events by means of a keyboard, the computer being programmed to register the pitch, duration and amplitude (a measure of the key velocity) for each note in a data file, and the time at which each event occurs.

More elaborate sequencing procedures involve the layering

of several performance components for a number of synthesizers using MIDI tracks in parallel, and/or direct editing of the MIDI data using graphic editing tools. Significantly, MIDI data is not concerned with detailed specification of the actual sound, merely with those characteristics that describe the articulation of its component elements in terms of note-events.

D. Feature modes

• This software allows the user to select the song which he

wants to learn. • It maps the keys to be pressed to the GUI. • Tempo of the song can be adjusted • A timer keeps track of the time from the start of the song

3. Pitfall in current systems The currently available softwares make the learning process

complicated, especially for beginners. The GUI of these systems displays the key that needs to be pressed at run-time. It does not display the duration for which the key needs to be pressed. This information is essential to get the right sound. [4] A beginner needs guidance with the duration for which a key should be pressed.

The GUI of these systems displays the key that needs to be pressed at run-time. It does not display the key that needs to be pressed next. This information is particularly important in songs that have multiple keys to be pressed at an instant. The system should provide information about the key that needs to be pressed next, to avoid taxing the users’ short-term memory. This information is particularly important to make the learning process easier. The current systems fail to do so.

The current systems fail to provide octave selection. The

standard keyboard has 5 octaves. [7]. Playing songs on this keyboard would require the user to use both his hands and co-ordinate the key presses. This can prove to be difficult for a beginner. In such cases, the user should be able to select certain octaves. The system would display only those keys

which lie in these selected octaves [8]. The user may gradually select more octaves as his comfort level increases.

4. User Friendly System – Synthesizer Software

Fig2. System Architecture of Synthesizer Software (Proposed System)

Product Perspective The user can choose any MIDI song. This MIDI file acts

as input to the software. Our software will then process the file. A standard keyboard consists of 5 octaves with keys of different frequencies [13]. While processing the file the appropriate octave with the corresponding frequency note is identified. In order to display the key on the keyboard, the software incorporates a GUI in the form of an onscreen keyboard as shown in figure 2. The identified key is then highlighted on this virtual keyboard. The software also calculates the time interval between two adjacent notes while processing the file [14]. On the basis of this the user will be

6652

Page 3: [IEEE 2011 International Conference on Multimedia Technology (ICMT) - Hangzhou, China (2011.07.26-2011.07.28)] 2011 International Conference on Multimedia Technology - User friendly

able to identify the duration for which a particular key is to be pressed before proceeding to play the next one.

The user will have to use a MIDI cable to plug his

keyboard to the desktop/laptop on which the software is installed. He can then see the virtual keyboard on his screen and play corresponding keys on his keyboard after observing the GUI. The software allows him to play in real time. After the song is played by the user the software also generates performance analysis report. It grades the user on his performance. By comparing the frequency of the keys played by the user to the actual frequency to be played it can identify correctness and computer efficiency. By keeping a track of all the mistakes made, the software also correctly displays to the user the number of mistakes made along with the notes which were incorrectly played. The final grade which the user will be given will also consider the correct duration for which every key was pressed [10]. This overall analysis will definitely help anyone using the software to easily improve their performance.

The currently available software is very complicated to

learn from, especially for beginners. They do not allow the user to play in real time. Also the duration for which a particular key is to be pressed is uncertain.

In comparison our software allows the user to play in real

time and help him easily identify the corresponding keys with their duration. It is simple and allows the users to learn the keyboard at their own convenience and at their desired level. These features will actually help an amateur to “LEARN” the instrument.

Product Features

• GUI to display the next key to press. The input MIDI file from the user is analyzed for the instrument used and the frequencies used by that instrument are determined. Based on this analysis, only those keys corresponding to the selected instrument are highlighted and displayed on the screen

• Generate Performance Report.

The GUI displays the next key to be pressed along with its duration. The software waits for the corresponding key press. Based on an analysis of the keys pressed, the users’ performance is analyzed and a Performance Report is generated. User is graded on the basis of number of correct notes played, number of extra notes played. This is helpful to track his/her progress over a period of time.

• Change number of octaves.

After selecting the track to be played, the user will specify the number of octaves he is comfortable with. Based on this input the corresponding frequencies will be matched for the octave selected and the key is highlighted.

• Sound Transposition.

Depending on the user input on the number of octaves, it requires correct Ref[11] identification of the frequency range. This will be required for giving the right sound.

• Pop-up reminder notes:

Depending on the user input on the number of octaves, it requires correct identification of the frequency range. This will be required for giving the right sound.

After playing the track to be played, the user specifies his comfort level while playing the track. With the help of this build-in editor, he will be able to add notes for the track, like identifying the tracks for which he faced difficulty. This information is available to the user when he selects the track to play.

• Video Feed:

The user is able to view a video of an existing track that has been played by another user.

The user is provided with video recordings of the in-build tracks. He may choose to view them to enhance the learning experience. It helps to view the correct finger position too.

5. Comparison of the Existing system with User friendly Synthesizer Software:

Provide for flexible interaction: This promotes usability. The UI of the proposed system is based on a keyboard. This allows the user to play the instrument with ease even while learning from the system. In the proposed system, the next key to be pressed is highlighted while the user plays the instrument. This gives the user liberty to play the instrument while looking at the keys to be pressed next [15]. This increases the flexibility.

6653

Page 4: [IEEE 2011 International Conference on Multimedia Technology (ICMT) - Hangzhou, China (2011.07.26-2011.07.28)] 2011 International Conference on Multimedia Technology - User friendly

Reduce Users’ memory load: The more the user has to remember, the more error-prone interaction with the system will be. Hence, a well-designed UI does not tax the users’ memory. Whenever possible, the system should remember pertinent information. The existing system reduces the user freedom. It requires the user to memorize the next key to be pressed. In the proposed system, the next key to be pressed is highlighted while the user plays the instrument. This gives the user liberty to play the instrument while looking at the keys to be pressed next. Thus, it allows him to play without needing to memorize the keys, while learning. Thus, it reduces the demand on short term memory. GUI based on real-world metaphor: For the system to be intuitive, it should be based on a real world metaphor. This promotes usability. The UI of the proposed system is based on a keyboard. This allows the user to play the instrument with ease even while learning from the system.

6. Performance Analysis

Fig3. Snapshot of the GUI displaying virtual keyboard and the highlighted keys.

Our System provides the above GUI( figure 3) to the user, which allows him to see the keys to be pressed in advance along with their duration. This does not tax his memory as compared to the existing system.

Fig 4. Snapshot of the GUI displaying performance analysis for various user attempts.

The synthesizer software provides the above shown report card (figure 4), which provides the user an in detail analysis of his performance after taking and analyzing his input. 7. Conclusion

In comparison to the existing software, our software will allow the user to play in real time and help him easily identify the corresponding keys with their duration. It is cost effective, simple and allows the users to learn the keyboard at their own convenience and at their desired level. These features will actually help an amateur to easily “LEARN” the instrument.

References [1] Ozcan, G.,Isikhan, C., Alpkocak, A. , “Melody extraction on MIDI music files”, In Proceedings of the Seventh IEEE International Symposium ,on Multimedia 2005 [2] Mammen, S. ; Krishnamurthi, I., “Design of an architecture for a MIDI based music e-tutor”, In Proceedings of the Audio Language and Image Processing (ICALIP), 2011 International Conference in , Nov. 2010 [3] Welzl, Michael : MINI: Making MIDI Fit for Real-Time Musical Interaction over the Internet in Dec. 2007 [4] http://www.jfugue.org [5]http://tech.groups.yahoo.com/group/jfugue-users/ Understanding MIDI Structure - http://www.midi.org [6]http://www.phys.unsw.edu.au/~jw/notes.html [7]MIDI Specifications - http://www.borg.com/~jglatt/tech/midispec.htm [8]The MIDI Manual Third Edition A Practical Guide to MIDI by David Miles [9]http://www.onjava.com/pub/a/onjava/excerpt/jenut3ch17/index1.html [10]http://www.jsresources.org [11]http://java.sun.com/j2se/1.4.2/docs/guide/sound/programmer_guide/

6654