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 program named Sinc01.
- Listing 2 . Beginning of the class named Runner.
- Listing 3 . The method named run.
- Listing 4 . Beginning of the method named getYval.
- Listing 5 . The end of the getYval method.
- Listing 6 . Contents of the output file named Sinc01.txt.
- Listing 7 . Beginning of the class named MusicComposer10.
- Listing 8 . The constructor for the class named MusicComposer10.
- Listing 9 . Beginning of the class named AudioGraph01.
- Listing 10 . Read the input text file.
- Listing 11 . The remainder of the constructor for the class named AudioGraph01.
- Listing 12 . Beginning of the method named getMelody.
- Listing 13 . Determine the frequency and data ranges.
- Listing 14 . Determine the frequency to represent a y-value of zero.
- Listing 15 . Compute audio sample values and deposit them in the output array.
- Listing 16 . The program named Sinc01.
- Listing 17 . The file named Sinc01Solver.bat.
- Listing 18 . The file named Sinc01Player.bat
- Listing 19 . The class named MusicComposer10.
- Listing 20 . The class named AudioGraph01.
Figures
Please see the section titled Not a substitute for an embossed image for a discussion of the images that are provided in this module.
- Figure 1 . Cubic01.
- Figure 2 . Cubic02.
- Figure 3 . DampedSinusoid01.
- Figure 4 . ExponentialDamper01.
- Figure 5 . Parabola01.
- Figure 6 . Quadratic01.
- Figure 7 . Sinc01.
- Figure 8 . Sinusoid01.
- Figure 9 . StraightLine01
- Figure 10 . StraightLine02.
General background information
What is an AudioGraph ?
A previous module titled Jbs2040-An Audio Graph of a Sinusoid introduced you to the concept of an AudioGraph . In a nutshell, an AudioGraph is a melody consisting of audio pulses that represent points on thegraph of a function. Those points represent values of y as a function of x between two limits on x.
Two different AudioGraph programs were presented in earlier modules. Each was specifically designed for a particular function. One program produced anAudioGraph of a square wave. The other produced an AudioGraph of a sinusoid.
A general purpose AudioGraph program
This module expands on that concept and develops a general purpose program named MusicComposer10 that can produce an AudioGraph for virtually any single-valued function of the independent variable x for which the values of y can be encapsulated ina simple text file. Several examples are provided above . (By single-valued function in this context, I mean a function where, for every value of x within the range ofinterest, one and only one finite value exists for y.)
Where do the text files come from ?
The program doesn't know and doesn't care where the values in the text file originate. For example, they could represent the temperature in your dorm room takenmanually every hour for 36 hours and entered into a text file using a simple text editor program. On the other hand, they could be produced by acomputer program that is designed to evaluate a specific function and to write the results into an output text file as was the case for Sinc01 .