Главная
 
MIDI.UCOZ.RUВоскресенье, 22.12.2024, 15:39



Приветствую Вас Гость | RSS
Главная
Меню сайта

MIDI ОБЛАКО

Категории раздела
Статьи о MIDI и создании музыки [26]
В данном разделе собраны материалы раскрывающие понятие о том, что такое MIDI, как его делать и зачем вообще этот зверь нужен. Также здесь можно найти материалы о музыкальных технологиях, мастеринге и т.д.
Искусство программирования миди [51]
Азбука MIDI. Совместимость данных. Контролеры. Системные сообщения. Приемы программирования миди-файлов. Создание кавер-версий. Использование тембров. Сведение миди-файлов и многое другое.
О разном, но вечном [10]
В этом разделе собраны материалы разной тематики, не всегда можно согласиться со всем опубликованным, однако есть повод задуматься...

Поиск

Главная » Статьи » Статьи о MIDI и создании музыки

СПРАВОЧНИК ПО КЛЮЧАМ КОМАНДНОЙ СТРОКИ FLAC
FLAC (англ. Free Lossless Audio Codec — свободный аудио-кодек без потерь) — популярный свободный кодек для сжатия аудио.

Перед полным описанием ключей, используемых flac, обратим внимание на то что:

1) по умолчанию flac сжимает файлы (для декодирования используйте ключ -d);
2) ключи -0..-8, а также --fast и --best, управляющие уровнем сжатия, являются синонимами для различных групп настроек кодирования. Того же эффекта можно добиться, используя наборы соответствующих ключей;
3) модель обработки входных и выходных файлов у flac аналогична gzip.

flac вызывается одним из четырех способов:

Кодирование:
flac [<основные_ключи>] [<настройки_формата>] [<опции_кодирования>] [входной_файл [...]]
Декодирование:
flac -d [<основные_ключи>] [<настройки_формата>] [<опции_кодирования>] [файл_FLAC [...]]
Тестирование:
flac -t [<основные_ключи>] [файл_FLAC [...]]
Анализ:
flac -a [<основные_ключи>] [<опции_анализа>] [файл_FLAC [...]]

В любом случае, если входной файл не указан, подразумевается стандартный ввод. Если указан только один входной файл, то это может быть "-" для стандартного ввода (stdin). Когда используется стандартный ввод, flac пишет в стандартный вывод (stdout). В остальных случаях flac выполнит указанные действия для каждого входного файла и запишет результаты в файлы с аналогичными именами (при кодировании суффикс будет заменен на ".flac" или, если его не было, будет добавлен; при декодировании суффиксы также изменяются в соответствии с типом выходных данных.) Оригинал удаляется, только если указан ключ --delete-input-file.

Существуют особые формы вызова процедур кодирования/декодирования из стандандартного ввода в файл.

flac [опции] - выходной_файл
flac -d [опции] - выходной_файл
которые лучше чем

flac [опции] > выходной_файл
flac -d [опции] > выходной_файл

так как в первом случае сохраняется возможность произвести при необходимости последующую обработку файла, например для записи заголовков RIFF WAVE или STREAMINFO.

Данные в стандартный вывод можно перенаправить с помощью ключа -c.

Опции кодирования влияют на скорость работы и уровень сжатия. Настройки формата определяют расположение сэмплов, если на вход поступает файл без заголовка. Если у файла есть заголовок RIFF WAVE или AIFF, то настойки формата не нужны, так как они берутся из файла.

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

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Основные ключи
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

--------------------------------------------------------------------------------

-v, --version

Номер версии flac.
--------------------------------------------------------------------------------

-h, --help

Вывести основные методы использования и список всех опций. При запуске flac без аргументов отображается краткая справка.
--------------------------------------------------------------------------------

-H, --explain

Вывести справку полностью. При запуске flac без аргументов отображается краткая справка.
--------------------------------------------------------------------------------

-d, --decode

Декодирование (по умолчанию flac кодирует). flac завершит работу с кодом выхода 1, если будет встречена ошибка или контрольная сумма MD5 декодированного потока не совпадет с сохраненной. Если ошибок не будет, код возврата будет равен 0.
--------------------------------------------------------------------------------

-t, --test

Тестирование (то же самое, что и декодирование, только выход не записывается в файл). Коды возврата те же.
--------------------------------------------------------------------------------

-a, --analyze

Анализ (то же самое, что и декодирование, только выходом является файл статистики). Коды возврата те же. Режим предназначен в основном для разработчиков. В выходной текстовый файл записывается информация о каждом фрейме и подфрейме.
--------------------------------------------------------------------------------

-c, --stdout

Направить результат в стандартный вывод (stdout).
--------------------------------------------------------------------------------

-s, --silent

Не показывать статистику при кодировании/декодировании.
--------------------------------------------------------------------------------

-o файл
--output-name=файл


Явно указать имя выходного файла, по умолчанию flac просто заменяет суффикс.
--------------------------------------------------------------------------------

--output-prefix=строка

Добавляет префикс к каждому имени выходному файлу. Может имспользоваться для кодирования/декодирования файлов в другой каталог. Если указанная строка является частью пути, убедитесь, что она заканчивается слэшем '/'.
--------------------------------------------------------------------------------

--delete-input-file

После успешного окончания кодирования/декодирования входной файл будет удален. Если произойдет ошибка, исходный файл останется.
--------------------------------------------------------------------------------

--skip={#|mm:ss.ss}

Пропустить первые # сэмплов входного файла. Работает для кодирования и декодирования, но не для тестирования. Альтернативную форму mm:ss.ss можно использовать, чтобы указать минуты, секунды и сотые секунды.
Например:
--skip=123 : пропустить первые 123 сэмпла входного файла
--skip=1:23.45 : пропустить 1 минуту 23.45 секунд
--------------------------------------------------------------------------------

--until={#|[+|-]mm:ss.ss}

Остановиться на данном сэмпле входного файла. Работает для кодирования и декодирования, но не для тестирования. Сэмпл с указанным номером не включается в вывод. Альтернативную форму mm:ss.ss можно использовать, чтобы указать минуты, секунды и сотые секунды. Если впереди стоит знак +, то последний сэмпл берется от начальной точки воспроизведения, если - -, то последний сэмпл вычисляется от конца потока аудио.
Например:
--until=123 : декодировать первые 123 сэмпла входного файла (сэмплы 0-122)
--until=1:23.45 : декодировать 1 минуту 23.45 секунд
--skip=1:00 --until=+1:23.45 : декодировать от 1:00.00 до 2:23.45
--until=-1:23.45 : декодировать все, кроме последней 1 минуты и 23.45 секунд
--until=-0:00 : декодировать весь ввод
--------------------------------------------------------------------------------

--ogg

При кодировании генерируется вывод в формате Ogg-FLAC вместо "родного" FLAC. Потоки Ogg-FLAC представляют собой потоки FLAC обернутые в транспортный уровень Ogg. Полученный файл будет иметь суффикс '.ogg' и будет декодироваться утилитой flac.
При декодировании формат ввода однозначно определяется как Ogg-FLAC. Это полезно при получении данных со стандартного ввода или если у файла суффикс не '.ogg'.
--------------------------------------------------------------------------------

--serial-number=#

При использовании с ключом --ogg определяет серийный номер для потока FLAC. При кодировании без явно указанного серийного номера flac использует '0'. При декодировании по умолчанию используется серийный номер определенный на первой странице.
--------------------------------------------------------------------------------

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Опции анализа
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||


---------------------------------------------------------------------------------
-residual-text

Добавляет в файл остаточный сигнал. Результирующий файл получается очень большим.
--------------------------------------------------------------------------------

--residual-gnuplot

Создает файлы-диаграммы для каждого подфрейма. В каждом файле будет остаточное распределение для подфрейма. Будет создано очень много файлов.
--------------------------------------------------------------------------------

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Опции декодирования
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||


--------------------------------------------------------------------------------

-F,
--decode-through-errors


По умолчанию flac прекращает декодирование в случае ошибки в потоке и удаляет частично декодированный файл. Использование ключа -F ведет к тому, что сообщения об ошибках выводятся, но flac продолжает работу до конца. Обратите внимание, что в результате такого декодирования в выходном файле могут быть пропущены сэмплы или появится блоки тишины.
--------------------------------------------------------------------------------

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Опции кодирования
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||


--------------------------------------------------------------------------------

-V

Проверять процесс сжатия. В данном случае flac создает параллельный декодер, раскодирующий выход кодера и сравнивает результат с оригиналом. Если будет найдено несоответствие, кодирование прекратится. Время работы с этой опцией увеличивается, однако, при этом гарантируется, что файл будет правильно декодирован.
--------------------------------------------------------------------------------

--lax

Позволяет кодеру создавать файлы, отвечающие подмножеству формата FLAC. В результате работы будет получаться непотоковый файл, поэтому этот ключ следует использовать только для архивирования. Декодер будет поддерживать воспроизведение и поиск в таких файлах.
--------------------------------------------------------------------------------

--replay-gain

Вычислить значения ReplayGain и сохранить из в комментариях Vorbis, аналогично тому, как это делает VorbisGain. Уровень записи и максимальные значения амплитуды будут вычислены для каждого входного файла. Кроме того будет рассчитаны значения для всего альбома (всех входных файлов). Для этого все файлы должны иметь одинакоыую частоту дискретизации, разрешение и число каналов. Допустимы только моно и стерео файлы, а частота дискретизации должна быть 8, 11.025, 12, 16, 22.05, 24, 32, 44.1 или 48 кГц. Обратите внимание на то, что для этой опции может понадобиться несколько дополнительных байтов в блоке PADDING, так как точный размер блока нельзя вычислить, пока не будут обработаны все файлы.
Обратите внимание на то, что эту возможность нельзя использовать при кодировании в стандартный вывод.
--------------------------------------------------------------------------------

--cuesheet=ИМЯ_ФАЙЛА

Импортировать указанный список разбиения аудиодиска и сохранить его в блоке метаданных CUESHEET. Эту опцию можно использовать только при кодировании одного файла. Точки поиска будут добавлены для каждого трека из списка в блок SEEKTABLE, если не будет указана опция --no-cued-seekpoints.
Файл списка разбиения аудиодиска должен иметь такой же вид, в каком его создают программы CDRwin, CDRcue, EAC и т.д
--------------------------------------------------------------------------------

--sector-align

При кодировании нескольких WAVE файлов, полученных с аудиодиска, выравнивать их на границу сектора. Эта опция применима только для кодирования нескольких WAVE файлов, каждый из которых должен иметь частоту дискретизации 44.1 кГц и два канала. Если будет указана эта опция кодер выровняет потоки .flac так, что их длины будут кратны размеру сектора CD-Audio (равны 1/75 секундам или 588 сэмплам). Это осуществляется переносом части сектора в конце каждого WAVE файла в начало следующего. Последний поток будет дополнен до границы выравнивания нулями.

Использование этой опции не приведет ни к чему, если файлы уже выровнены (например, если правильно скопированы с аудиодиска). flac может выровнять только несколько файлов за один вызов.

ВНИМАНИЕ: Порядок файлов имеет значение! Если вы сделаете следующий вызов 'flac --sector-align *.wav', командный процессор может обработать шаблон не в том порядке, в каком вы рассчитываете. Поэтому лучше всего вызывать программу, явно указав список файлов, например, 'flac --sector-align 8.wav 9.wav 10.wav'.
--------------------------------------------------------------------------------

-S {#|X|#x|#s},
--seekpoint={#|X|#x|#s}


Добавляет точки для поиска в таблицу SEEKTABLE.
# : создается точка поиска для сэмпла с определенным номером.
X : резервируемые точки (всегда помещаются в конце SEEKTABLE).
#x : # равномерно распределенных точек поиска, первая соответствует 0 сэмплу.
#s : точки поиски расставляются для каждых # секунд; номер не обязательно должен быть целым числом, например, -S 9.5s ознчает, что точки будут проставлены с промежутком 9.5 секунд
Опцию -S можно использовать несколько раз. В результате получится объединенная таблица, в которой будут присутствовать только уникальные значения.
По умолчанию flac использует -S 10s. Если таблица поиска не нужна, укажите -S-.
ПРИМЕЧАНИЕ: -S #x и -S #s не будут работать, если кодер не сможет определить размер входного файла в начале работы.
ПРИМЕЧАНИЕ: если # больше или равен количеству сэмплов во входном файле, то точки добавлены не будут, если размер можно определить до кодирования, в противном случае будут записаны резервируемые точки.
--------------------------------------------------------------------------------

-P #, --padding

Кодер запишет блок метаданных PADDING, указанного размера (в байтах), после блока STREAMINFO. Ключ --no-padding указывает, что блок PADDING не нужен (значение по умолчанию). Этот блок полезен, если вы собираетесь добавить тэг в файл позже. Вместо того, чтобы переписывать файл полностью, можно будет записать информацию вместо блока PADDING. Обратите внимание на то, что общий размер блока PADDING будет на 4 байта больше, так как 4 байта занимает заголовок.
--------------------------------------------------------------------------------

-T

ПОЛЕ=ЗНАЧЕНИЕ, --tag=ПОЛЕ=ЗНАЧЕНИЕ Добавляет комментарии Vorbis, который должен соответствовать спецификации, т.е. ПОЛЕ должно содержать только определенные символы, завершающиеся знаком равенства. При необходимости не забывайте заключать комментарий в кавычки. Эту опцию можно использовать неоднократно для заполнения разных полей комментария. Все указанные значения будут применены ко всем кодируемым файлам.
--------------------------------------------------------------------------------

-b #, --blocksize

Устанавливает размер блока в сэмплах. По умолчанию 1152 для -l 0, иначе 4608. Стандартные потоки должны использовать одно из указаных значений: 192/576/1152/2304/4608/256/512/1024/2048/4096/8192/16384/32768. Сейчас кодер использует постоянный размер блока для всего файла.
--------------------------------------------------------------------------------

-m, --mid-side

Включает разностное кодирование (только для стерео потоков). Обычно увеличивает уровень сжатия на несколько процентов. Для каждого блока создается усредненная и стерео версия блока, сохраняется блок меньшего размера. Сейчас разностное кодирование доступно для файлов, где сэмпл имеет размер не больше 16 бит.
--------------------------------------------------------------------------------

-M, --adaptive-mid-side

Включает адаптивное разностное кодирование (только для стерео потоков). Работает аналогично -m, однако кодер переключается между независимым и усредняющим кодированием адаптивно. Метод работает быстрее, но уровень сжатия меньше, так как -m производит полный перебор вариантов.
--------------------------------------------------------------------------------

-0..-8 Быстрейшее сжатие ... максимальное сжатие. По умолчанию -5.

-0, --compression-level-0 Аналогично -l 0 -b 1152 -r 2,2.

-1, --compression-level-1 Аналогично -l 0 -b 1152 -r 2,2 -M.

-2, --compression-level-2 Аналогично -l 0 -b 1152 -r 3 -m.

-3, --compression-level-3 Аналогично -l 6 -b 4608 -r 3,3

-4, --compression-level-4 Аналогично -l 8 -b 4608 -r 3,3 -M.

-5, --compression-level-5 Аналогично -l 8 -b 4608 -r 3,3 -m.

-6, --compression-level-6 Аналогично -l 8 -b 4608 -r 4 -m.

-7, --compression-level-7 Аналогично -l 8 -b 4608 -r 6 -m -e.

-8, --compression-level-8 Аналогично -l 12 -b 4608 -r 6 -m -e.

--------------------------------------------------------------------------------

--fast

Быстрейшее сжатие. Аналогично -0.
--------------------------------------------------------------------------------

--best

Максимальное сжатие. Аналогично -8.
--------------------------------------------------------------------------------

-e,
--exhaustive-model-search


Полный поиск модели (работает медленно!). Обычно кодер определяет лучшую модель и кодирует далее опираясь на нее. В данном режиме кодер будет создавать подфреймы всех порядков и использовать наименьший. Если максимальное значение порядка LPC велико, время кодирования существенно возрастет. Выигрыш обычно составляет около 0.5%.
--------------------------------------------------------------------------------

-E,
--escape-coding


Использовать управляющие коды в кодере энтропии. Эта опция позволяет записывать незакодированное представление остатка в разделе, если его размер меньше. При этом время работы увеличивается, а уровень сжатия обычно улучшается примерно на 1%.
--------------------------------------------------------------------------------

-l #,
--max-lpc-order=#


Определяет максимальный порядок LPC (коэффициентов линейного прогнозирования). Число должно быть меньше или равно 32. Если значение равно 0, кодер будет использовать вместо общего линейного прогнозирования постоянные коэффициенты. Этот метод увеличивает скорость работы, но файлы получаются на 5-10% больше.
--------------------------------------------------------------------------------

-q #,
--qlp-coeff-precision=#


Определяет точность дискретных коэффициентов линейного прогнозирования в битах. По умолчанию -q 0, что позволяет кодеру принимать решение в зависимости от сигнала. Лучше оставлять значение по умолчанию.
--------------------------------------------------------------------------------

-p,
--qlp-coeff-precision-search


Производить оптимизацию LPC. Переопределяет любую опцию -q. Сильно замедляет работу, и уменьшает размер файла на долю процента. -q не работает, когда используется -l 0.
--------------------------------------------------------------------------------

-r [#,]#,
--rice-partition-order=[#,]#


Установить [min,]max порядок раздела. Если минимальное значение не указано, то оно устанавливается равным 0. По умолчанию кодер один параметр Райса для всего остатка подфрейма. Если использовать эту опцию, остаток будет разделяться на 2^min# ... 2^max частей, для каждой из которых будет определен собственный параметр Райса. С
увеличением параметра max выигрыш будет все меньше. Наиболее оптимальный вариант достигается при использовании -r 2,2 (и больших значений для больших размеров блоков). При этом сжатие обычно увеличивается на 1.5%. Выбор оптимального значения можно произвести по формуле размер_блока/(2^n)=128. Максимальный уровень сжатия достигается при использовании -r 0,16.
--------------------------------------------------------------------------------

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Настройки формата
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||


--------------------------------------------------------------------------------

--endian={big|little}

Определяет порядок байтов в файле без заголовка big-endian | little-endian.
--------------------------------------------------------------------------------

--channels=#

Определяет количество каналов в файле без заголовка.
--------------------------------------------------------------------------------

--bps=#

Определяет количество бит на сэмпл в файле без заголовка.
--------------------------------------------------------------------------------

--sample-rate=#

Определяет количество сэмплов в секунду в файле без заголовка.
--------------------------------------------------------------------------------

--sign={signed|unsigned}

Определяет, должны ли быть сэмплы в файле без заголовка беззнаковые или знаковые (по умолчанию знаковые).
--------------------------------------------------------------------------------

--force-aiff-format

Декодер будет записывать в формат AIFF. Эта опция не нужна, если имя выходного файла (указанное с помощью ключа -o) заканчиватся на .aiff.
--------------------------------------------------------------------------------

--force-raw-format

Воспринимать входной (или выходной при декодировании) файл как поток сэмплов без заголовка вне зависимости от суффикса.
--------------------------------------------------------------------------------

Отмена действия опций

--no-adaptive-mid-side
--no-decode-through-errors
--no-delete-input-file
--no-escape-coding
--no-exhaustive-model-search
--no-lax
--no-mid-side
--no-ogg
--no-padding
--no-qlp-coeff-precision-search
--no-residual-gnuplot
--no-residual-text
--no-sector-align
--no-seektable
--no-silent
--no-verify


Можно использовать для отключения действия конкретной опции.
Категория: Статьи о MIDI и создании музыки | Добавил: Arcady (13.01.2009)
Просмотров: 4155 | Теги: FLAC | Рейтинг: 5.0/1
Форма входа

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Copyright MyCorp © 2024