// fft_frame.java fft_frame ok.wav junk.wav // uses read_wave.java // uses Cxfft.java import java.*; import java.awt.*; import java.awt.event.*; public class fft_frame extends Frame { int width = 512; int height = 512; int S[] = new int[width]; int fctr; // for scaling plot public fft_frame(String file_in, String file_out) { double amin, amax, aavg, y; double bmin, bmax, bavg; double smin, smax, savg; int m; // next power of 2 int mscale, mcnt; int j; // combine frequencies to fit into S for(int i=0; i2*n) break; System.out.println("power of 2 m="+m); System.out.println("have "+n+" points for FFT"); double A[] = new double[m]; double B[] = new double[m]; double B2[] = new double[m]; for(int i=0; i<2*n; i+=2) A[i] = (double)R.A[i/2]; // real for(int i=1; i<2*n; i+=2) A[i] = 0.0; // imag for(int i=2*n; i0) { file_in = args[0]; } String file_out = "junk.wav"; if(args.length>1) { file_out = args[1]; } new fft_frame(file_in, file_out); } // end main } // end class fft_frame of fft_frame.java