Устанавливаем cuetoolkit на Debian sid
prolinux
Опубликован: | 2023-08-04T06:40:13.366452Z |
Отредактирован: | 2023-08-04T06:40:13.366452Z |
Статус: | публичный |
Звуковой компакт диск - CDDA - стандарт хранения оцифрованного звука. Последнее время на просторах Интернет получили широкое распространение так называемые CDDA-рипы - цифровые копии компакт дисков, которые можно хранить как файлы на компьютерных накопителях. Эти рипы делятся на два вида: цельные и потрековые. Программа cuetoolkit предназначена для работы с цельными CDDA-рипами. В этой демонстрации я расскажу, где её взять, и покажу, как установить на компьютер под управлением операционной системы Debian sid.
Cuetoolkit
Cuetookit - это набор сценариев для разбора cuesheet файлов и деления цельных CDDA-рипов на отдельные треки с заполнением метаданных треков в соответствии с данными cuesheet файла. Эту программу я разрабатывал на стадии изучения языка программирования Python, задача для этих целей весьма удобная и интересная.
Cuetoolkit великолепно работает на всех ветках Debian начиная с Debian stretch, именно в Debian stretch я её разрабатывал и тестировал. На всех ветках Debian от stretch до bullseye эту программу можно установить в систему с помощью Pip. В Debian bookworm всё изменилось, и теперь pip можно использовать только с виртуальным окружением. Это не трудное препятствие, потому что cuetoolkit несложно установить в каталог /opt
. Deb-пакета у cuetoolkit нет, его можно установить только из исходников.
Все действия в этой демонстрации я буду выполнять под управлением операционной системы Debian sid, о которой уже сказано много слов в рамках этого блога.
Получаем исходный код cuetoolkit
Исходный код cuetookit хранится в моём профиле на github.com, программа распространяется открытым исходным кодом, написана на языке программирования Python и доступна к использованию всем желающим в соответствии с лицензией GNU GPL. Загрузить исходный код cuetoolkit можно по этой ссылке.
$ wget https://github.com/jazz4web/cuetoolkit/archive/refs/heads/master.zip
Распаковать полученный архив тоже несложно, распакую я его пока в домашний каталог текущего пользователя вот такой командой.
$ unzip master.zip
В результате распаковки архива в домашнем каталоге текущего пользователя системы появился новый вложенный каталог с именем cuetoolkit-master
.
С этим каталогом я и буду работать.
Устанавливаем cuetoolkit
Устанавливать программу я буду в системный каталог /opt
, и первым делом я перенесу дистрибутив cuetookit в этот системный каталог, для этого мне потребуются права суперпользователя, которые я получу с помощью sudo.
$ sudo mv cuetoolkit-master/ /opt/cuetoolkit
Программа разрабатывалась достаточно давно и в предыдущих версиях Debian устанавливалась в систему при помощи pip, поэтому в корневом каталоге cuetoolkit есть каталог bin, в котором лежат сценарии каждого ключевого действия, вот как выглядит оглавление этого каталога.
$ sudo ls -l /opt/cuetoolkit/bin
итого 24
-rwxr-xr-x 1 jazz jazz 1184 дек 12 2022 cue2copy
-rwxr-xr-x 1 jazz jazz 1401 дек 12 2022 cue2points
-rwxr-xr-x 1 jazz jazz 1046 дек 12 2022 cue2report
-rwxr-xr-x 1 jazz jazz 1396 дек 12 2022 cue2tags
-rwxr-xr-x 1 jazz jazz 2331 дек 12 2022 cue2tracks
-rwxr-xr-x 1 jazz jazz 1553 дек 12 2022 tags2cue
Итого шесть сценариев для каждого ключевого действия с cuesheet-файлом. Эти сценарии нужно скопировать из каталога bin
в корневой каталог cuetoolkit с изменением имени, выполняю последовательно шесть следующих команд.
$ sudo cp /opt/cuetoolkit/bin/cue2copy /opt/cuetoolkit/cue2copy.py
$ sudo cp /opt/cuetoolkit/bin/cue2points /opt/cuetoolkit/cue2points.py
$ sudo cp /opt/cuetoolkit/bin/cue2report /opt/cuetoolkit/cue2report.py
$ sudo cp /opt/cuetoolkit/bin/cue2tags /opt/cuetoolkit/cue2tags.py
$ sudo cp /opt/cuetoolkit/bin/cue2tracks /opt/cuetoolkit/cue2tracks.py
$ sudo cp /opt/cuetoolkit/bin/tags2cue /opt/cuetoolkit/tags2cue.py
В результате их выполнения корневой каталог cuetoolkit получает следующий вид.
Как видно из выхлопа ls все шесть только что скопированных файлов с расширением *.py
являются исполняемыми, это видно по их атрибутам. Сделаем символические ссылки на эти файлы в системный каталог /usr/local/bin
, для этого выполню последовательно ещё шесть команд.
$ sudo ln -s -T /opt/cuetoolkit/cue2copy.py /usr/local/bin/cue2copy
$ sudo ln -s -T /opt/cuetoolkit/cue2points.py /usr/local/bin/cue2points
$ sudo ln -s -T /opt/cuetoolkit/cue2report.py /usr/local/bin/cue2report
$ sudo ln -s -T /opt/cuetoolkit/cue2tags.py /usr/local/bin/cue2tags
$ sudo ln -s -T /opt/cuetoolkit/cue2tracks.py /usr/local/bin/cue2tracks
$ sudo ln -s -T /opt/cuetoolkit/tags2cue.py /usr/local/bin/tags2cue
После всех исполненных процедур изменю хозяина каталогу cuetoolkit в системном каталоге /opt
.
$ sudo chown -R root:root /opt/cuetoolkit
Всё, cuetoolkit установлен и готов к работе.
Тестируем
Сделаем простой тест, набираю в командной строке в терминале слово cue и нажимаю 3 раза клавишу Tab
.
Как видно на снимке экрана, интерпретатор предложил мне несколько вариантов доступных ему команд, начинающихся с символов cue
. У меня есть CDDA-рип, давайте посмотрим на его содержимое с помощью команды cue2report.
Как видно на снимке экрана, команда выхлопнула в терминал метаданные рипа, включая перечень треков и их длительности в удобной для чтения форме. Об особенностях использования сценариев cuetoolkit я расскажу в этом блоге дополнительно. А текущая цель достигнута, cuetoolkit установлен в систему.
Зависимости
Сценарии cuetoolkit используют системные программы, и чтобы они работали без ошибок и предупреждений, в системе должны быть установлены следующие пакеты:
-
python3-mutagen;
-
python3-chardet;
-
shntool;
-
flac;
-
mac (Monkey's Audio Codec);
-
wavpack;
-
vorbis-tools;
-
opus-tools;
-
lame.
Все необходимые cuetoolkit зависимости, кроме Monkey's Audio Codec, можно установить из официального хранилища Debian с помощью пакетного менеджера apt.
$ sudo apt install python3-mutagen python3-chardet shntool flac wavpack vorbis-tools opus-tools lame
Monkey's Audio Codec можно установить из Deb-multimedia, без него программа будет работать со всеми форматами кроме *.ape
.
Продолжение следует
В одном из следующих выпусков этого блога я покажу как разделить цельный CDDA-рип с помощью сценария cue2tracks из пакета cuetoolkit. Оставайтесь с нами...