Почему изменения в настройках эквалайзера вступают в силу с задержкой?
Когда я меняю физические элементы управления эквалайзером на стереосистеме, я сразу слышу изменения. Однако, когда я меняю программный эквалайзер (например, в приложении «Музыка» на Mac), происходит задержка примерно в 4 секунды, прежде чем я услышу изменение. Я заметил это во всех программных эквалайзерах, которые использовал.
Что это не вступает в силу сразу?
Чтобы воспроизвести это:
- Приложение Open Music (или любое аудиоприложение со встроенным эквалайзером)
- Начать воспроизведение трека
- Откройте эквалайзер и включите его.
- Выберите
Flat
предустановку и подождите 5 секунд, чтобы убедиться, что она применилась. - Выберите
Rock
предустановленной настройки и слушайте, сколько времени пройдет, пока не услышите изменение
1 ответ
Когда звук воспроизводится, он воспроизводится в буфер. Этот буфер будет передаваться на ваши динамики, но приводит к задержке. Если буфер действительно низкий, звук будет хрипеть, если буфер исчерпается, например, из-за того, что процессор не успевает за ним.
В зависимости от аудиодрайвера требуются разные длины буфера, поскольку некоторые аудиодрайверы работают быстро, а другие — медленно. Для простого повседневного звука используется медленный аудиодрайвер с большим буфером. В музыкальной программе используются быстрые драйверы, такие как ASIO или WASAPI, с небольшими буферами.
Ваш буфер изначально большой, поэтому вы применяете эквалайзер, но не слышите его, потому что вам все равно придется сначала слушать другой воспроизводимый звук.
Чтобы убедиться, что это действительно происходит, дважды переключите настройки эквалайзера с небольшой задержкой, но убедитесь, что второе переключение произойдет до того, как вы услышите первое. Если я прав, вы все равно услышите применение первой настройки эквалайзера.
На компьютере Mac с процессором M1 и программным обеспечением x86 может возникнуть дополнительная задержка, поскольку инструкции не выполняются в реальном времени, но их необходимо обработать.