<< Chapter < Page Chapter >> Page >

The program ignores:

  • Blank lines that result in a string with a zero length
  • Comment lines that begin with a /
  • Lines that begin with a space

Conversion to audio

The data values are converted to audio frequencies and presented as an AudioGraph. The data is biased and scaled so as to make maximum use of the audio dynamicrange from 220 Hz to 1760 Hz inclusive.

If the data contains both positive and negative values, the data is adjusted so that the most negative value is emitted at220 Hz and the most positive value is emitted at 1760 Hz. The frequency that represents zero will fall somewhere between those extremes.

A unique sound is heard whenever a value of zero occurs in the data. It consists of a weightedsum of three frequencies one octave apart centered on the frequency that represents zero.

Three synthetic data items with a value of zero are prepended onto the beginning of the incoming data.They are used to establish the audio pitch for a value of zero on playback.

If the data is all positive, it is biased and scaled so that the minimum value is emitted at 220 Hz and the maximum value is emitted at 1760 Hz. In this case,the frequency that represents zero has little meaning because it is off the bottom of the page, so to speak. It is set at 220 Hz.

An output pulse is heard for each data value. The frequency of the pulse is proportional to the data value. Higher data values result in pulses with ahigher pitch. Lower data values result in pulses with a lower pitch.

The output pulse rate in pulses per second is specified by the user as a command-line parameter. Faster output rates provide a quick look at the data.Slower output rates allow for more detailed audio analysis of the data.

To eliminate the pops and clicks that result from abrupt changes in frequency from one pulse to the next, each pulse is shaped using a linear scale factorthat is zero at both ends of the pulse and maximum at the center of the pulse.

Sound progresses from the left speaker to the right speaker in proportion to the value of x as a percentage of the total number of x values.

The number, the type, and the order of command-line parameters are defined in the comments in the class named MusicComposer10 .

Beginning of the class named AudioGraph01

The class named AudioGraph01 begins in Listing 9 , which includes the declaration and initialization of some instance variables. Listing 9 also includes the beginning of the constructor for the class.

Listing 9 . Beginning of the class named AudioGraph01.
import java.io.*; import java.nio.*;import java.util.*; public class AudioGraph01 extends AudioSignalGenerator02{double[]inputData; double highFreq = 1760;double lowFreq = 220;public AudioGraph01(AudioFormatParameters01 audioParams, String[]args, byte[]melody){ super(audioParams,args,melody);

Read the input text file

Listing 10 reads the input text file to define the function that is to be played or filed as an audio file. The text file must be stored in the subfolder named Data , which is a child of the folder containing the compiled program. The incoming data isinitially stored in an ArrayList object for convenience and later transferred to an array object.

Questions & Answers

what is the answer to dividing negative index
Morosi Reply
In a triangle ABC prove that. (b+c)cosA+(c+a)cosB+(a+b)cisC=a+b+c.
Shivam Reply
give me the waec 2019 questions
Aaron Reply
the polar co-ordinate of the point (-1, -1)
Sumit Reply
prove the identites sin x ( 1+ tan x )+ cos x ( 1+ cot x )= sec x + cosec x
Rockstar Reply
tanh`(x-iy) =A+iB, find A and B
Pankaj Reply
what is the addition of 101011 with 101010
Branded Reply
If those numbers are binary, it's 1010101. If they are base 10, it's 202021.
extra power 4 minus 5 x cube + 7 x square minus 5 x + 1 equal to zero
archana Reply
the gradient function of a curve is 2x+4 and the curve passes through point (1,4) find the equation of the curve
Kc Reply
Ramesh Reply
test for convergence the series 1+x/2+2!/9x3
success Reply
a man walks up 200 meters along a straight road whose inclination is 30 degree.How high above the starting level is he?
Lhorren Reply
100 meters
Find that number sum and product of all the divisors of 360
jancy Reply
exponential series
prime number?
what is subgroup
Purshotam Reply
Prove that: (2cos&+1)(2cos&-1)(2cos2&-1)=2cos4&+1
Macmillan Reply
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get the best Algebra and trigonometry course in your pocket!

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?