Hvordan å generere en Tone i Java

Det kan være lurt å lage lyd fra programmet, for eksempel en varseltone, uten tilgang til pre-innspilte lyder fra harddisken. Du kan bruke den medfølgende "sound" biblioteker for å bygge lyd-generering funksjoner i Java. Disse funksjonene kan deretter spille lengre toner basert på numerisk inngang for varighet og hyppighet.

Bruksanvisning

1 Sett opp Java-klasse:

public class SolidTone {

}

2 Lag en funksjon for å lage tonen inne i klassen. Denne funksjonen vil skape lengden og frekvensen av tonen i en matrise:

public class SolidTone {

public double[] createTone(double hertz, double length) {
int N = (int) (StdAudio.SAMPLE_RATE * length);
double[] a = new double[N+1];
for (int i = 0; i <= N; i++) {
a[i] = Math.sin(2 * Math.PI * i * hertz / StdAudio.SAMPLE_RATE);
}
return a;
}

}

3 Lag den viktigste funksjonen inne i SolidTone klasse, med variabler for å konstruere tone:

public static void main (String [] args) {

double hertz = 35; //35 hertz
double length = 25; //25 seconds
double[] created_tone = createTone(hertz, length); //creates an array

StdAudio.play (a);
}

4 Spill tonen inne den viktigste funksjonen:

StdAudio.play (created_tone);