Воспроизведение без пауз (gapless) на Android: почему между треками пауза и как её убрать
Коротко: пауза между треками возникает по одной из двух причин. Либо сам файл начинается и заканчивается небольшой тишиной от кодера (так бывает у MP3 и AAC, а обрезать её плеер может, только если кодер записал, сколько её добавил), либо плеер открывает следующую песню лишь после того, как закончилась текущая. Audify по умолчанию играет без пауз: он загружает следующий трек ещё до окончания текущего, поэтому включать ничего не нужно — отдельной настройки для этого нет. Если пауза всё равно слышна, причина почти всегда в самом файле.
Что такое воспроизведение без пауз и кому оно нужно
Воспроизведение без пауз означает, что следующий трек начинается ровно там, где закончился предыдущий, с точностью до сэмпла, и никакой тишины между ними не добавляется. На большинстве студийных альбомов вы бы этого и не заметили: между песнями там и так есть пауза. Но в музыке, в которой один трек должен перетекать в следующий (концертные альбомы, где аплодисменты не обрываются между треками, DJ-миксы, классические произведения и оперы, разбитые на части, концептуальные альбомы), даже доля секунды тишины разрушает эту непрерывность.
Воспроизведение без пауз не означает, что плеер вырезает тишину. Пауза, которая есть в самой записи, остаётся ровно такой длины, какой её сделал исполнитель; «без пауз» значит лишь, что плеер ничего не добавляет от себя.
Откуда берутся паузы
Тишина внутри файла. Кодеры с потерями вроде MP3 и AAC работают с блоками звука фиксированного размера, и им нужен разгон, поэтому они добавляют немного тишины в начало и в конец каждого трека. В документации Apple указано, что обычная тишина в начале файла AAC составляет 2 112 сэмплов — около 48 миллисекунд при частоте дискретизации CD, — а в конце добавляется до 1 023 сэмплов; проект LAME описывает то же самое для MP3. Если проиграть два таких файла подряд без обрезки, на стыке останется примерно 30–70 миллисекунд тишины: это недолго, но в музыке, которая должна звучать непрерывно, такая тишина слышна как запинка.
Хорошие кодеры записывают, сколько тишины добавили: LAME заносит это в информационный тег в первом фрейме MP3, а файлы AAC из iTunes тоже хранят эти сведения в самом файле, так что плеер может потом эту тишину отрезать. Сам стандарт MP3 такой пометки не предусматривает, поэтому в файле от кодера, который её не делает, тишина остаётся навсегда.
Плеер, который опаздывает с загрузкой. Если плеер ждёт, пока закончится одна песня, и только потом открывает, читает и начинает декодировать следующую, то, пока он наверстывает упущенное, возникает пауза, и она может длиться полсекунды и дольше. Плеер, умеющий играть без пауз, готовит следующий трек заранее и подаёт оба трека на динамик одним непрерывным потоком.
Файлы без потерь — другое дело. FLAC и WAV хранят ровно те сэмплы, которые были записаны, без дополнения до полного блока: спецификация FLAC даже позволяет последнему блоку быть короче, чтобы длина файла точно совпадала с длиной звука. Альбом, оцифрованный с CD в FLAC, изначально готов к воспроизведению без пауз.
Audify играет без пауз по умолчанию
В Audify нет переключателя для воспроизведения без пауз, потому что включать здесь нечего. Приложение всегда загружает следующую песню в очереди до того, как закончится текущая, поэтому его движок воспроизведения — Media3 ExoPlayer для Android — переходит от трека к треку без паузы и обрезает добавленную кодером тишину, о которой сообщает файл MP3 или AAC.
Исключение — форматы, которые этот движок не умеет декодировать; из них чаще всего встречается WMA. Такие файлы Audify передаёт более старому встроенному плееру Android, который запускает следующий файл, как только закончится текущий. В зависимости от телефона при этом может возникать пауза в несколько сотых секунды. Если альбом в WMA должен звучать слитно, заново оцифруйте его с CD в FLAC.
Audify для Windows и Mac тоже играет без пауз, поэтому альбом, который звучит без разрывов на телефоне, и на компьютере прозвучит так же.
Как слушать альбом без пауз
- 1. Запустите альбом с первого трека. Воспроизведение без пауз помогает, только если следующая песня в очереди — это следующая песня альбома. Откройте альбом или его папку и начните с самого начала, а не со сборного плейлиста.
- 2. Выключите «Перемешивание». Когда «Перемешивание» включено, следующая песня выбирается случайно, поэтому концертный сет скачет с трека на трек, а не льётся единым потоком, хотя каждый переход сам по себе бесшовный.
- 3. Слушайте файлы, готовые к воспроизведению без пауз. FLAC, WAV, OGG и Opus ничего дополнительного не требуют. MP3 и AAC требуют данных кодера для воспроизведения без пауз, а они есть в файлах, созданных в LAME или iTunes. Если вы всё равно оцифровываете CD, оцифруйте его в FLAC.
- 4. Проверьте стык на самом телефоне. Послушайте два трека, которые должны идти без перерыва, через динамик телефона или проводные наушники. Если там стык чистый, а в машине или на Bluetooth-колонке — нет, паузу добавляет это устройство, а не файл и не приложение.
Какие форматы готовы к воспроизведению без пауз
FLAC и WAV: всегда. Файлы без потерь хранят ровно тот звук, что был записан, и ни в начале, ни в конце к нему ничего не добавлено.
OGG Vorbis и Opus: да. Оба формата точно записывают, где звук начинается и где заканчивается, так что дополнительный тег не нужен.
MP3 и AAC (M4A): да, если кодер записал, сколько тишины добавил, как это делают LAME и iTunes. Файл без этой информации оставляет короткую тишину на каждом стыке.
WMA: почти. Audify воспроизводит его через более старый плеер Android, который может оставлять паузу в несколько сотых секунды.
Конвертация одного формата с потерями в другой, например MP3 в AAC, ухудшает качество и может вшить старую тишину в новый файл. Чтобы исправить альбом с паузами, начните заново — с CD или с копии без потерь. Полный список того, что воспроизводит Audify, — в статье какие аудиоформаты поддерживает Audify.
Всё ещё слышите паузу? Проверьте вот что
Тишина — часть самой записи. Во многих альбомах между песнями есть настоящая пауза, а многие поп-треки заканчиваются затуханием и секундой тишины. Плеер, который играет без пауз, воспроизводит это в точности так, как записано, и не гадает, где резать.
В файле нет данных для воспроизведения без пауз. Старые MP3 и файлы от кодеров, которые не записывают, сколько тишины добавили, оставляют короткую тишину на каждом стыке. Заново оцифруйте альбом с CD — в FLAC или актуальной версией кодера LAME.
Включено «Перемешивание» или альбом разбросан по плейлисту. Каждый переход по-прежнему бесшовный, но следующей звучит не та песня, что идёт дальше в альбоме.
Пауза появляется только на одном устройстве. Если через динамик телефона стык чистый, а в машине или на Bluetooth-колонке — нет, паузу добавляет само это устройство, и никакая настройка плеера её не уберёт. Про музыку в машине в целом см. как слушать свою музыку в машине.
Частые вопросы
Поддерживает ли Audify воспроизведение без пауз?
Да. На Android он по умолчанию играет без пауз: приложение загружает следующий трек до окончания текущего, поэтому включать ничего не нужно — отдельной настройки для этого нет. Audify для Windows и Mac тоже играет без пауз.
FLAC лучше MP3 для воспроизведения без пауз?
FLAC изначально готов к воспроизведению без пауз, потому что не добавляет тишины при кодировании. MP3, созданный в LAME, играет так же бесшовно, потому что в нём записано, сколько тишины добавлено, чтобы плеер мог её обрезать; разница — в том, как был сделан файл. О качестве звука см. FLAC или MP3.
Работает ли воспроизведение без пауз в Android Auto?
Да. Android Auto показывает элементы управления Audify на экране машины, но музыку по-прежнему воспроизводит Audify на вашем телефоне, поэтому переходы между треками остаются такими же. Если пауза слышна только в машине, её добавляет аудиосистема автомобиля.
Расходует ли воспроизведение без пауз больше заряда?
Не настолько, чтобы это было заметно. Ранняя загрузка следующей песни меняет то, когда телефон её декодирует, а не то, сколько ему приходится декодировать.
Слушайте альбомы без пауз — бесплатно
Audify Music Player · 100 млн+ скачиваний · 4.5★ в Google Play
Источники
“Transitions between items in a playlist are seamless.”Android Developers, Media3 ExoPlayer: Playlists
- Technical Note TN2258: AAC Audio - Encoder Delay and Synchronization — Apple Developer
- LAME Technical FAQ — The LAME Project
- RFC 9639: Free Lossless Audio Codec — IETF
- Playlists (Media3 ExoPlayer) — Android Developers
- Gapless playback — Wikipedia
