안드로이드로 악보배열코드를 받아서 이제 그 코드로 악보를 만들려고 하는데여 일단 샘플주파수 뽑는건 해봤는데

이 440hz 하나로 여러게 계이름을 어떻게 해야 만들수 있나여??


private class AudioSynthesisTask extends AsyncTask<Void, Void, Void>{

@Override

protected Void doInBackground(Void... params){

final int SAMPLE_RATE = 11025;

int minSize = AudioTrack.getMinBufferSize(SAMPLE_RATE, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT);

AudioTrack audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, SAMPLE_RATE,

AudioFormat.CHANNEL_CONFIGURATION_MONO,

AudioFormat.ENCODING_PCM_16BIT,

minSize,

AudioTrack.MODE_STREAM);

audioTrack.play();

short[] buffer = new short[minSize];

float angular_frequency = 

(float) (2*Math.PI)*synth_frequency/SAMPLE_RATE;

float angle = 0;

while(keepGoing){

for(int i = 0; i<buffer.length;i++){

buffer[i] = (short) (Short.MAX_VALUE*((float)Math.sin(angle)));

angle += angular_frequency;

}

audioTrack.write(buffer, 0, buffer.length);

}

return null;

}

}

}


여기 위에가 샘플 주파수 440Hz(라)를 뽑는 것인데 이거 하나로 어떻게??

2^(1/12)를 하면 반음씩 올라가는건 알겠는데...아무리 해도 안되서 도와주시면 감사하겠습니다.