Вопросы по Flac. Как в этом кодеке зависит битрейтность?

Автор RaveGenerator, 23 Лютий 2010, 19:23:37

Попередня тема - Наступна тема

RaveGenerator

Итак. Суть вопроса:
Имеем вав файл. Если я его закодирую в flac, скажем в 32 kBit/s или 800+ kBit/s, а потом раскручю обратно: я получу один и тот же результат?
Да, я читал спецификации, " FLAC не удаляет никакой информации из аудиопотока и подходит как для прослушивания музыки на высококачественной звуковоспроизводящей", (http://ru.wikipedia.org/wiki/FLAC) но это на самом деле?  То есть закодированное аудио в 32 или 800+ битрейте имеет точно такое же качество? Как это доказательно или, тем паче, проверить? ???
Rave - это не музыка. Rave - это движение.
Вообще то музыка Рейв есть, игралась в Манчестере в 1988-ом году, но любителям электроники слушать её не советую.

linuxdrom

Цитата: RaveGenerator від 23 Лютий 2010, 19:23:37Если я его закодирую в flac, скажем в 32 kBit/s или 800+ kBit/s
Как?  :)
Как ты уже прочитал - flac это лосслесс кодек, то есть никакие данные не удаляются. Следственно ты не можешь выбирать желаемый битрейт. Можно только выбрать степень сжатия, но конечный битрейт будет зависеть от того насколько хорошо сжимается исходник.
Разве ты можешь указать rar'у или 7z'пу желаемый размер архива? Нет, не можешь - как сожмется, так и сожмется. Так и со всеми архиваторами/кодеками которые сжимают без потерь. Чудес не бывает  :)

Edd.Dragon

Цитата: RaveGenerator від 23 Лютий 2010, 19:23:37Если я его закодирую в flac, скажем в 32 kBit/s
Закодируй сначала ))

P.S.: Если ты спецом возмешь запись, в которой значимых данных больше чем на 32 кбпс и нету, тогда наоборот - интересно как ты заставишь flac ее закодировать не в 32, а в 800, т.е. с многократным избытком ))

RaveGenerator

Есть такая прога, под названием EAC, ( http://www.exactaudiocopy.de/en/index.php )  которая использует внешние кодировщики, в том числе и flac, и там выставляется степень сжатия, причём там именно выбираются те присловутые кбпс. От 32 до 1100 с чем-то. При этом в лог файле, я потом его приведу, именно указывается битрейтность сжатия. Так что получается, программа врёт? Причём конечные файлы по размеру отличаются довольно прилично.
http://flac.sourceforge.net/ru/documentation.html
тут описан принцип, как это проверить?
Rave - это не музыка. Rave - это движение.
Вообще то музыка Рейв есть, игралась в Манчестере в 1988-ом году, но любителям электроники слушать её не советую.

Edd.Dragon

RaveGenerator,
Дай практический результат. Выложи два flac, сделанных из одного и того же качественного wav-а. Один 32 кбит, другой 1000.


Prol

Цитата: RaveGenerator від 24 Лютий 2010, 14:18:21Так что получается, программа врёт? Причём конечные файлы по размеру отличаются довольно прилично.
Может она сжимает звук каким-то кодеком, а потом просто ложит результирующий файл в тело flac? Внимательнее посмотри установки кодирования.

Edd.Dragon

Цитата: Prol від 24 Лютий 2010, 15:03:01Может она сжимает звук каким-то кодеком, а потом просто ложит результирующий файл в тело flac? Внимательнее посмотри установки кодирования.
В комплекте поставки идет папочка с флаковским command-line кодеком. При установке проги она предлагает прописать для него настройки, это выразится в том, что в диалоге окна настроек сжатия будет выбрано "пользовательский кодек", путь к нему, расшиение .flac и строка параметров, в которой степень сжатия 6 (из 8 возможных степеней) ну и прочие параметры по заполнению тегами. Так же в том окошке есть (он для всех есть) листбокс с выбором битрейта. Естественно флаку некуда указывать битрейт. Флаку указывается степень сжатия 1-8 в строке параметров. Так что от выбора битрейта размер файла не поменяется. Все нормально оно там жмет. Но RaveGenerator утверждает, что размер файла меняется. Вот пусть покажет два флака одной вавки и объяснит как в flac.exe приказать сжимать с потерями в 32 кбита, когда он этого не умеет в принципе ))

P.S.: Я между прочим уже скачал, нашел вавку и проверил. Нету там никаких фокусов.

Nikolai

#7
Цитата: RaveGenerator від 24 Лютий 2010, 14:18:21
Есть такая прога, под названием EAC, ( http://www.exactaudiocopy.de/en/index.php )  которая использует внешние кодировщики, в том числе и flac, и там выставляется степень сжатия, причём там именно выбираются те присловутые кбпс. От 32 до 1100 с чем-то. При этом в лог файле, я потом его приведу, именно указывается битрейтность сжатия. Так что получается, программа врёт? Причём конечные файлы по размеру отличаются довольно прилично.
http://flac.sourceforge.net/ru/documentation.html
тут описан принцип, как это проверить?
Битрейты во флак-е это лишь степени сжатия, как говорилось, будет просто разный размер сжатого файла. Чем больше степень сжатия, тем CPU-дороже его кодирование, поэтому сделаны более низкие настройки для слабых CPU или тех, кто не хочет ждать.

Я тебе рекомендую не парится с интерфейсом EAC, а сжимать свои wav-файлы из командной строки с параметрами -f -V -8 (force overwrite, verify written, max compression), если, конечно, в графической оболочке нельзя просто задать эти ключи, а не выбирать какие-то опции.
If you do what you have always done, you'll get what you have always got

Edd.Dragon

#8
Цитата: Nikolai від 24 Лютий 2010, 16:26:30если, конечно, в графической оболочке нельзя просто задать эти ключи, а не выбирать какие-то опции.
Там только и можно задать ключи. Графического выбора параметров для флака там нет.
Я ж говорю, нету там никаких проблем, если при первичной настройке проги позволить ей прописать путь к флаку и ключи к нему. Разве что в этих ключах -6 заменить на -8. Но реально, разница между 6 и 8 совсем понтовая (с 26 866 940 байтовой вавки получились флаки на 19 151 241 байт и на 19 136 128 байт ---> разница 0.08%), а кодирует раза в 2 дольше. Потому по-дефолту и выбрана степень 6, как наиболее оптимальная.


Nikolai

If you do what you have always done, you'll get what you have always got

Edd.Dragon


RaveGenerator

Берём диск:
http://www.discogs.com/Dance-2-Trance-We-Came-In-Peace/release/101180
Начали. Грабим его в вав.
Вибачте, але ви не маєте права на перегляд спойлерів.

размер файла - 224.282.060
далее с 32.
Вибачте, але ви не маєте права на перегляд спойлерів.

размер файла: 147.529.585
Теперь с 896
Вибачте, але ви не маєте права на перегляд спойлерів.

размер 147.529.585
Походу получается, что выбор степени сжатия не влияет на качество? Значит скорее всего это глюк программы. ???
Rave - это не музыка. Rave - это движение.
Вообще то музыка Рейв есть, игралась в Манчестере в 1988-ом году, но любителям электроники слушать её не советую.

Edd.Dragon

Цитата: RaveGenerator від 24 Лютий 2010, 20:58:17Походу получается, что выбор степени сжатия не влияет на качество? Значит скорее всего это глюк программы.
Гм... Ты походу нифига не понял из вышенаписанного нами?
Кодирование во flac - это архивация! Какое такое задание битрейта?! Ты в rar можешь битрейт задать, когда документы архивируешь что ли? Куда битрейт вписывать? Как им пользоваться при сжатии? Ты мне говоришь "Заархивируй секунду звука так, чтобы она была размером 32 кбита", а я тебе отвечу "Ты что, с Луны свалился?! Я - flac! Твоя секунда звука в несжатом виде занимает 3000 кбит, в заархивированном мной - 1100 кбит. Не нравится - топай к mp3, пусть он тебе из этих 1100 оставит только 32 самых значимых кбита и радуйся получившемуся угэшному качеству, я то тут при чем?!  ???"

Так понятнее? ))

Вот параметры, которые ты задал флаку:
Цитата-8 -V -T "ARTIST=%a" -T "TITLE=%t" -T "ALBUM=%g" -T "DATE=%y" -T "TRACKNUMBER=%n" -T "GENRE=%m" -T "COMMENT=EAC FLAC -8" %s

-8 - это степень сжатия. Всё. Битрейт задать НЕКАК. Равно как и рару или зипу. Битрейт задается в jpeg, mp3, divx.

Вроде ж тема не сложная и суть понятна. А ты - "Прога глючит". Никто не глючит.
У тебя в обоих экспериментах стоит -8. Т.е. два раза ты кодировал с одинаковой степенью сжатия. Впиши туда -1 - получишь файл больше.



Nikolai

Цитата: RaveGenerator від 24 Лютий 2010, 20:58:17
Походу получается, что выбор степени сжатия не влияет на качество? Значит скорее всего это глюк программы. ???
Глюк в твоем понимании. FLAC - не mp3, и уровень качества в виде битрейта как в mp3 в нем задать невозможно - оно (качество) всегда такое же, как в исходном wav. Читай, что Эдд написал выше.
If you do what you have always done, you'll get what you have always got

RaveGenerator

Если программа предлагает битрейт, если он ненужен - глюк программы. Я знаю чем отличается мп3 от лосслесс, однако вся эта документация с метаданными вызывает вопросы.
Rave - это не музыка. Rave - это движение.
Вообще то музыка Рейв есть, игралась в Манчестере в 1988-ом году, но любителям электроники слушать её не советую.

Nikolai

#15
Цитата: RaveGenerator від 24 Лютий 2010, 22:25:13
Если программа предлагает битрейт, если он ненужен - глюк программы. Я знаю чем отличается мп3 от лосслесс, однако вся эта документация с метаданными вызывает вопросы.
По-видимому ты воспринимаешь слово "битрейт" как относящееся к качеству звука. В то время как это всего лишь то, что оно есть - bit rate, и качество mp3 - лишь одно из его применений. Скорость твоего интернет-подключения, к примеру - одно из других применений.

P.S., с окошком сжатия EAC не знаком, т.к. сжимаю вручную, так что я это пишу на правах общего развития; читай что пишет Эдд ниже.
If you do what you have always done, you'll get what you have always got

Edd.Dragon

Цитата: RaveGenerator від 24 Лютий 2010, 22:25:13Если программа предлагает битрейт, если он ненужен - глюк программы.
Недоработка интерфейса диалога, а не глюк.
Глюк - это ошибка работы. Разве что-то неправильно работает? Нет. Работает правильно. А всего-лишь выбор битрейта остается там, где прога не знает нужен он или нет.

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



RaveGenerator

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