Эффект Доплера/синтеза в Android?

В Android SoundPool.play API позволяет воспроизводить звуковые эффекты. Мне интересно, как мне изменить параметры для достижения эффекта Доплера:

public final int  play (
    int soundID,
    float leftVolume,
    float rightVolume,
    int priority,
    int loop,
    float rate) 

person l33t    schedule 12.11.2012    source источник
comment
Вы, вероятно, не сможете сделать ничего подобного с SoundPool. Вам, вероятно, придется вычислять и записывать необработанные данные PCM самостоятельно с помощью AudioTrack< /а>   -  person Tim    schedule 13.11.2012


Ответы (1)


Формула доплеровского сдвига частоты: f = f0 * (c + vr) / (c + vs), где vs/vr -- скорость отправителя и получателя, а c -- скорость звука (300 м/с для воздуха), вы можете использовать (c+vr)/(c+vs) в качестве параметра rate в play().

Вот дополнительная информация о доплеровском сдвиге, если она вам нужна.

person lenik    schedule 12.11.2012