Собственный компонент Flac .cue разделитель

У меня есть некоторые.Flac альбомы, которые я разорвал как один большой файл для оставления некоторого свободного места (Разрывы CD без потерь составляют примерно 500 МБ каждый), теперь у меня есть больше устройства хранения данных, я хотел бы разделить их назад в там исходные файлы.

Существует ли Собственный.Flac/.cue разделитель для базирующихся систем debian?

Я нашел некоторую информацию, но это или старо, только для mp3 или вина использования, это не то, что я хочу.

Также я нашел сценарий Наутилуса, но я не думаю, что это будет без потерь, также он только выполняет очень определенную задачу, и я хотел бы некоторые опции настройки, http://ubuntuforums.org/showthread.php?t=853794

Таким образом, кто-либо может предоставить разделителю Flac .cue без потерь собственную поддержку и большому количеству опций преобразования?

НИКАКОЕ ВИНО

Спасибо

26
задан 11 April 2015 в 00:22

8 ответов

Сначала необходимо установить cuetools и shntool. От терминального типа:

sudo apt install cuetools shntool flac

Для разделения flac файла назад в исходные файлы с помощью .cue файла:

cuebreakpoints '<cue file>' | shnsplit -o flac '<audio flac file>'  

можно перетащить файл сигнала и аудио flac файл в терминал для автоматического заполнения путей для '<cue file>' и '<audio flac file>'. При выполнении команды терминал покажет Вам результаты каждого нового flac файла, поскольку это создается, один новый flac файл за один раз ("разделение-track01.flac" "разделение-track02.flac"...), и затем остановитесь после того, как все новые flac файлы были созданы. Только требуется несколько секунд для создания каждого нового flac файла. Если Ваш .cue файл будет точен, результаты будут более точными и менее трудоемкими чем при разделении flac файла вручную в Смелости.

32
ответ дан 23 November 2019 в 01:07

Вот сценарий PHP:

<?php
$s_cue = $argv[1];
$a_cue = file($s_cue);
$n_row = -1;
foreach ($a_cue as $s_row) {
   $s_trim = trim($s_row);
   $a_row = str_getcsv($s_trim, ' ');
   if (preg_match('/^FILE\s/', $s_row) == 1) {
      $s_file = $a_row[1];
   }
   if (preg_match('/^\s+TRACK\s/', $s_row) == 1) {
      $n_row++;
      $a_table[$n_row]['track'] = $a_row[1];
   }
   if (preg_match('/^\s+TITLE\s/', $s_row) == 1) {
      $a_table[$n_row]['title'] = $a_row[1];
   }
   if (preg_match('/^\s+PERFORMER\s/', $s_row) == 1) {
      $a_table[$n_row]['artist'] = $a_row[1];
   }
   if (preg_match('/^\s+INDEX\s/', $s_row) == 1) {
      $s_dur = $a_row[2];
      $a_frame = sscanf($s_dur, '%d:%d:%d', $n_min, $n_sec, $n_fra);
      $n_index = $n_min * 60 + $n_sec + $n_fra / 75;
      $a_table[$n_row]['ss'] = $n_index;
      if ($n_row > 0) {
         $a_table[$n_row - 1]['to'] = $n_index;
      }
   }
}
$a_table[$n_row]['to'] = 10 * 60 * 60;
foreach ($a_table as $m_row) {
   $a_cmd = [
      'ffmpeg',
      '-i', $s_file,
      '-ss', $m_row['ss'],
      '-to', $m_row['to'],
      '-metadata', 'artist=' . $m_row['artist'],
      '-metadata', 'title=' . $m_row['title'],
      '-metadata', 'track=' . $m_row['track'],
      $m_row['track'] . ' ' . $m_row['title'] . '.m4a'
   ];
   $a_esc = array_map('escapeshellarg', $a_cmd);
   $s_esc = implode(' ', $a_esc);
   system($s_esc);
}
2
ответ дан 9 December 2016 в 23:05

Существует приложение, названное Флакон , который делает точно это.

Для установки:

sudo add-apt-repository ppa:flacon
sudo apt-get update
sudo apt-get install flacon

enter image description here

11
ответ дан 23 November 2019 в 01:07

Я должен был разделить большой flac и установить имя файла и тег из файла сигнала, и это работало лучше всего на меня:

  1. CD к папке с одной парой сигнала и flac
  2. вводит это: shnsplit -f *.cue -t "%n - %p - %t" -o "flac flac -s -8 -o %f -" *.flac
  3. удаляют исходный flac тег файла
  4. использование файлов: cuetag *.cue *.flac

Пример вывода:

Splitting [Edvard Grieg - Complete Songs Vol.III.flac] (76:03.40) --> [25 - Edvard Grieg - Sighs, EG 134.flac] (2:43.08) : 100% OK

ссылка: ОБНОВЛЕНИЕ CUE_Splitting

я записал следующий сценарий для своего удобства. Использовать его - CD к каталогу с одной парой соответствия файлы сигнала и обезьяна.

mkdir -p orig
mv *ape orig/.
shnsplit -f *.cue -t "%n - %p - %t" -o "flac flac -s -8 -o %f -" orig/*.ape
rm -f 00*
cuetag *.cue *.flac
#fix bad file names
find . -exec rename 's/[^\x00-\x7F]//g' "{}" \;

имя этот сценарий как split_ape, chmod +x это и вставленный в некоторый каталог в Вашем пути. Я сделал подобный сценарий для flac файла как источник, просто замените каждый ape flac в этом сценарии.

7
ответ дан 23 November 2019 в 01:07

Самый легкий путь использует K3B.

1. - Открывают файл СИГНАЛА в K3B. 2. - Выбирают, преобразовывают дорожки в FLAC. 3. - Нажимают, Запускаются.

Это не повторно преобразует дорожки, но только разделит их на дорожки согласно файлу СИГНАЛА. Это сохранит настоящее имя каждой дорожки, и это берет второй для завершения "convertion/split".

3
ответ дан 23 November 2019 в 01:07

shntool

sudo apt-get install shntool

установки, Если Вы хотите автоматически сохранить имена файлов, можно просто использовать:

cat infile.cue | shnsplit -t "%n - %p - %t" infile.wav
1
ответ дан 23 November 2019 в 01:07

и для flac:

    cat file.cue | shnsplit -o flac -t %n-%t file.flac

разделяет flac файл и добавляют к получающемуся номеру дорожки файлов (%n) и название заголовка (%t)

2
ответ дан 23 November 2019 в 01:07

Можно разделить файл СИГНАЛА на отдельные дорожки FLAC с помощью fmedia ( http://fmedia.firmdev.com ) с единственной командой:

fmedia YOUR_FILE.cue --out='$tracknumber. $artist - $title.flac'

С этой командой Вы разделите все дорожки из одного файла СИГНАЛА в отдельные файлы FLAC, названные как "01. ХУДОЖНИК - TITLE.flac". Обратите внимание на то, что выходные файлы будут иметь точно то же качество звука и отследят продолжительность точно как оригинал.

Или можно скопировать всего одну дорожку из .cue файла:

fmedia YOUR_FILE.cue --out='$tracknumber. $artist - $title.flac' --track=7

можно также перезаписать метаинформацию во время разделения, например:

fmedia YOUR_FILE.cue --out=mytrack.flac --meta='artist=COOL ARTIST'

fmedia имеет минимальные внешние зависимости (т.е. cuetools, libFLAC, и т.д. Не нужны, чтобы быть установленными в Вашей системе), это работает над 64-разрядными находящимися в Debian системами, но это не работает над 32-разрядными системами.

1
ответ дан 23 November 2019 в 01:07

Другие вопросы по тегам:

Похожие вопросы: