public Clip(final String f) {
		new Thread() {
			public void run() {
				try {
					File file = new File(f);
					AudioInputStream audioStream = AudioSystem
							.getAudioInputStream(file);
					AudioFileFormat format = AudioSystem
							.getAudioFileFormat(file);
					frameSize = ((byte) (format.getFormat().getFrameSize()));
					byte[] frame = new byte[frameSize];
					audio = new double[AudioSystem.getAudioFileFormat(file)
							.getByteLength() / (frameSize)];
					for (int i = 0; audioStream.available() > frameSize + 1
							&& i < audio.length; i++) {
						audioStream.read(frame);
						byte[] used = new byte[4];
						int max = format.getFormat().getSampleSizeInBits() / 8 / format.getFormat().getChannels();
						for (int j = 0; j < max && j < 4; j++)
							used[3-j] = frame[frame.length-j-1];
						ByteBuffer bb = ByteBuffer.wrap(used);
						bb.order(ByteOrder.LITTLE_ENDIAN);
						int out = bb.getInt();
						audio[i] = out / (double) (Integer.MAX_VALUE);
					}
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}.start();
	}