-
Home
- Accessible objected-oriented
- Accessible objected-oriented
- Jbs2060-a player piano simulator
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.
Questions & Answers
discuss how the following factors such as predation risk, competition and habitat structure influence animal's foraging behavior in essay form
location of cervical vertebra
define biology infour way
Explain the following terms .
(1) Abiotic factors in an ecosystem
Abiotic factors are non living components of ecosystem.These include physical and chemical elements like temperature,light,water,soil,air quality and oxygen etc
Qasim
Define the term Abiotic
Marial
passive process of transport of low-molecular weight material according to its concentration gradient
AI-Robot
what is production?
Catherine
how did the oxygen help a human being
how did the nutrition help the plants
Got questions? Join the online conversation and get instant answers!
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.