title: change an array of byte of audio sample to frequency
body: <p>First of all, I got a project to change the frequency of a WAVE file and I need to do so in Java.</p>
  
  <p>I have used AudioSystem in java to get the bytes of the audio data (excluding the file header). Now I get an array of bytes of the data, I want to change it from the time domain into the frequency domain and after manipulating the frequency, I want to change it back into the time domain. Here's the code:</p>
  
  <pre class="lang-java prettyprint-override"><code>public byte[] getWAVByte(){
      ByteArrayOutputStream out = new ByteArrayOutputStream();
  
      try{
          File f = new File("audio.wav");
          AudioInputStream in = AudioSystem.getAudioInputStream(f);
  
          int read;
  
          byte[] buff = new byte[(int)f.length()];
          while ((read = in.read(buff)) &gt; 0)
          {
              out.write(buff, 0, read);
          }
          out.flush();
          byte[] audioBytes = out.toByteArray();
  
          return audioBytes;
      }catch(Exception e){
          e.printStackTrace();
      }
  
  }
  </code></pre>
  
  <p>Now that I have an array of bytes in audioBytes, I want to change it into another array of bytes in frequency domain. I have read that you can do it with Fourier Transform, but my teacher said that it's really complex and it's not within my project's scope. So is there any other way to do this? Or is there any java library that can help me get the array of bytes in frequency domain?</p>