Escolar Documentos
Profissional Documentos
Cultura Documentos
PlayThatTune.java
PlayThatTune.java
BelowisthesyntaxhighlightedversionofPlayThatTune.javafrom1.5InputandOutput.
/******************************************************************************
*Compilation:javacPlayThatTune.java
*Execution:javaPlayThatTune<input.txt
*Dependencies:StdAudio.javaStdAudio.java
*
*Thisisadatadrivenprogramthatplayspuretonesfrom
*thenotesonthechromaticscale,specifiedonstandardinput
*bytheirdistancefromconcertA.
*
*%javaPlayThatTune<elise.txt
*
*
*Datafiles
*
*http://www.cs.princeton.edu/introcs/21function/elise.txt
*http://www.cs.princeton.edu/introcs/21function/freebird.txt
*http://www.cs.princeton.edu/introcs/21function/Ascale.txt
*http://www.cs.princeton.edu/introcs/21function/National_Anthem.txt
*http://www.cs.princeton.edu/introcs/21function/looney.txt
*http://www.cs.princeton.edu/introcs/21function/StairwayToHeaven.txt
*http://www.cs.princeton.edu/introcs/21function/entertainer.txt
*http://www.cs.princeton.edu/introcs/21function/oldnassau.txt
*http://www.cs.princeton.edu/introcs/21function/arabesque.txt
*http://www.cs.princeton.edu/introcs/21function/firstcut.txt
*http://www.cs.princeton.edu/introcs/21function/tomsdiner.txt
*
******************************************************************************/
publicclassPlayThatTune{
publicstaticvoidmain(String[]args){
//repeataslongastherearemoreintegerstoreadin
while(!StdIn.isEmpty()){
//readinthepitch,where0=ConcertA(A4)
intpitch=StdIn.readInt();
//readindurationinseconds
doubleduration=StdIn.readDouble();
//buildsinewavewithdesiredfrequency
doublehz=440*Math.pow(2,pitch/12.0);
intN=(int)(StdAudio.SAMPLE_RATE*duration);
double[]a=newdouble[N+1];
for(inti=0;i<=N;i++){
a[i]=Math.sin(2*Math.PI*i*hz/StdAudio.SAMPLE_RATE);
}
//playitusingstandardaudio
StdAudio.play(a);
}
}
}
http://introcs.cs.princeton.edu/java/15inout/PlayThatTune.java.html
1/2
9/18/2015
PlayThatTune.java
Copyright20002011,RobertSedgewickandKevinWayne.
Lastupdated:SunAug218:43:37EDT2015.
http://introcs.cs.princeton.edu/java/15inout/PlayThatTune.java.html
2/2