Решено: порезать Flac на треки

Разные проблемы звука, видео, обсуждение разных устройств и т.д.

Модератор: Модераторы разделов

Ответить
Аватара пользователя
agbr
Сообщения: 486
ОС: openSUSE 10.2

Решено: порезать Flac на треки

Сообщение agbr »

может и боян,
но не пользы ради, а флейма для, понадобилось мне тут порезать на куски:

за сим предлагаю скрипт, который мне в этом помог:

Код:

#!/usr/bin/perl # # spltflac.pl # Copyright © 2007 AgBr <jabber:agbr@jabber.ru> # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # use strict; # # usage: ./splitflac.pl image.flac image.cue # my ($filename, $cuefile) = @ARGV; open(C,$cuefile); my @cue = <C>; close©; my %tracks; my ($performer,$title,$track,$track_performer,$track_title,$track_start,$next_track); while( (scalar @cue) ){ my $next = shift @cue; if( $next =~ /PERFORMER \"(.*?)\"/ ){ $performer = $1; } if( $next =~ /TITLE \"(.*?)\"/ ){ $title = $1; } if( $next =~ /TRACK (\d+) AUDIO/ ){ $track = $1; while( !( ($next_track) = ($cue[0] =~ /TRACK (\d+) AUDIO/) ) && (scalar @cue) ){ $next = shift @cue; if( $next =~ /PERFORMER \"(.*?)\"/ ){ $track_performer = $1; } if( $next =~ /TITLE \"(.*?)\"/ ){ $track_title = $1; } if( $next =~ /INDEX 01 (\d{2}):(\d{2}):(\d{2})/ ){ $track_start = "$1:$2.$3"; } } $tracks{$track}={ title => $track_title, performer => $track_performer, album => $title, offset => $track_start, next_track => $next_track }; } } foreach my $t ( keys %tracks ){ my $cmd; print "--------------------------------\n"; $cmd = "flac -d --skip=".$tracks{$t}->{offset}.($tracks{$t}->{next_track} ? " --until=".$tracks{$tracks{$t}->{next_track}}->{offset} : "" ). " -o _track_$t.wav $filename"; print "+ $cmd\n"; system($cmd); $cmd = "flac -8 --no-lax _track_$t.wav"; print "+ $cmd\n"; system($cmd); $cmd = "rm _track_$t.wav"; print "+ $cmd\n"; system($cmd); $cmd = "metaflac --set-tag=\"ALBUM=".$tracks{$t}->{album}."\" --set-tag=\"TITLE=".$tracks{$t}->{title}."\" --set-tag=\"ARTIST=".$tracks{$t}->{performer}."\" _track_$t.flac"; print "+ $cmd\n"; system($cmd); $cmd = "mv _track_$t.flac \"$t - ".$tracks{$t}->{title}.".flac\""; print "+ $cmd\n"; system($cmd); }
jabber: agbr@jabber.ru

против проприетарного ПО в GNU/Linux
Спасибо сказали:
Topper
Бывший модератор
Сообщения: 2087
Статус: Насильник бабушек-педофилок
ОС: Windows 10

Re: Решено: порезать Flac на треки

Сообщение Topper »

И тоже спасибо, и тоже наверх.
Хрю.
Спасибо сказали:
Аватара пользователя
IeSabLs
Сообщения: 24
ОС: Bluewhite64 Linux

Re: Решено: порезать Flac на треки

Сообщение IeSabLs »

Спасибо!

А перегнать тот же APE во FLAC - очень просто! ( Что в APE хранить, что во FLAC. ИМХО, во FLAC удобнее. Везде есть, ничего искать не надо. Что этот APE так "уперся", что в него кодируют? На, что-то, полпроцента (?) меньше файл получается, чем во FLAC? )
Спасибо сказали:
Аватара пользователя
agbr
Сообщения: 486
ОС: openSUSE 10.2

Re: Решено: порезать Flac на треки

Сообщение agbr »

IeSabLs писал(а):
03.05.2007 15:56
Спасибо!

А перегнать тот же APE во FLAC - очень просто! ( Что в APE хранить, что во FLAC. ИМХО, во FLAC удобнее. Везде есть, ничего искать не надо. Что этот APE так "уперся", что в него кодируют? На, что-то, полпроцента (?) меньше файл получается, чем во FLAC? )


Это вантузятнеги кодируют в APE. Поддержки APE нет во многих популярных дистрибутивах в коробке; и вообще FLAC "более опенсурсный" так скажем.
jabber: agbr@jabber.ru

против проприетарного ПО в GNU/Linux
Спасибо сказали:
Аватара пользователя
IeSabLs
Сообщения: 24
ОС: Bluewhite64 Linux

Re: Решено: порезать Flac на треки

Сообщение IeSabLs »

Видимо, проблемы с извлечением треков из FLAC образа и преобразованием их в mp3 больше нет вообще.
Поздравляю всех, кто в этом заинтересован! Выборочно, любой трек, в любом порядке, используя CUE, конечно.
:rolleyes:

Для этого понадобятся...

1) Исходники audacious. С официального сайта.
- Сам плэйер - audacious-1.3.2.tgz
- Комплект плагинов - audacious-plugins-1.3.3.tgz
- И audacious-plugins-ugly-1.3.0.tgz ( я не пользовался, не понадобилось )
2) Сам кодек FLAC.
3) FLAC плагин не нужен отдельно. Он уже в пакете.

* Собираем плэйер и официальные плагины. В составе плагинов есть - "Lame-Output-Plugin" ( Out-Lame 0.2 )

Дальше, для того, чтобы получить mp3 загружаем в audacious CUE (flac.cue). Выбираем в настройках звука плагин "Out-Lame 0.2" (настройки богатые, GUI. Жаль, что CLI нет, но "и так" достаточно ). Выбираем настройки. Выбираем куда выводить готовые mp3 файлы. Пускаем в play листе нужный трек и получаем желаемое.

Скорость кодирования оставляет желать лучшего, но нет больше проблемы с кодированием FLAC образа.

В mp3. Но я думаю, что будет аналогичный плагин и для "ogg", и для "mpc". Разработчики ценят "MusePack" это видно, а с "ogg" все и так ясно.

------
Немного подробностей...
В стандартной поставке audacious для Zenwalk, например ( как в других дистрибутивах с этим, я не знаю), плагина "Out-Lame 0.2" нет. Но нет и Lame. Это, что-то с лицензированием. Им виднее. А в исходниках плагин есть. Собрать для себя нетрудно. Кстати и работает audacious "свой" лучше. Мелкие глючки, всякие зависания - исчезли.

Сразу, хочу сказать, что все в подробностях я еще не успел посмотреть. Например, влияют ли настройки эквалайзера на итоговый файл? Что там с тэгами? ( С mp3 тэгами - прекрасно! UTF-8, русский язык, везде. Тэгов "ape" отдельно и в комбинации с "id3v1" нет, ну это понятно, почему нет. ) Что получится с "WV" форматом или с "TTA"...

Хочу еще напомнить, что audacious сразу начинает работать, как только CUE файл в него загружен. Т.е. сначала грузим в него CUE, слушаем ( или как угодно ), останавливаем воспроизведение. ПОТОМ выбираем Out-Lame плагин. Выбираем "что нужно" в play листе и начинаем кодировать. Иначе вывод пойдет по-умолчанию, по-моему, в каталог пользователя? Не помню. Всё подряд, как в CUE написано. Т.е. пока сообразишь он уже винт набивает файлами. Лучше об этом помнить и подумать заранее куда выводить mp3.
Спасибо сказали:
Аватара пользователя
Delirious Stranger
Сообщения: 340
Статус: кофейник
ОС: Funtoo + Calculate

Re: Решено: порезать Flac на треки

Сообщение Delirious Stranger »

что-то мне этот скрипт сыпет ошибками во всю... =((

Код:

[delirio@HOME 1. The Doors]$ ~/bin/spltflac.pl The\ Doors\ -\ 2003\ Remaster.flac CDImage.cue -------------------------------- + flac -d --skip=32:48.02 -o _track_11.wav The Doors - 2003 Remaster.flac ERROR: -o/--output-name cannot be used with multiple files Type "flac" for a usage summary or "flac --help" for all options + flac -8 --no-lax _track_11.wav flac 1.2.0, Copyright © 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson flac comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. Type `flac' for details. ERROR: can't open input file _track_11.wav: Нет такого файла или каталога + rm _track_11.wav rm: невозможно удалить `_track_11.wav': Нет такого файла или каталога + metaflac --set-tag="ALBUM=The Doors - 2003 Remaster" --set-tag="TITLE=The End" --set-tag="ARTIST=The Doors" _track_11.flac _track_11.flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE" The FLAC file could not be opened. Most likely the file does not exist or is not readable. + mv _track_11.flac "11 - The End.flac" mv: невозможно выполнить stat для `_track_11.flac': Нет такого файла или каталога -------------------------------- + flac -d --skip=00:00.00 --until=02:30.00 -o _track_01.wav The Doors - 2003 Remaster.flac ERROR: -o/--output-name cannot be used with multiple files Type "flac" for a usage summary or "flac --help" for all options + flac -8 --no-lax _track_01.wav flac 1.2.0, Copyright © 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson flac comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. Type `flac' for details. ERROR: can't open input file _track_01.wav: Нет такого файла или каталога + rm _track_01.wav rm: невозможно удалить `_track_01.wav': Нет такого файла или каталога + metaflac --set-tag="ALBUM=The Doors - 2003 Remaster" --set-tag="TITLE=Break on Through (To The Other Side)" --set-tag="ARTIST=The Doors" _track_01.flac _track_01.flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE" The FLAC file could not be opened. Most likely the file does not exist or is not readable. + mv _track_01.flac "01 - Break on Through (To The Other Side).flac" mv: невозможно выполнить stat для `_track_01.flac': Нет такого файла или каталога -------------------------------- + flac -d --skip=11:13.55 --until=14:33.55 -o _track_05.wav The Doors - 2003 Remaster.flac ERROR: -o/--output-name cannot be used with multiple files Type "flac" for a usage summary or "flac --help" for all options + flac -8 --no-lax _track_05.wav flac 1.2.0, Copyright © 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson flac comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. Type `flac' for details. ERROR: can't open input file _track_05.wav: Нет такого файла или каталога + rm _track_05.wav rm: невозможно удалить `_track_05.wav': Нет такого файла или каталога + metaflac --set-tag="ALBUM=The Doors - 2003 Remaster" --set-tag="TITLE=Alabama Song" --set-tag="ARTIST=The Doors" _track_05.flac _track_05.flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE" The FLAC file could not be opened. Most likely the file does not exist or is not readable. + mv _track_05.flac "05 - Alabama Song.flac" mv: невозможно выполнить stat для `_track_05.flac': Нет такого файла или каталога -------------------------------- + flac -d --skip=08:39.65 --until=11:13.55 -o _track_04.wav The Doors - 2003 Remaster.flac ERROR: -o/--output-name cannot be used with multiple files Type "flac" for a usage summary or "flac --help" for all options + flac -8 --no-lax _track_04.wav flac 1.2.0, Copyright © 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson flac comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. Type `flac' for details. ERROR: can't open input file _track_04.wav: Нет такого файла или каталога + rm _track_04.wav rm: невозможно удалить `_track_04.wav': Нет такого файла или каталога + metaflac --set-tag="ALBUM=The Doors - 2003 Remaster" --set-tag="TITLE=Twentieth Century Fox" --set-tag="ARTIST=The Doors" _track_04.flac _track_04.flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE" The FLAC file could not be opened. Most likely the file does not exist or is not readable. + mv _track_04.flac "04 - Twentieth Century Fox.flac" mv: невозможно выполнить stat для `_track_04.flac': Нет такого файла или каталога -------------------------------- + flac -d --skip=02:30.00 --until=06:05.02 -o _track_02.wav The Doors - 2003 Remaster.flac ERROR: -o/--output-name cannot be used with multiple files Type "flac" for a usage summary or "flac --help" for all options + flac -8 --no-lax _track_02.wav flac 1.2.0, Copyright © 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson flac comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. Type `flac' for details. ERROR: can't open input file _track_02.wav: Нет такого файла или каталога + rm _track_02.wav rm: невозможно удалить `_track_02.wav': Нет такого файла или каталога + metaflac --set-tag="ALBUM=The Doors - 2003 Remaster" --set-tag="TITLE=Soul Kitchen" --set-tag="ARTIST=The Doors" _track_02.flac _track_02.flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE" The FLAC file could not be opened. Most likely the file does not exist or is not readable. + mv _track_02.flac "02 - Soul Kitchen.flac" mv: невозможно выполнить stat для `_track_02.flac': Нет такого файла или каталога -------------------------------- + flac -d --skip=21:42.15 --until=25:16.30 -o _track_07.wav The Doors - 2003 Remaster.flac ERROR: -o/--output-name cannot be used with multiple files Type "flac" for a usage summary or "flac --help" for all options + flac -8 --no-lax _track_07.wav flac 1.2.0, Copyright © 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson flac comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. Type `flac' for details. ERROR: can't open input file _track_07.wav: Нет такого файла или каталога + rm _track_07.wav rm: невозможно удалить `_track_07.wav': Нет такого файла или каталога + metaflac --set-tag="ALBUM=The Doors - 2003 Remaster" --set-tag="TITLE=Back Door Man" --set-tag="ARTIST=The Doors" _track_07.flac _track_07.flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE" The FLAC file could not be opened. Most likely the file does not exist or is not readable. + mv _track_07.flac "07 - Back Door Man.flac" mv: невозможно выполнить stat для `_track_07.flac': Нет такого файла или каталога -------------------------------- + flac -d --skip=06:05.02 --until=08:39.65 -o _track_03.wav The Doors - 2003 Remaster.flac ERROR: -o/--output-name cannot be used with multiple files Type "flac" for a usage summary or "flac --help" for all options + flac -8 --no-lax _track_03.wav flac 1.2.0, Copyright © 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson flac comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. Type `flac' for details. ERROR: can't open input file _track_03.wav: Нет такого файла или каталога + rm _track_03.wav rm: невозможно удалить `_track_03.wav': Нет такого файла или каталога + metaflac --set-tag="ALBUM=The Doors - 2003 Remaster" --set-tag="TITLE=The Crystal Ship" --set-tag="ARTIST=The Doors" _track_03.flac _track_03.flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE" The FLAC file could not be opened. Most likely the file does not exist or is not readable. + mv _track_03.flac "03 - The Crystal Ship.flac" mv: невозможно выполнить stat для `_track_03.flac': Нет такого файла или каталога -------------------------------- + flac -d --skip=25:16.30 --until=27:38.30 -o _track_08.wav The Doors - 2003 Remaster.flac ERROR: -o/--output-name cannot be used with multiple files Type "flac" for a usage summary or "flac --help" for all options + flac -8 --no-lax _track_08.wav flac 1.2.0, Copyright © 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson flac comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. Type `flac' for details. ERROR: can't open input file _track_08.wav: Нет такого файла или каталога + rm _track_08.wav rm: невозможно удалить `_track_08.wav': Нет такого файла или каталога + metaflac --set-tag="ALBUM=The Doors - 2003 Remaster" --set-tag="TITLE=I Looked at You" --set-tag="ARTIST=The Doors" _track_08.flac _track_08.flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE" The FLAC file could not be opened. Most likely the file does not exist or is not readable. + mv _track_08.flac "08 - I Looked at You.flac" mv: невозможно выполнить stat для `_track_08.flac': Нет такого файла или каталога -------------------------------- + flac -d --skip=30:31.02 --until=32:48.02 -o _track_10.wav The Doors - 2003 Remaster.flac ERROR: -o/--output-name cannot be used with multiple files Type "flac" for a usage summary or "flac --help" for all options + flac -8 --no-lax _track_10.wav flac 1.2.0, Copyright © 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson flac comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. Type `flac' for details. ERROR: can't open input file _track_10.wav: Нет такого файла или каталога + rm _track_10.wav rm: невозможно удалить `_track_10.wav': Нет такого файла или каталога + metaflac --set-tag="ALBUM=The Doors - 2003 Remaster" --set-tag="TITLE=Take it as it Comes" --set-tag="ARTIST=The Doors" _track_10.flac _track_10.flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE" The FLAC file could not be opened. Most likely the file does not exist or is not readable. + mv _track_10.flac "10 - Take it as it Comes.flac" mv: невозможно выполнить stat для `_track_10.flac': Нет такого файла или каталога -------------------------------- + flac -d --skip=14:33.55 --until=21:42.15 -o _track_06.wav The Doors - 2003 Remaster.flac ERROR: -o/--output-name cannot be used with multiple files Type "flac" for a usage summary or "flac --help" for all options + flac -8 --no-lax _track_06.wav flac 1.2.0, Copyright © 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson flac comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. Type `flac' for details. ERROR: can't open input file _track_06.wav: Нет такого файла или каталога + rm _track_06.wav rm: невозможно удалить `_track_06.wav': Нет такого файла или каталога + metaflac --set-tag="ALBUM=The Doors - 2003 Remaster" --set-tag="TITLE=Light my Fire" --set-tag="ARTIST=The Doors" _track_06.flac _track_06.flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE" The FLAC file could not be opened. Most likely the file does not exist or is not readable. + mv _track_06.flac "06 - Light my Fire.flac" mv: невозможно выполнить stat для `_track_06.flac': Нет такого файла или каталога -------------------------------- + flac -d --skip=27:38.30 --until=30:31.02 -o _track_09.wav The Doors - 2003 Remaster.flac ERROR: -o/--output-name cannot be used with multiple files Type "flac" for a usage summary or "flac --help" for all options + flac -8 --no-lax _track_09.wav flac 1.2.0, Copyright © 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson flac comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. Type `flac' for details. ERROR: can't open input file _track_09.wav: Нет такого файла или каталога + rm _track_09.wav rm: невозможно удалить `_track_09.wav': Нет такого файла или каталога + metaflac --set-tag="ALBUM=The Doors - 2003 Remaster" --set-tag="TITLE=End of The Night" --set-tag="ARTIST=The Doors" _track_09.flac _track_09.flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE" The FLAC file could not be opened. Most likely the file does not exist or is not readable. + mv _track_09.flac "09 - End of The Night.flac" mv: невозможно выполнить stat для `_track_09.flac': Нет такого файла или каталога
Если счастье когда-нибудь не оставит тебя - оно к тебе больше никогда не придет. © О. Радус
Спасибо сказали:
Аватара пользователя
edoc_modnar
Бывший модератор
Сообщения: 1638
Статус: Форум больше не посещаю

Re: Решено: порезать Flac на треки

Сообщение edoc_modnar »

В приложении мой скрипт. Делает примерно то же самое: раскодирует образ (поддерживаются APE, FLAC, WAVPACK), режет на куски по CUE (требуется bchunk), кодирует куски обратно во FLAC и переименовывает их в соответствии с CUE. Если есть ruby-taglib, попутно пишет теги.
Использовать просто - нужно перейти в директорию с образом и cue и выполнить там скрипт. Написано на ruby, требуется интерпретатор.
Вложения
image2tracks.bz2
(1.7 КБ) 288 скачиваний
So long, and thanks for all the fish.
Douglas Adams, The Hitchhiker's Guide to the Galaxy
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Решено: порезать Flac на треки

Сообщение allez »

Delirious Stranger, сдается мне, что корень ваших бед таится в том, что имя исходного файла содержит пробелы:
flac -d --skip=32:48.02 -o _track_11.wav The Doors - 2003 Remaster.flac
ERROR: -o/--output-name cannot be used with multiple files
Полагаю, следует либо отредактировать соответствующим образом скрипт, либо соответствующим же образом переименовать исходные файлы. :)
Спасибо сказали:
(+ssvda)
Сообщения: 31
ОС: Debian GNU/Linux Etch (only)

Re: Решено: порезать Flac на треки

Сообщение (+ssvda) »

allez писал(а):
16.08.2007 18:20
Delirious Stranger, сдается мне, что корень ваших бед таится в том, что имя исходного файла содержит пробелы:
flac -d --skip=32:48.02 -o _track_11.wav The Doors - 2003 Remaster.flac
ERROR: -o/--output-name cannot be used with multiple files
Полагаю, следует либо отредактировать соответствующим образом скрипт, либо соответствующим же образом переименовать исходные файлы. :)


Достало. Исправил. Пробелы и скобки в названиях --- обрабатывает.
Вложения
splitflacbycue.txt
(2.82 КБ) 172 скачивания
Спасибо сказали:
Аватара пользователя
sms
Сообщения: 92
ОС: openSuSE

Re: Решено: порезать Flac на треки

Сообщение sms »

А как этим скриптом пользоваться, объясните пожалуста (поподробнее).
Спасибо сказали:
Аватара пользователя
DsTr
Сообщения: 374
ОС: Arch x64
Контактная информация:

Re: Решено: порезать Flac на треки

Сообщение DsTr »

sms,
# usage: ./splitflac.pl image.flac image.cue
Разуй глаза и читай комменты...
JID:dstr@jabbus.org
Спасибо сказали:
Аватара пользователя
sms
Сообщения: 92
ОС: openSuSE

Re: Решено: порезать Flac на треки

Сообщение sms »

DsTr писал(а):
07.09.2007 19:14
sms,
# usage: ./splitflac.pl image.flac image.cue
Разуй глаза и читай комменты...

Извени, но я вообще не понял смысл этого поста.
Делаю так: копирую image.flac и image.cue в папку bin (тамже находится файл splitflac.pl содержащий текст

Код:

#!/usr/bin/perl # # spltflac.pl # Copyright © 2007 AgBr <jabber:agbr@jabber.ru> # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # use strict; # # usage: ./splitflac.pl image.flac image.cue # my ($filename, $cuefile) = @ARGV; open(C,$cuefile); my @cue = <C>; close©; my %tracks; my ($performer,$title,$track,$track_performer,$track_title,$track_start,$next_track); while( (scalar @cue) ){ my $next = shift @cue; if( $next =~ /PERFORMER \"(.*?)\"/ ){ $performer = $1; } if( $next =~ /TITLE \"(.*?)\"/ ){ $title = $1; } if( $next =~ /TRACK (\d+) AUDIO/ ){ $track = $1; while( !( ($next_track) = ($cue[0] =~ /TRACK (\d+) AUDIO/) ) && (scalar @cue) ){ $next = shift @cue; if( $next =~ /PERFORMER \"(.*?)\"/ ){ $track_performer = $1; } if( $next =~ /TITLE \"(.*?)\"/ ){ $track_title = $1; } if( $next =~ /INDEX 01 (\d{2}):(\d{2}):(\d{2})/ ){ $track_start = "$1:$2.$3"; } } $tracks{$track}={ title => $track_title, performer => $track_performer, album => $title, offset => $track_start, next_track => $next_track }; } } foreach my $t ( keys %tracks ){ my $cmd; print "\n\n--------------------------------------------------\n$tracks{$t}->{album} --- $tracks{$t}->{title}\n" . "--------------------------------------------------\n\n"; # FIXME -F flag $cmd = "flac -d -F --skip=".$tracks{$t}->{offset}.($tracks{$t}->{next_track} ? " --until=".$tracks{$tracks{$t}->{next_track}}->{offset} : "" ) . " -o \"_track_$t.wav\" \"$filename\""; print "+ $cmd\n"; system($cmd); $cmd = "flac -8 -F --no-lax _track_$t.wav"; print "+ $cmd\n"; system($cmd); $cmd = "rm _track_$t.wav"; print "+ $cmd\n"; system($cmd); $cmd = "metaflac --set-tag=\"ALBUM=".$tracks{$t}->{album}."\" --set-tag=\"TITLE=".$tracks{$t}->{title}."\" --set-tag=\"ARTIST=".$tracks{$t}->{performer}."\" _track_$t.flac"; print "+ $cmd\n"; system($cmd); $cmd = "mv _track_$t.flac \"$t - ".$tracks{$t}->{title}.".flac\""; print "+ $cmd\n"; system($cmd); }
) в консоле набираю ~/bin/splitflac.pl image.flac image.cue
И нечего не происходит. Ничего даже не пишет в ответ на команду. Что я делаю не так?
Спасибо сказали:
Аватара пользователя
edoc_modnar
Бывший модератор
Сообщения: 1638
Статус: Форум больше не посещаю

Re: Решено: порезать Flac на треки

Сообщение edoc_modnar »

Что я делаю не так?

Используешь не мой скрипт (:
So long, and thanks for all the fish.
Douglas Adams, The Hitchhiker's Guide to the Galaxy
Спасибо сказали:
Аватара пользователя
sms
Сообщения: 92
ОС: openSuSE

Re: Решено: порезать Flac на треки

Сообщение sms »

edoc_modnar писал(а):
09.09.2007 14:52
Что я делаю не так?

Используешь не мой скрипт (:

Попробовал твой скрипт, пишет это:
Error: bchunk executable not found.
требуется интерпретатор
- что это такое и где его брать?
Спасибо сказали:
Аватара пользователя
edoc_modnar
Бывший модератор
Сообщения: 1638
Статус: Форум больше не посещаю

Re: Решено: порезать Flac на треки

Сообщение edoc_modnar »

Наверное нужен bchunk, не находишь? Чем ты резать файл собрался?
So long, and thanks for all the fish.
Douglas Adams, The Hitchhiker's Guide to the Galaxy
Спасибо сказали:
Аватара пользователя
sms
Сообщения: 92
ОС: openSuSE

Re: Решено: порезать Flac на треки

Сообщение sms »

edoc_modnar писал(а):
10.09.2007 19:37
Наверное нужен bchunk, не находишь? Чем ты резать файл собрался?

Установил bchunk. Теперь выдает следующее:
Warning: ruby-taglib not found. If you want tags support, install it. No image found...
Где этот ruby-taglib брать?
Спасибо сказали:
Аватара пользователя
edoc_modnar
Бывший модератор
Сообщения: 1638
Статус: Форум больше не посещаю

Re: Решено: порезать Flac на треки

Сообщение edoc_modnar »

sms, может все-таки внимательно прочтешь мое первое сообщение в этой теме?
So long, and thanks for all the fish.
Douglas Adams, The Hitchhiker's Guide to the Galaxy
Спасибо сказали:
Аватара пользователя
6hlodwig
Сообщения: 7
ОС: archlinux

Re: Решено: порезать Flac на треки

Сообщение 6hlodwig »

edoc_modnar писал(а):
16.08.2007 18:11
В приложении мой скрипт. Делает примерно то же самое: раскодирует образ (поддерживаются APE, FLAC, WAVPACK), режет на куски по CUE (требуется bchunk), кодирует куски обратно во FLAC и переименовывает их в соответствии с CUE. Если есть ruby-taglib, попутно пишет теги.
Использовать просто - нужно перейти в директорию с образом и cue и выполнить там скрипт. Написано на ruby, требуется интерпретатор.
отлично! элегантно, работает на ура
спасибо :)
Спасибо сказали:
sorokan
Сообщения: 7
ОС: Debian Etch, Ubuntu Hardy

Re: Решено: порезать Flac на треки

Сообщение sorokan »

edoc_modnar писал(а):
16.08.2007 18:11
В приложении мой скрипт. Делает примерно то же самое: раскодирует образ (поддерживаются APE, FLAC, WAVPACK), режет на куски по CUE (требуется bchunk), кодирует куски обратно во FLAC и переименовывает их в соответствии с CUE. Если есть ruby-taglib, попутно пишет теги.
Использовать просто - нужно перейти в директорию с образом и cue и выполнить там скрипт. Написано на ruby, требуется интерпретатор.


Спасибо, все отлично )))))
Спасибо сказали:
Аватара пользователя
Vedynn
Сообщения: 20
ОС: all linux

Re: Решено: порезать Flac на треки

Сообщение Vedynn »

edoc_modnar спасибо за скрипт...
Вопрос, после кодирования файл получает название...
12555.png


как переименовать большое количество файлов, если у нас есть файл содержащий название этих файлов . например тех же музыкальных треков
Спасибо сказали:
Аватара пользователя
uptime
Сообщения: 1661
Статус: Drinker with computing problems
ОС: kubuntu 8.04

Re: Решено: порезать Flac на треки

Сообщение uptime »

Vedynn писал(а):
25.12.2009 23:19
Вопрос, после кодирования файл получает название...

попробуйте поменять кодировку русского текста в CUE-файле. Либо перепишите там названия треков латиницей.

успехов
The answer, my friend, is blowin' in the wind.
The answer is blowin' in the wind.
Спасибо сказали:
Solaris10
Сообщения: 11
ОС: macOS

Re: Решено: порезать Flac на треки

Сообщение Solaris10 »

Использую http://code.google.com/p/any2flac/, не имею никаких проблем. Рекомендую всем.
Спасибо сказали:
Ответить