School of Science and Technology 科技學院
Computing Programmes 電腦學系

FluteKit – A Mobile Learning Application for Beginners to train Rhythmic Skills and learn Flute Fundamentals

Cheng Cheuk Hei

ProgrammeBachelor of Science with Honours in Computing
SupervisorDr. Vanessa Ng
AreasMobile Learning of Musical Instruments
Year of Completion2015


It is difficult for flute beginners to learn and practice flutes by themselves without any guidance from the instructors. Flute beginners often suffer from rhythmic errors as they may play a note longer or shorter than its correct duration. Sometimes, the rhythms written in the music sheets are too complicated for them to comprehend. Most flute beginners also do not know how to build a solid foundation in playing flutes. They may lose their interests when they keep performing unsatisfactorily. This project is to develop a mobile e-learning application for flute learners to train their rhythmic skills and help them learn flute fundamentals so that they can play a new song in a better way with fewer mistakes.

This application focuses on helping users to learn rhythmic skills and sight reading. The rhythms that the learners have played will be recorded, recognized and analyzed. Comments and improvement tips will be provided to the learners according to the weaknesses found. Relevant results of sight reading exercises will be used to find out the errors that the individual learner have made so as to improve his/her performance. Apart from rhythm skill and sight-reading skills, the application also provides some flute fundamentals e-learning materials, tuner, metronome and flute fingering chart for learning flutes.

Background and Methodology

The application is developed for Android devices with touch screen, microphone and speaker. The techniques used in the platform include Android (Java), HTML, CSS, JavaScript, SQLite. Score Reader with Practicing Helper, Sight Reading Training System, Metronome, Tuner, and Flute Fingering Chart are developed by using Java, which provides faster computation to process Audio data. Flute Fundamentals e-learning System is developed by HTML, CSS and JavaScript which is easier to update content and can present multimedia of e-learning materials in a better way. Flute Fundamentals e-learning System is integrated to the application by Android WebView. The system architecture is shown below:

Score Reader with Practicing Helper allows users to practise playing a music sheet by providing the corresponding MusicXML file. It aims to help users familiarize with the music and figure out any errors made when playing the song. Users should provide MusicXML to the system in order to render the music scores, generate score playback, and analyze the recording for users’ performance.

The practicing helper validates the correctness of the song played by users through recording. The performance of learners is recorded by Audio Recorder and analyzed by Voice to Note Converter. Information is then processed by Note Track Analyzer and Performance Reviewer. The results are then presented to the users in a music sheet which have the original notes shown on the upper row while the notes recognized are shown on the lower row. It enables users to compare notes that they played easily so that rhythmic errors and pitch errors can be identified.

Learners can build a solid flute foundation through reading articles and following instructions of video tutorials provided in which E-learning materials will cover the followings:

  • Mouthpiece Lip Placement Tutorial
  • Posture and Hand Position Tutorial
  • Tone Practice
  • Octave Slur Practice
  • Harmonic Series Practice

The Flute Fundamentals e-Learning System is built with web pages. HTML, CSS, JS are good to present articles and multimedia. It is also easy to update contents of HTML so web based presentation is adopted.

The tuner will produce the sound of the selected pitch. Tuning is done aurally by playing the pitch on flute and adjusting the float so that it matches the one produced by the tuner. The theory of this mode of tuning uses interference beats to measure the accuracy of tuning. If the two pitches are closer to the harmonic, beating will occur at lower frequency. Therefore, flute player should adjust the flute until the beating is not audible.

Flute learners often forget the fingering of some keys of flute, especially for those high pitch notes. Flute Fingering Chart enables user to look up the fingering. Flute Fingering Chart shows the fingering with the corresponding note in staff. Users swipe up and down to change the note and obtain the corresponding fingering.


Questionnaires were given to users who have tried the application to evaluate the effectiveness of the application. The evaluation is based on the following areas:

1. Effectiveness of learning a piece of score with the application. This evaluates if the Score Reader with Practicing Helper can select the difficult part out and help them to get past the obstacle. Also, the accuracy of comments and advice given to users should also be evaluated.

2. Improvement in sight reading after using the application. This evaluates if the Sight Reading Helper can help can train their sight reading skills.

3. Effectiveness of the flute fundamentals materials. This evaluates the completeness and effectiveness of the training materials provided.

4. User acceptance of the user interface. This evaluates the ease of use of the application.

There are total 12 questionnaires collected and 10 of them are flute learners. Their age is in the range of 18-25.

Conclusion and Future Development

The purpose of developing a new mobile application called FluteKit is to help flute learners learn flute efficiently. Through practicing and learning from e-learning materials, they can have a solid foundation which helps them reading music score and build up self-learning ability. FluteKit provides an all-in-one platform which provides practicing tools, self-learning materials and assistive tools which are suitable to be used in different situations.

As FluteKit is an Android application, users can install it to their smartphones and access them anytime and anywhere. It is a more comprehensive mobile music e-learning application when compared to existing applications on Google Play. Score reader with practicing helper help users practice a song. It can help users to figure out and correct errors made when playing the song. Performance of users is presented to users by rendering it on music score and giving comments. Sight reading training system train users’ sight reading skills by practicing and help users figure out and correct errors made when playing the song. Flute fundamental e-learning system help users build up fundamental skills. It provides articles and video tutorials. Assistive tools including tuner and metronome help users to play songs more accurately in rhythm and pitch.

Copyright Cheng Cheuk Hei and Vanessa Ng 2015

Jonathan Chiu
Marketing Director
3DP Technology Limited

Jonathan handles all external affairs include business development, patents write up and public relations. He is frequently interviewed by media and is considered a pioneer in 3D printing products.

Krutz Cheuk
Biomedical Engineer
Hong Kong Sanatorium & Hospital

After graduating from OUHK, Krutz obtained an M.Sc. in Engineering Management from CityU. He is now completing his second master degree, M.Sc. in Biomedical Engineering, at CUHK. Krutz has a wide range of working experience. He has been with Siemens, VTech, and PCCW.

Hugo Leung
Software and Hardware Engineer
Innovation Team Company Limited

Hugo Leung Wai-yin, who graduated from his four-year programme in 2015, won the Best Paper Award for his ‘intelligent pill-dispenser’ design at the Institute of Electrical and Electronics Engineering’s International Conference on Consumer Electronics – China 2015.

The pill-dispenser alerts patients via sound and LED flashes to pre-set dosage and time intervals. Unlike units currently on the market, Hugo’s design connects to any mobile phone globally. In explaining how it works, he said: ‘There are three layers in the portable pillbox. The lowest level is a controller with various devices which can be connected to mobile phones in remote locations. Patients are alerted by a sound alarm and flashes. Should they fail to follow their prescribed regime, data can be sent via SMS to relatives and friends for follow up.’ The pill-dispenser has four medicine slots, plus a back-up with a LED alert, topped by a 500ml water bottle. It took Hugo three months of research and coding to complete his design, but he feels it was worth all his time and effort.

Hugo’s public examination results were disappointing and he was at a loss about his future before enrolling at the OUHK, which he now realizes was a major turning point in his life. He is grateful for the OUHK’s learning environment, its industry links and the positive guidance and encouragement from his teachers. The University is now exploring the commercial potential of his design with a pharmaceutical company. He hopes that this will benefit the elderly and chronically ill, as well as the society at large.

Soon after completing his studies, Hugo joined an automation technology company as an assistant engineer. He is responsible for the design and development of automation devices. The target is to minimize human labor and increase the quality of products. He is developing products which are used in various sections, including healthcare, manufacturing and consumer electronics.

Course CodeTitleCredits
 COMP S321FAdvanced Database and Data Warehousing5
 COMP S333FAdvanced Programming and AI Algorithms5
 COMP S351FSoftware Project Management5
 COMP S362FConcurrent and Network Programming5
 COMP S363FDistributed Systems and Parallel Computing5
 COMP S382FData Mining and Analytics5
 COMP S390FCreative Programming for Games5
 COMP S492FMachine Learning5
 ELEC S305FComputer Networking5
 ELEC S348FIOT Security5
 ELEC S371FDigital Forensics5
 ELEC S431FBlockchain Technologies5
 ELEC S425FComputer and Network Security5
 Course CodeTitleCredits
 ELEC S201FBasic Electronics5
 IT S290FHuman Computer Interaction & User Experience Design5
 STAT S251FStatistical Data Analysis5
 Course CodeTitleCredits
 COMPS333FAdvanced Programming and AI Algorithms5
 COMPS362FConcurrent and Network Programming5
 COMPS363FDistributed Systems and Parallel Computing5
 COMPS380FWeb Applications: Design and Development5
 COMPS381FServer-side Technologies and Cloud Computing5
 COMPS382FData Mining and Analytics5
 COMPS390FCreative Programming for Games5
 COMPS413FApplication Design and Development for Mobile Devices5
 COMPS492FMachine Learning5
 ELECS305FComputer Networking5
 ELECS363FAdvanced Computer Design5
 ELECS425FComputer and Network Security5