Android AudioTrack генерирует буфер с одной частотой в одном ухе и второй частотой в другом ухе - PullRequest
1 голос
/ 09 мая 2020

Я генерирую тональный сигнал на android

public void toneer(){
    final int duration = 10; // duration of sound
    final int sampleRate = 22050; // Hz (maximum frequency is 7902.13Hz (B8))
    final int numSamples = duration * sampleRate;
    final double samples[] = new double[numSamples];
    final short buffer[] = new short[numSamples];
    for (int i = 0; i < numSamples; ++i)
    {

        samples[i] = Math.sin(2 * Math.PI * i / (sampleRate / 440)); // Sine wave
        buffer[i] = (short) (samples[i] * Short.MAX_VALUE);  // Higher amplitude increases volume
    }


    AudioTrack audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC,
            sampleRate, AudioFormat.CHANNEL_OUT_MONO,
            AudioFormat.ENCODING_PCM_16BIT, buffer.length,
            AudioTrack.MODE_STATIC);
    audioTrack.write(buffer,  0, buffer.length);
    audioTrack.play();
}

Я видел некоторые места, где обсуждали, что возможно, чтобы буфер звучал только слева или справа?

Мой вопрос: как создать «бинауральный» ритм, одна частота в одном ухе, а другой тон воспроизводится во втором ухе?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...