Решено: порезать 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
Бывший модератор
Сообщения: 2088
Статус: Насильник бабушек-педофилок
ОС: 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, требуется интерпретатор.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
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
Полагаю, следует либо отредактировать соответствующим образом скрипт, либо соответствующим же образом переименовать исходные файлы. :)


Достало. Исправил. Пробелы и скобки в названиях --- обрабатывает.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:
Аватара пользователя
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
Спасибо сказали:
Аватара пользователя
DsTr
Сообщения: 374
ОС: Arch x64

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

Сообщение DsTr »

JID:dstr@jabbus.org
Спасибо сказали:
Аватара пользователя
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 спасибо за скрипт...
Вопрос, после кодирования файл получает название...


как переименовать большое количество файлов, если у нас есть файл содержащий название этих файлов . например тех же музыкальных треков
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:
Аватара пользователя
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/, не имею никаких проблем. Рекомендую всем.
Спасибо сказали: