Android में Synth Chords ध्वनि आसानी से कैसे उत्पन्न करें? मैं 8 बिट का उपयोग कर गेम संगीत में गतिशील रूप से उत्पन्न करने में सक्षम होना चाहता हूं। ऑडियोट्रैक के साथ प्रयास किया, लेकिन अभी तक अच्छी आवाज़ के अच्छे नतीजे नहीं मिले।Android में Synth Chords ध्वनि आसानी से कैसे उत्पन्न करें?
वहां कोई भी उदाहरण है?
मैं सफलता के बिना निम्नलिखित कोड की कोशिश की है:
public class BitLoose {
private final int duration = 1; // seconds
private final int sampleRate = 4200;
private final int numSamples = duration * sampleRate;
private final double sample[] = new double[numSamples];
final AudioTrack audioTrack;
public BitLoose() {
audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC,
sampleRate, AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_8BIT, numSamples,
AudioTrack.MODE_STREAM);
audioTrack.play();
}
public void addTone(final int freqOfTone) {
// fill out the array
for (int i = 0; i < numSamples; ++i) {
sample[i] = Math.sin(2 * Math.PI * i/(sampleRate/freqOfTone));
}
// convert to 16 bit pcm sound array
// assumes the sample buffer is normalised.
final byte generatedSnd[] = new byte[numSamples];
int idx = 0;
for (final double dVal : sample) {
// scale to maximum amplitude
final short val = (short) ((((dVal * 255))) % 255);
// in 16 bit wav PCM, first byte is the low order byte
generatedSnd[idx++] = (byte) (val);
}
audioTrack.write(generatedSnd, 0, sampleRate);
}
public void stop() {
audioTrack.stop();
}