Устанавливаем cuetoolkit на Debian sid

prolinux

Опубликован:  2023-08-04T06:40:13.366452Z
Отредактирован:  2023-08-04T06:40:13.366452Z
Статус:  публичный
38
0
0

Звуковой компакт диск - 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

k0L3qCmA32.png

Распаковать полученный архив тоже несложно, распакую я его пока в домашний каталог текущего пользователя вот такой командой.

$ unzip master.zip

В результате распаковки архива в домашнем каталоге текущего пользователя системы появился новый вложенный каталог с именем cuetoolkit-master.

1nB1calTD1.png

С этим каталогом я и буду работать.

Устанавливаем 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 получает следующий вид.

rohqaGovs8.png

Как видно из выхлопа 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.

EMg5T41Fvz.png

Как видно на снимке экрана, интерпретатор предложил мне несколько вариантов доступных ему команд, начинающихся с символов cue. У меня есть CDDA-рип, давайте посмотрим на его содержимое с помощью команды cue2report.

yQR8PJLeWU.png

Как видно на снимке экрана, команда выхлопнула в терминал метаданные рипа, включая перечень треков и их длительности в удобной для чтения форме. Об особенностях использования сценариев 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. Оставайтесь с нами...