Образ аудиодиска в виде одного большого файла FLAC или APE с приложенным CUE-листом неудобен для плеера: переключать треки нельзя, а скробблинг и теги работают некорректно. Решение — разрезать образ на отдельные файлы по меткам из CUE, и в Linux для этого есть несколько проверенных инструментов, работающих без перекодирования и потери качества.
В этой статье разберём, чем отличаются shntool, cuetools и графическая утилита Flacon, как их установить в популярных дистрибутивах и что делать, если после разрезания в именах треков появились «кракозябры» — самая частая проблема при работе с CUE-файлами, созданными в Windows.
Что такое CUE-файл и зачем резать образ
CUE sheet — это обычный текстовый файл с разметкой: в нём перечислены названия треков, исполнители и точные временные позиции начала каждого трека внутри большого аудиофайла. Плееры умеют читать CUE «на лету», но далеко не все — особенно на портативных устройствах и в автомагнитолах.
Разрезание образа решает сразу несколько задач:
- 🎵 Каждый трек становится отдельным файлом — удобно для плейлистов и переноса на телефон.
- 🏷️ Метаданные из CUE (исполнитель, альбом, названия) можно автоматически прописать в теги.
- 💾 Разрезание без перекодирования сохраняет исходное качество lossless-формата бит-в-бит.
- 📂 Отдельные файлы проще архивировать, синхронизировать и проверять контрольными суммами.
⚠️ Внимание: перед любыми операциями сделайте резервную копию исходного образа и CUE-файла. Если в разметке обнаружится ошибка или вы укажете неверные параметры, восстановить оригинал без копии будет невозможно.
Обзор инструментов: консоль и графический интерфейс
Выбор инструмента зависит от ваших привычек: консольные утилиты удобны для пакетной обработки и скриптов, а графические — для разового использования. Ниже сравнение основных вариантов, доступных в репозиториях популярных дистрибутивов.
| Инструмент | Интерфейс | Форматы | Особенности |
|---|---|---|---|
| shntool | Консоль | WAV, FLAC, APE и др. | Только режет, теги не прописывает |
| cuetools | Консоль | Зависит от кодеков | Разметка, теги, переименование |
| Flacon | Графический (Qt) | FLAC, APE, WAV, TTA и др. | Простой выбор папки, профили кодирования |
| mp3splt | Консоль | MP3, OGG | Резка без перекодирования для lossy |
На практике чаще всего используют связку shntool + cuetools: первая утилита режет файл, вторая накладывает теги из CUE. Тем, кто предпочитает мышь терминалу, подойдёт Flacon — он объединяет оба шага в одном окне.
Установка shntool и cuetools
Обе утилиты есть в стандартных репозиториях большинства дистрибутивов. Для систем на базе Debian и Ubuntu установка выполняется одной командой:
sudo apt install shntool cuetools flac
Пакет flac нужен как кодировщик: shntool сам по себе работает с WAV-подобным потоком, а сжатие во FLAC выполняет внешний кодировщик. Если образ в формате APE (Monkey's Audio), дополнительно потребуется пакет mac — проверьте его наличие в репозитории вашего дистрибутива, так как в некоторых он отсутствует или вынесен в non-free секции.
Для Fedora команда будет выглядеть иначе — используется менеджер пакетов dnf:
sudo dnf install shntool cuetools flac
В Arch Linux и производных пакеты ставятся через pacman -S shntool cuetools flac. Если какого-то пакета нет в официальных репозиториях, поищите его в AUR или используйте Flacon как альтернативу.
Разбиение образа через консоль: пошаговая инструкция
Классическая схема состоит из двух команд. Первая разрезает образ по меткам из CUE, вторая прописывает теги. Перейдите в папку с файлами и выполните:
cuebreakpoints disk.cue | shnsplit -o flac disk.flac
cuetag disk.cue split-track*.flac
Разберём, что здесь происходит. Утилита cuebreakpoints извлекает из CUE-файла временные метки, а shnsplit режет образ по этим точкам и кодирует результат во FLAC. Команда cuetag (в некоторых версиях — cuetag.sh) читает тот же CUE и записывает названия треков, исполнителя и номера в метаданные полученных файлов.
☑️ Проверка перед разбиением
Если образ называется иначе или лежит в другой папке, скорректируйте пути. Обратите внимание: внутри CUE-файла в строке FILE указано имя аудиофайла — оно должно точно совпадать с реальным именем файла, включая регистр букв, иначе утилиты не найдут источник. Откройте CUE в текстовом редакторе и при необходимости исправьте путь.
⚠️ Внимание: не запускайте shnsplit в папке, где уже есть файлы с именами вида split-track* — они могут быть перезаписаны. Работайте в отдельном каталоге или сначала убедитесь, что таких файлов нет.
Графический способ: Flacon
Flacon — пожалуй, самый удобный вариант для тех, кто не хочет работать в терминале. Программа автоматически находит CUE-файл, показывает список треков и позволяет выбрать выходной формат: FLAC, MP3, OGG, Opus и другие, если соответствующие кодировщики установлены в системе.
Порядок действий прост: откройте CUE-файл через меню программы, проверьте распознанный список треков, укажите папку назначения и шаблон имён файлов, затем запустите конвертацию. Flacon сам вызовет нужные кодировщики и пропишет теги из разметки.
Установка в Ubuntu и Debian выполняется командой sudo apt install flacon. Если пакета нет в репозитории вашей версии дистрибутива, программа доступна и в формате Flatpak — этот вариант независим от версии системы.
Проблема с кодировкой: «кракозябры» в именах треков
Самая частая неприятность при разбиении русскоязычных релизов — битые названия треков. Причина почти всегда одна: CUE-файл создан в Windows и сохранён в кодировке CP1251, а Linux-утилиты по умолчанию ожидают UTF-8.
Решение — перекодировать CUE перед разбиением. Это делается утилитой iconv, которая входит в состав системы:
iconv -f CP1251 -t UTF-8 disk.cue -o disk_utf8.cue
После этого используйте в командах новый файл disk_utf8.cue. Как понять, что проблема именно в кодировке: откройте CUE в текстовом редакторе — если кириллица отображается нечитаемыми символами, файл не в UTF-8. Некоторые редакторы (например, Kate или Gedit) показывают определённую кодировку в строке состояния.
А если CUE в другой кодировке?
Вместо CP1251 подставьте нужную: для японских релизов это может быть SHIFT-JIS, для западноевропейских — ISO-8859-1. Список поддерживаемых кодировок смотрите командой iconv -l.
Типичные ошибки и их решение
Даже при правильных командах разбиение иногда завершается ошибкой. Ниже — ситуации, с которыми сталкиваются чаще всего, и способы их проверки.
- 🔍 «file not found» — имя файла в строке FILE внутри CUE не совпадает с реальным; проверьте регистр букв и расширение.
- 🧩 shnsplit сообщает о неподдерживаемом формате — не установлен нужный кодировщик (flac, mac для APE) или формат образа экзотический.
- ⏱️ Треки режутся со смещением — возможная причина в pregap-разметке CUE; попробуйте вариант с
cuebreakpointsи сравните результат. - 🏷️ Теги не прописались — убедитесь, что cuetag применён именно к созданным файлам и маска
split-track*им соответствует.
Если ничего не помогает, проверьте сам CUE-файл на синтаксические ошибки: он должен начинаться со служебных строк, а номера треков идти по порядку. Повреждённую разметку проще всего исправить вручную в текстовом редакторе — формат CUE прост и читаем.
Часто задаваемые вопросы
Теряется ли качество при разбиении FLAC по CUE?
Нет. Разрезание lossless-образа происходит без перекодирования аудиопотока — данные просто делятся по границам треков. Итоговые FLAC-файлы идентичны по качеству исходному образу.
Чем разрезать образ в формате APE (Monkey's Audio)?
Потребуется декодер Monkey's Audio — пакет mac, если он есть в репозитории вашего дистрибутива. Альтернатива — Flacon, который умеет работать с APE при наличии соответствующего декодера в системе, либо предварительная конвертация APE в FLAC без потерь с последующим разбиением.
Можно ли разрезать MP3 по CUE без потери качества?
Да, для этого подходит утилита mp3splt — она режет MP3 и OGG без перекодирования, разделяя поток по временным меткам. Учтите, что точность разрезания lossy-форматов ограничена границами фреймов, поэтому для архивного хранения предпочтительнее lossless-источники.
Почему после разбиения треки называются split-track01, split-track02?
Это стандартный шаблон имён shnsplit. Теги с настоящими названиями прописываются отдельно командой cuetag, а переименовать файлы по тегам можно любым массовым переименовщиком, например через EasyTAG или встроенные средства Flacon.
Работает ли этот способ с многодисковыми изданиями?
Да, каждый диск обрабатывается независимо: у каждого образа свой CUE-файл. Разбивайте их по очереди в отдельные папки, чтобы файлы разных дисков не перемешались.