<< Chapter < Page
  Accessible objected-oriented     Page 1 / 17
Chapter >> Page >
This module explains how to write a program that simulates a player piano in a format that is accessible to blind students.

Table of contents

Preface

This module is part of a collection titled Accessible Objected-Oriented Programming Concepts for Blind Students using Java . It explains how to write a program that simulates a player piano in a formatthat is accessible to blind students.

Here are some sample melodies produced by the program. (You should be able to play these audio files with any standard media player that can handle the AU file type. In case you are onthe OpenStax site and you are unable to download the audio files, click the Legacy Site link at the top of this page to switch over to the same module on the Legacy site. You should be able todownload the audio files from there .)

Click here to download a zip file containing the text files and the Windows batch files needed to playthese melodies. The zip file also contains the audio files of type AU listed above.

Viewing tip

I recommend that you open another copy of this module in a separate browser window and use the following links to easily find the listings while you are reading about them.

Listings

  • Listing 1 . Beginning of the class named MusicComposer09.
  • Listing 2 . The main method.
  • Listing 3 . Beginning of the constructor for the MusicComposer09 class.
  • Listing 4 . Get a melody array.
  • Listing 5 . Beginning of the PlayerPiano01 class.
  • Listing 6 . The constructor for the PlayerPiano01 class.
  • Listing 7 . Beginning of the getMelody method.
  • Listing 8 . Get and save treble clef note data.
  • Listing 9 . Get and save bass clef note data.
  • Listing 10 . Compute the length of each clef in beats.
  • Listing 11 . Check for treble and bass clefs of different lengths.
  • Listing 12 . Convert treble notes to amplitude values.
  • Listing 13 . Convert bass notes to amplitude values.
  • Listing 14 . Populate and return the melody array with stereo data.
  • Listing 15 . Populate and return the melody array with monaural data.
  • Listing 16 . Beginning of the getPiano method.
  • Listing 17 . Store the current note and compute the frequency of the next note.
  • Listing 18 . Construct the name of the next note.
  • Listing 19 . Beginning of the method named makeMusic.
  • Listing 20 . Process each array containing duration and note names in the ArrayList object.
  • Listing 21 . Process each sample.
  • Listing 22 . Process each piano key that is pressed.
  • Listing 23 . Use a scale factor to shape the note.
  • Listing 24 . The class named AudioFormatParameters01.
  • Listing 25 . The class named AudioPlayOrFile01.
  • Listing 26 . The class named AudioSignalGenerator02.
  • Listing 27 . The class named MusicComposer09.
  • Listing 28 . The class named PlayerPiano01.
  • Listing 29 . The file named GreensleevesTreble.txt
  • Listing 30 . The file named GreensleevesBass.txt
  • Listing 31 . The file named Greensleeves.bat.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Accessible objected-oriented programming concepts for blind students using java. OpenStax CNX. Sep 01, 2014 Download for free at https://legacy.cnx.org/content/col11349/1.17
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Accessible objected-oriented programming concepts for blind students using java' conversation and receive update notifications?

Ask