salikin
Столкнулся с такой проблемой: скачал программу (CUE Splitter 0.6 Beta 11, версия zip), распаковал и начал "резать" файлы - все было в порядке, т.е. работало.
На следующий день программа перестала работать вообще: файл cue загружается, помечаю файлы, нажимаю резать, выбираю папку куда складывать файлы и . ничего не происходит, хотя ранее вроде как появлялась другая формочка и происходил процесс разрезания.
Попробовал скачать версию для инсталяции (вдруг что-то куда-то недоставилось - ?) - то же самое.
Перепробовал с десяток различных вариантов: cue+wav, cue+flac, cue+ape. Вполне возможно, что "ларчик открывается очень просто", но у меня почему-то не получается, а жаль, т.к. программка очень и очень неплохая.
Музыка альбомами или сборниками иногда встречается не в виде группы файлов, где каждый файл — это отдельный трек, а виде одного файла, включающего сразу все треки. В этом случае обычно к общему аудио-файлу прилагается текстовый CUE-файл, содержащий информацию по трекам и временным меткам, по которым правильные плееры могут воспроизводить музыку именно потреково. Программа Medieval CUE Splitter предназначена для разрезки в автоматизированном режиме общих аудио-файлов на отдельные файлы-треки, используя CUE-данные.
![]()
Программа Medieval CUE Splitter бесплатная, имеет русский интерфейс и, в целом, очень функциональная! Поддерживается обработка аудио-файлов всех популярных форматов. В процессе все данные по трекам из CUE-файла заносятся в теги отдельных аудио-файлов, также можно составлять и быстро переключать пресеты для формирования имён файлов-треков на выходе.
Для запуска обработки аудио-файла нужного формата в системе должен быть установлен соответствующий кодек. Для начала: открываем CUE-файл в программе, убираем отметку с ненужных треков, в случае если требуется получить выборочно файлы-треки. При желании можно обратить внимание на другие настройки, особенно если обработка делается первый раз. Потом, запускаем процесс обработки. По своей сути, разрезка — это обычно декодирование общего файла, а потом сжатие в отдельные файлы определённых его отрезков. При обработке аудио-файлов в беспотерьных форматах сжатия никакой потери качества не происходит!
Разработчиком заявлены следующие особенности:
- Поддерживаемые форматы аудио-файлов: WAVE без сжатия, MP3, FLAC, APE, OGG, WMA, MPC, WV и TTA.
- Точтная обработка файлов MP3 с переменным битрейтом (VBR).
- Поддержка DTS-WAV с DTS-Audio CD.
- Поддержка аудио-тегов: ID3v1, ID3v2, Lyrics, Vorbis comment e APE.
- Поддержка кодировок Unicode, UTF-8 и ANSI в любой части программы.
- Можно использовать для обработки CUE-файлы с кодировками Unicode, UTF-8 и ANSI (любого типа).
- Можно производить пакетную обработку CUE-файлов.
- Автоматическое обнаружение скрытых треков и суб-индексов.
- Можно добавлять отделяющие кусочки звука (обычно тишина) в получаемые на выходе аудио-файлы.
- Различные методы доступа к фалам для повышения производительности в отдельных системах.
- Автоматическая генерация имен аудио-файлов на выходе, используя определённые пользователем маски, которые в свою очередь можно сохранять в отдельные пресеты для быстрого использования в будущем.
- Автоматизированная генерация аудио-тегов для аудио-файлов на выходе, основанная на информации из CUE-файлов. Теги могут модифицироваться на лету.
- Автоматизированная генерация плейлистов для полученных аудио-файлов в форматах M3U и M3U8 для Winamp и других музыкальных плееров.
- Можно автоматически создавать новый CUE-файл в конце процесса разрезки.
- Можно помещать все разрезанные файлы в определённый пользователем каталог.
- Для автоматически сгенерированных файлов CUE и M3U можно тоже использовать маски для названий.
- Для извлечения можно выбрать лишь нужные треки.
- Можно ассоциировать в системе CUE-файлы с программой Medieval CUE Splitter, чтобы в будущем быстро переходить к обработке, просто кликнув дважды по соответствующим файлам.
- Можно производить авто-замену отдельных символов и добавлять свои символы в процессе автоматизированной генерации имен файлов и аудио-тегов. Например, можно заменять знак пробела подчёркиванием, делать первые буквы слов заглавными, добавлять скобки, свой разделитель и т.д.
- Можно сканировать на аудио-ошибки отдельно файлы и каталоги с файлами.
- Можно редактировать исполнителей и названия треков просто кликая дважды по трекам в списке. Редактирование осуществляется в всплывающем окошке, внесённые изменения не сохраняются в CUE-файл.
- Можно создавать и редактировать музыкальные жанры для пользовательских листов (используется в аудио-тегах).
- Можно менять язык интерфейса программы, шрифт интерфейса. Имеется даже встроенная утилита для перевода интерфейса.
- Для удобства программа имеет иконку в трее.
Все описания припарок и ссылки на сторонние ресурсы, за исключением офсайтов программ и их зеркал, должны оформляться с помощью тега скрытого текста - [hide=1]примочка(тип, автор) + URL [/hide] и никак иначе. За нарушение будет строгое наказание.
Маленькая программа для быстрого разрезания больших CUE / MP3, Wave файлов. С помощью масок можно задать имена выходных файлов и информацию, записываемую в их ID3v1, ID3v2 тэги. CUE Splitter работает с MP3 файлами без декодирования, поэтому резка происходит очень быстро и без потери качества.
CUE Splitter 0. 5 (749056 Bytes, 15 Oct 2005 13:43:43 GMT) _http://www.enfis.it/software/bin/CUE_Splitter_v0.5.msi
В новой версии появилась поддержка FLAC и APE, и доступен русский языковой файл. Полная информация по новой версии: _http://www.enfis.it/details.php?id=41
Лицензия:Freeware Размер: 290kb Платформа:All 32-bit MS Windows (95/98/NT/2000/XP), All POSIX (Linux/BSD/UNIX-like OSes), Linux, OS X, BeOS Programming Language: C Translations: English Homepage Download _http://sourceforge.net/projects/mp3splt
Консольная утилита Режет MP3\OGG без декодирования использует CUE списки. Аналог предыдущей проги только имеется поддержка OGG, что встречается далеко не часто. mp3splt is a free command-line utility to split mp3/ogg files (without decoding), selecting begin/end time; if file is an album, you can get splitpoints automatically from internet or a local cue/cddb file. It splits also Mp3Wrap and AlbumWrap archives
PS: можно вставить в проводник в контекстное меню Качаем утилтку по выше указанному адресу Копируем mp3splt.exe например в С:\windows Вносим файл реестра.(Присоединенный файл) PSS для корректной работы данного примера необходимо чтобы в папке был один CUE и OGG который собираемся резать.
New features in this release: Added: A completely new CUE sheet parsing class: more powerful and versatile! Track lenght is now stored in milliseconds precision format so splitting accuracy is (almost) perfect. Hidden tracks in a CUE sheet file are now considered (thanks to VenomHell). Sub-indexes in a track can be splitted across several new tracks. Splitted files can include or not the pregap sound chunk, using the checkbox nearby the split button. A log window for CUE sheet parsing process. CUE sheet spanned across multiple audio file is now correctly handled. All information given in a CUE sheet file is now displayed.
Fixed: Checkbox image for track selection now has an high color contrast. CUE Splitter configuration file is now saved into "application data" path instead of "program file" (thanks to Raindog). Vendor string in a splitted FLAC file is now correctly mantained from the original one (thanks to Eddy Le***in). An ID3v1 tag bug.
CUE Splitter 0.6 Beta 6 (953344 Bytes, 13 Apr 2006 23:19:17 GMT) _http://www.enfis.it/software/bin/CUE_Splitter_v0.6.msi
Added: * Multiple files with gaps (non-compliant) (aka "Append gaps to (end of) previous track" is now supported! * Now you can automatically generate a new CUE sheet file at the end of split process! * CUE sheet files can use a file mask to generate its name. * M3U file mask (as CUE sheet above). * Default output directory with or without a dialog prompt for validation. * A completely new file mask tutorial system. * You can manually check for software update from the help menu.
Changes: * File mask variables was completely changed: please read the help (press F1). * Configuration form style.
Fixed: * Some minor bugs.
CUE Splitter 0.6 Beta 7 (960512 Bytes, 15 Apr 2006 21:53:11 GMT) _http://www.enfis.it/software/bin/CUE_Splitter_v0.6.msi ZIP (812506 Bytes, 15 Apr 2006 21:56:32 GMT): _http://www.enfis.it/software/bin/CUE_Splitter_v0.6.zip
Added: * "Don't overwrite files, rename it instead" option in configuration window under "File" tab (enabled by default). * CUE sheet can be partially edited and modified as you wish, you can edit a track or edit the entire disk, check the Edit menu. * You can now save a modified CUE sheet file, check file menu Save and Save As. * Hidden track detection limit can be changed: under the configuration window, into the "Miscellaneous" tab (default 20 seconds). * "Invert gaps" option. When checked, you'll append pregap of current track at the end of the previous track, instead of at the beginning of current.
Fixed: * Some minor bugs in CUE sheets and graphical interface.
CUE Splitter 0.6 Beta 8 (1125376 Bytes, 24 Apr 2006 18:44:14 GMT) _http://www.enfis.it/software/bin/CUE_Splitter_v0.6.msi ZIP (980940 Bytes, 24 Apr 2006 18:43:23 GMT): _http://www.enfis.it/software/bin/CUE_Splitter_v0.6.zip
CUE Splitter v0.6 beta 11
Added: * Support for WMA audio files.
Fixed: * A granule position problem with OGG VORBIS files (when written). * "Create new" button don't appear in split destination directory dialog.
CUE Splitter 1.2 1 235 950 байт
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
cue-splitter / cue_splitter.py /
#!/usr/bin/env python3 | from collections import deque | from pathlib import Path | import sys | import argparse | import shlex | import datetime | import subprocess | import itertools | import math | # Remove line from top of lines and calculate indentation and return | def pop_line ( lines ): | line = lines . popleft () | c = line . lstrip () | indent = len ( line ) - len ( c ) | return ( line , c , indent ) | # Parse indentation tree | # | # input: | # FILE "x.wav" WAVE | # TRACK 01 AUDIO | # TRACK 02 AUDIO | # FILE "y.wav" WAVE | # TRACK 03 AUDIO | # | # output: | # < | # 'FILE': [ | # < '': ['x.wav', 'WAVE'], | # 'TRACK': [ | # < '': ['01', 'AUDIO'] >, | # < '': ['02', 'AUDIO'] >, | # ], | # >, | # < '': ['y.wav', 'WAVE'], | # 'TRACK': [ | # < '': ['03', 'AUDIO'] >, | # ] | # >, | # ] | # > | def simple_parse ( lines , depth = 0 ): | out = <> | while len ( lines ) > 0 : | ( line , l , indent ) = pop_line ( lines ) | ( key , _ , value ) = l . partition ( ' ' ) | if not key in out : | out [ key ] = [] | obj = | out [ key ]. append ( obj ) | try : | ( next_line , _ , next_indent ) = pop_line ( lines ) | except IndexError : | break | lines . appendleft ( next_line ) | if next_indent > indent : | obj . update ( simple_parse ( lines , depth + 1 )) | elif next_indent indent : | break | return out | # Parse mm:ss:ff (ff are 75 fps frames) | def parse_time ( time ): | [ minutes , seconds , frames ] = map ( int , time . split ( ':' )) | return datetime . timedelta ( | minutes = minutes , | seconds = seconds , | milliseconds = ( frames / 75 ) * 1000 | ) | def main ( argv = []): | parser = argparse . ArgumentParser () | parser . add_argument ( 'cue_file' , help = 'Path to cue file to split' ) | parser . add_argument ( '-E' , '--cue-encoding' , default = 'UTF8' , help = 'The text encoding of the CUE file' ) | parser . add_argument ( '-n' , '--dry-run' , help = 'Print ffmpeg commands' , action = 'store_true' ) | parser . add_argument ( '-o' , '--output-path' , type = Path , default = '.' , help = 'Path to output to' ) | parser . add_argument ( '-e' , '--output-encoding' , default = 'flac' , help = 'Output file encoding' ) | args = parser . parse_args ( argv ) | cue_file = Path ( args . cue_file ). resolve () | cue_dir = cue_file . parent | cue_data = deque ([ l . rstrip () for l in open ( cue_file , encoding = args . cue_encoding )]) | cue = simple_parse ( cue_data ) | metadata = <> | tracks = [] | file = | # TODO: Handle multifile cues? | file [ 'track_count' ] = len ( cue [ 'FILE' ][ 0 ][ 'TRACK' ]) | file [ 'path' ] = cue_dir / cue [ 'FILE' ][ 0 ][ '' ][ 0 ] | metadata [ 'album' ] = cue [ 'TITLE' ][ 0 ][ '' ][ 0 ] | metadata [ 'album_artist' ] = cue [ 'PERFORMER' ][ 0 ][ '' ][ 0 ] | for r in cue [ 'REM' ]: | [ field , * rem_args ] = r [ '' ] | if field == 'GENRE' : | metadata [ 'genre' ] = rem_args [ 0 ] | elif field == 'DATE' : | metadata [ 'DATE' ] = rem_args [ 0 ] | elif field == 'DISKID' : | pass | elif field == 'COMMENT' : | pass | for f in cue [ 'FILE' ]: | for t in f [ 'TRACK' ]: | metadata = <> | track = | track [ 'id' ] = int ( t [ '' ][ 0 ]) | metadata [ 'track' ] = f" < track [ 'id' ] >/ < file [ 'track_count' ] >" | metadata [ 'title' ] = t [ 'TITLE' ][ 0 ][ '' ][ 0 ] | try : | metadata [ 'author' ] = t [ 'PERFORMER' ][ 0 ][ '' ][ 0 ] | except KeyError : | pass | for index in t [ 'INDEX' ]: | if int ( index [ '' ][ 0 ]) == int ( '01' ): | track [ 'start_time' ] = parse_time ( index [ '' ][ 1 ]) | elif int ( index [ '' ][ 0 ]) == int ( '00' ): | track [ 'pregap_time' ] = parse_time ( index [ '' ][ 1 ]) | tracks . append ( track ) | # Order by start time | time_ordered_tracks = deque ( reversed ( sorted ( tracks , | key = lambda t : t [ 'start_time' ]))) | # Calculate track end times by previous track pregap time | end_time = None | for track in time_ordered_tracks : | start_time = track . get ( 'start_time' ) | pregap_time = track . get ( 'pregap_time' , start_time ) | track [ 'end_time' ] = end_time | if end_time is not None and start_time is not None : | track [ 'duration' ] = end_time - start_time | end_time = pregap_time | ffmpeg = [ 'ffmpeg' ] | file_meta_args = [ f' < k . upper () >= < v >' for ( k , v ) in file [ 'metadata' ]. items ()] | track_padding = math . ceil ( math . log10 ( len ( file [ 'tracks' ]))) | for track in file [ 'tracks' ]: | track_meta_args = [ f' < k . upper () >= < v >' for ( k , v ) in track [ 'metadata' ]. items ()] | meta_args = list ( itertools . chain . from_iterable ([[ '-metadata' , v ] for v in file_meta_args + track_meta_args ])) | try : | file_author = track [ 'metadata' ][ 'author' ] | except KeyError : | file_author = file [ 'metadata' ][ 'album_artist' ] | encoding = args . output_encoding | command = ( ffmpeg | + [ | '-ss' , str ( track [ 'start_time' ]), | '-i' , str ( file [ 'path' ]), | # TODO: argparse codec default='flac' | #'-c:a', encoding, | ] | + ([ '-t' , str ( track [ 'duration' ])] if 'duration' in track else []) | + meta_args | + [ str ( args . output_path . resolve () / | f" < track [ 'id' ]:0< track_padding >d > - < file_author >- < track [ 'metadata' ][ 'title' ] >. < encoding >" ) ]) | print ( ' ' . join ( command )) | if not args . dry_run : | subprocess . run ( command ) | if __name__ == '__main__' : | main ( sys . argv [ 1 :]) |
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Читайте также:
Пожалуйста, не занимайтесь самолечением!При симпотмах заболевания - обратитесь к врачу.
|