Ru-Board.club
← Вернуться в раздел «Программы»

» Форматы|кодеки|снятие и обработка звука|lossless&lossy|codec

Автор: TCPIP
Дата сообщения: 19.07.2005 00:16
Da_Neil
Соотношение сигнал/шум на 48 децибел лучше...

Цитата:
In spite of that, the dynamics of the 24 bit system is not wasted. Every processing of digital audio involves some calculations. Be it a simple level change, or an equalization or whatever. If the result of a calculation is not an integer number, it has to be rounded. This rounding process introduces, guess what, more quantization noise. The higher the bitrate of the digital material, the smaller the noise due to digital processing. Since this noise adds during several calculation/processing steps, one wants to keep the bitrate as high as possible to avoid this noise becoming audible. This is the reason why a lot of digital systems (be it hardware digital mixers or FX units or be it software systems) work with an even higher bitrate internally and only round the result once directly before the outputs. Working with floating point numbers brings great benefits here, so a lot of systems work internally with 32bit floating point numbers. Since the PC's floating point unit has an internal floating point format with a bitrate of 80 bits, many software packages use this format, which yields even greater accuracy *internally*. Still, the result of all this calculations has to be converted into an integer to be sent to the DAC.
Автор: Da_Neil
Дата сообщения: 19.07.2005 22:14
TCPIP
Вырезка скорее относится к случаю, когда сигнал перед подачей на ЦАП подлежит какой-либо обработке, но ведь в моём случае никакой обработки нет! По идее происходит просто переквантизация 16-битного сигнала в 24-битный (по какому алгоритму этот делает FB2k, понятия не имею) — как от этого улучшатся характеристики сигнала?
Автор: TCPIP
Дата сообщения: 20.07.2005 01:47
Da_Neil
23:14 19-07-2005
Цитата:
Вырезка скорее относится к случаю, когда сигнал перед подачей на ЦАП подлежит какой-либо обработке, но ведь в моём случае никакой обработки нет!

Да нет, насколько я понимаю, дело в том, что прийдет на вход ЦАПа. Впрочем, вырезку эту я привел так, просто к слову, FYI значитаксказать. Из эгоистических соображений, в надежде на интересную ссылку с вашей стороны.

Цитата:
По идее происходит просто переквантизация 16-битного сигнала в 24-битный

Угу. Здесь, может быть, есть момент: в одном случае она будет делаться плеером, в другом --- драйверами карты, а в третьем вообще хардверным DSP...

Цитата:
как от этого улучшатся характеристики сигнала?

Да никак вроде бы. kmixer сжирает 2 бита от 16 (?)... Kernel streaming пробовали на 16 битах? Потом со сглаживанием попроще наверное, ну и в играх с эквалайзером, раз диапазон расширяется?
Автор: Vodomer
Дата сообщения: 20.07.2005 08:42
как можно софтово разделить звук на 5.1 из foobar2000? звук - Live! 24bit. может есть какие-нить кодеки с функцией prologic или что нить подобное
Автор: ozioso
Дата сообщения: 25.07.2005 08:38
Слушаю файлы lossless+cue.

В связке ape+cue тэги чищу родной утилитой mac.

Каким образом удобно полностью удалять тэги у flac, wv и т.д.? Желательно массово.
Автор: lucky_Luk
Дата сообщения: 04.08.2005 21:55
Объясните чайнику что из себя представляет кодек как таковой. По-моему это что-то вроде архиватора для музыки - файл ведь становится меньше. Только есть кодеки которые, архивируют как надо - когда распакованный файл полностью соответствует оригиналу (loseless). А есть другие - которые для уменьшения размера файла что-то где-то ему обрезают (lossy) - тогда распакованный файл оригиналу не соответствует.
Меня интересует такой вопрос. Для просмотра обычных заархивированных файлов они сначала распаковываются во временную папку - а как происходит при прослушивании сжатой кодеком музыки? Файл куда-то распаковывается и плееру подсовывается обычный wav или плеер играет именно сжатый файл? И не происходит ли распаковывания в оперативную память?

Еще вопрос - как устанавливать фильтры DirectShow?
Автор: Darth_Vader
Дата сообщения: 05.08.2005 02:32
lucky_Luk

Цитата:
Объясните чайнику что из себя представляет кодек как таковой. По-моему это что-то вроде архиватора для музыки - файл ведь становится меньше. Только есть кодеки которые, архивируют как надо - когда распакованный файл полностью соответствует оригиналу (loseless). А есть другие - которые для уменьшения размера файла что-то где-то ему обрезают (lossy) - тогда распакованный файл оригиналу не соответствует.


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

Что касается мультимедиа, то здесь применяется потоковое сжатие, так чтобы данные можно было считывать и распаковывать последовательно или произвольно вне зависимости от остального массива. Во всех известных технологиях потокового мультимедиа еще на стадии оцифровки (кодирования звука или видео в стандартный несжатый формат, например PCM или RGB) используется принцип "кадров" (frames) - т.е. изображений или образцов звука (samples), снятых определенное число раз в секунду, т.е. с некоторой частотой, которая зависит от конкретного стандарта оцифровки. Например, РСМ (Pulse Code Modulation) в стандарте CDDA (Compact Disc Digital Audio, стандарт обычных звуковых компакт-дисков, соответсвует также аппаратным возможностям звуковых карт Creative Sound Blaster Pro и совместимых) используется частота сэмплов ("снимков" интенсивности звучания в разных полосах частот) 44100Гц, т.е. эти снимки делаются и воспроизводятся 44 тысячи 100 раз в секунду, для кодирования каждого образца используется одно слово (16 бит или условно - 2 байта), причем каждый образец записывается дважды - для левого и правого каналов стереозаписи, для записи в моно сэмплы будут идентичны. Перемножив эти значения - 44100 х 16 х 2 - получим 1411200 бит в секунду, или 1411 кбит/с, что и составляет поток данных для РСМ / CDDA. Для более современных аудиосистем используется HD Audio (High Definition Audio, высококачественное аудио) - до 192 кГц, 24 бит, до 8 каналов, перемножив получим уже 36,864,000 - т.е. 36 мегабит в секунду или 4.36 мегабайта в секунду, т.е. на час записи такого качества потребуется более 15 с половиной гигабайт дискового пространства, в то время как 82 минуты _несжатого_ CDDA умещаются на обычном 700-мегабайтном CD. Что ж, за все хорошее надо платить

В алгоритмах потокового сжатия, как правило, испольуется ряд уловок - например, первый кадр кодируется полностью и называется K(ey)-frame, а последующие (I(ntermediate)-frames, промежуточные кадры) содержит лишь информацию о различии в изображении между текущим кадром, ключевым и/или предыдущим (до следующего ключевого кадра, который вставляется или после превышения максимально допустимого числа промежуточных, или при изменении состава кадра более чем наполовину), при этом кадры разбиваются на макроблоки - 8х8, 16х16 пикселов, внутри них определяются "объекты" (цветовые области) и задаются векторы движения - для того чтобы впоследствии восстановить картинку согласно этой информации, а не сжимать все данные оригинала.
Кажется, что потери будут огромны? Тем не менее, человеческое зрение воспринимает результаты работы алгоритмов сжатия цифрового видео вполне толерантно, особенно если кодек качественный и его настройки грамотно подобраны. Алгоритмы сжатия видео без потерь - например, используемые популярным кодеком HuffYUV - достаточно малоэффективны, и позволяют сжать исходный материал чуть сильнее чем вдвое, в то время как лучшие безпотерьние аудиокодеки вплотную приближаются к возможностям архиваторов... это связано с особенностями представления оцифрованных данных разных типов и разной степенью их неоднородности.
При сжатии аудио с потерями, как правило - выбрасываются все данные, лежащие за пределами частотно-амплитудной кривой восприятия человеческого слуха (это замкнутая область, визуально близкая к овалу), плюс частично "сглаживаются" фрагменты звучания внутри этой области, в целях получения оптимального сжатия (в гибридных форматах действительна только первая часть). Опять же, только искушенный и тренированный слушатель может отличить сжатый с потерями звук от оригинала.

Теперь - к вопросу о том, как работают кодеки, плееры итп.
Кодеки, как таковые (CoDec = Coder + Decoder) - это динамически подключаемые библиотеки (DLL, Dynamic Link Library), содержащие набор функций для сжатия или восстановления данных в или из формата, в котором они хранятся на носителе, из или в формат для потокового воспроизведения (это говоря упрощенно, поскольку к кодекам также условно причисляются фильтры DirectShow - подробнее см. на предыдущей странице). Типичные функции библиотеки кодека - EncodeFrame() или DecodeFrame(), надеюсь - пояснять их значение не требуется.
Говоря опять же упрощенно, плеер через свой модуль чтения файлов или приема транслируемых потоков считывает или получает блок данных определенного размера, установленного в его настройках (кэширование итп) или определяемый характеристиками вещательного формата, при необходимости интерпретирует заголовок и определяет, какие модули необходимы для декодирования - для этого, например - используются идентификаторы видеопотока FourCC (четыре символа латинского алфавита и 10 арабских цифр - например, DIVX, DIV3, DX50, XVID, etc.) и HexID для аудиопотоков (из названия видно - шестнадцатиричное число, например 0х80, 0х4Е), дальше читает из реестра информацию об зарегистрированных для этих идентификаторов декодеров по умолчанию (или руководствуется собственной конфигурацией форматов и кодеков), вызывает необходимый модуль и передает ему данные для декодирования, считывает возврат и выводит через интерфейс пользователя.

То, что пропущено в этом объяснении ради упрощения - сплиттинг (разделение или "расплетение" потоков аудио и/или видеоданных внутри потока или файла контейнерного формата - такого как AVI, MKV, OGM, MP4, MOV, etc.). Для сплиттинга зачастую тоже используется специальный модуль, вызываемый перед кодеком.
Подробнее о контейнерных форматах см. на прошлой странице.

Добавлено:
Упс, сорри - не на прошлу страницу, тебе вообще-то сюда, с вопросами типа

Цитата:
Объясните чайнику

Надеюсь, понятно что это не в обиду.

Да, а DirectShow-фильтры регятся так:

regsvr32 <filename>.aсм - для аудио;

regsvr32 <filename>.ax - для видео.
Автор: jvalej
Дата сообщения: 31.08.2005 12:37
Доступен кодек LAME 3.97 alpha 12. Сам пересел на эту версию еще с предыдущей альфы, и доволен.
Автор: Darth_Vader
Дата сообщения: 31.08.2005 13:57
jvalej
А что там нового / измененного?
Автор: jvalej
Дата сообщения: 31.08.2005 15:13
Darth_Vader
Список обновлений есть здесь.

Самое значительное, так это что теперь опция "--vbr-new" или "fast", по качеству равна или даже превосходит оригинальный и более медленный VBR алгоритм. Я сейчас решил использовать "--preset fast extreme" для своих основных нужд.
Автор: Da_Neil
Дата сообщения: 01.09.2005 00:06
Мучаюсь выбором между APE, FLAC и WavPack.. Что скажете? На HydrogenAudio видел сравнительную табличку, где среди минусов APE указана низкая устойчивость формата к повреждениям. Это так на самом деле?
Автор: Darth_Vader
Дата сообщения: 01.09.2005 00:21
jvalej
Есть мнение (и не только мое) что перцептуальное качество на выходе VBR-NEW всегда было и есть по определению выше, чем у консервативного алгоритма.

Da_Neil
Дело в том, что остальные форматы нифига не устойчивее. Да и какая разница, любые повреждения безпотерьного потока делают его практически безполезным. Другое дело - поддержка стриминга, вот этот вопрос не мешало бы изучить... АРЕ, насколько мне известно - стриминг не поддерживает, а WV - таки да, плюс имеет гибридный режим и достаточно невысокую ресурсоемкость для кодирования и декодирования - соответсно, быстрее кодится и нормально играется на б0льшем числе платформ, втч более старых/слабых.
Сильнее чем АРЕ и WV жмут OFR и LA, но стриминг и гибридный режим поддерживает только первый, при этом оба крайне ресурсоемки и имеют проблемы с поддержкой тегов, в то время как у АРЕ и WV подобных проблем нет.

DShow-фильтры и плугины к популярным плеерам есть для всех вышеперечисленных форматов.

Вывод: нужен стриминг и/или гибридный режим - юзай WV, кодишь и слушаешь исключительно без потерь и не по сети - АРЕ (жмет посильнее).
Автор: jvalej
Дата сообщения: 01.09.2005 10:41
Darth_Vader
Но только, как я понимаю из дискуссий на Hydrogenaudio, на деле это становиться явью только в версии 3.97.
Автор: Darth_Vader
Дата сообщения: 02.09.2005 00:12
jvalej
Гы... для мну лично так всегда и было. Трудно не верить собственным ушам ведь ради них все и делается
Автор: Da_Neil
Дата сообщения: 02.09.2005 10:06
Darth_Vader

Цитата:
Да и какая разница, любые повреждения безпотерьного потока делают его практически безполезным.

Ну это смотря как посмотреть (точнее, послушать ): если это последний экземпляр, записанный на болванку..


Цитата:
Но только, как я понимаю из дискуссий на Hydrogenaudio, на деле это становиться явью только в версии 3.97.

А что особенного в этой версии? Последняя ведь 3.99.
Автор: jvalej
Дата сообщения: 02.09.2005 12:33
Da_Neil
Я не особо за этим слежу, но насколько я понимаю, были предложения выпустить сразу версию 4.0 после 3.96.1, без промежуточных, и наверное 3.99 была одной из более ранних альф...
Автор: Benchmark
Дата сообщения: 02.09.2005 13:00
Darth_Vader

Цитата:
Дело в том, что остальные форматы нифига не устойчивее.

Там наверно немного другое имелось ввиду. В случае повреждения, например, WV файла, ты теряешь только поврежденный фрейм. В случае повреждения APE ты теряешь весь остаток файла, начиная с поврежденного места.


Цитата:
АРЕ, насколько мне известно - стриминг не поддерживает

Тут все от целей юзера зависит. Среднестатистическому юзеру, который только хранит файлы в loseless и слушает их в winamp или WMP, поддержка или неподдержка стриминга, в общем-то, пополам.

Da_Neil

Цитата:
Мучаюсь выбором между APE, FLAC и WavPack.. Что скажете? На HydrogenAudio видел сравнительную табличку, где среди минусов APE указана низкая устойчивость формата к повреждениям. Это так на самом деле?

Если нужна поддержка "железным" плеером, то FLAC или WavPack.
Автор: Darth_Vader
Дата сообщения: 03.09.2005 00:55
Benchmark

Цитата:
Среднестатистическому юзеру, который только хранит файлы в loseless и слушает их в winamp или WMP, поддержка или неподдержка стриминга, в общем-то, пополам.

Да я собсно про это тоже грил, но разве от поддержки стриминга не зависит возможность воспроизведения по сети (не через ShoutCast, а просто - открытие и воспроизведение файлов с шары/сервака)? Лично для меня например это очень актуально, имеючи в доме 3 десктопных компа, 2 ноутбука и файл-сервер.


Цитата:
FLAC или WavPack

Первый я бы все же исключил - жмет совсем из рук вон плохо, хуже всех известных кодеков. Второй тоже не блещет, но не настолько плох, плюс у него гибридный режим есть, тоже может пригодиться иногда.
Автор: Benchmark
Дата сообщения: 03.09.2005 02:16
Darth_Vader

Цитата:
Второй тоже не блещет, но не настолько плох, плюс у него гибридный режим есть, тоже может пригодиться иногда.

Не только неплох, а очень даже интересен. Особенно в свете проекта rockbox.org - фирмварь для ряда "железных" плееров, позволяющая помимо традиционных mp3, wav, ogg и т.д. проигрывать ряд других форматов. Включая FLAC и WavPack.
Автор: vhl
Дата сообщения: 15.09.2005 16:59
может не совсем в тему, но где бы список "железных" плееров посмотреть с поддержкой WV?
Автор: Benchmark
Дата сообщения: 15.09.2005 17:13
vhl

Цитата:
может не совсем в тему, но где бы список "железных" плееров посмотреть с поддержкой WV?

Вот тут, даже с фотографиями:

rockbox.org/download
Автор: lucky_Luk
Дата сообщения: 16.09.2005 11:54
Натаскал от друзей кучу wav-файлов и решил их сжать LAME в MP3, облом вышел, оказалось что у них частота не та. Вроде была какая-то программа для нормализации wav-файлов, подскажите, можно в ПМ.
Извините если это оффтопик.
Автор: jvalej
Дата сообщения: 16.09.2005 21:30
lucky_Luk
Частоту мне кажеться в любом звуковом редакторе можно изменить, хоть в Audacity.

LAME 3.97 достиг статуса beta 1
Автор: Benchmark
Дата сообщения: 16.09.2005 23:05
lucky_Luk

Цитата:
Натаскал от друзей кучу wav-файлов и решил их сжать LAME в MP3, облом вышел, оказалось что у них частота не та. Вроде была какая-то программа для нормализации wav-файлов, подскажите

Погоди, я ничего не понял. Что значит "частота не та" ? Тебе нужно sample rate сменить что ли ? Ну там, с 48 kHz на 44.1 к примеру. Если да, то попробуй вот это:
.http://www.rarewares.org/files/others/srcdropV0.5.zip

Или что ?

P.S. А "нормализация" - это другое совсем. Это приведение группы аудио-файлов к одинаковой громкости звучания.
Автор: Da_Neil
Дата сообщения: 16.09.2005 23:22
Написал небольшой FAQ: NL -> Что такое WavPack (.WV)? (стр. 1).

Добавлено:
Не подскажете, можно ли чем нибудь делать ReplayGain из командной строки?

Добавлено:
А тут мои скрипты для автоматичского создания релизов из EAC.
Автор: sentaus
Дата сообщения: 17.09.2005 10:57
Da_Neil
ReplayGain, Mp3Gain, VorbisGain, WaveGain - в зависимости от формата.
Автор: Da_Neil
Дата сообщения: 18.09.2005 01:23
sentaus
Нужно для образов в формате WV. Есть что-нибудь? Как вариант — для WAV, но чтобы сохраняла в заданный CUE.
Автор: Benchmark
Дата сообщения: 19.09.2005 23:06
Da_Neil

Цитата:
Написал небольшой FAQ: NL -> Что такое WavPack (.WV)


Отличный FAQ.


Цитата:
Нужно для образов в формате WV

Пока нет. Автор формата собирался делать такую тулзу, но пока занялся улучшением алгоритма подавления шума для низких битрейтов.
Автор: Da_Neil
Дата сообщения: 19.09.2005 23:27
Benchmark

Цитата:
Отличный FAQ.

Спасибо! Добавил в шапку.


Цитата:
Пока нет.

Жаль.. fb2k напрочь убивает встроенный CUE, а бета 9 пишет туда кучу лишнего мусора. Вот если б можно было просканировать WAV и записать RG в CUE до кодирования EAC'ом..
Автор: lucky_Luk
Дата сообщения: 20.09.2005 09:06
Benchmark

Цитата:
попробуй вот это:
.http://www.rarewares.org/files/others/srcdropV0.5.zip

Не знаю чем эти файлы делались, но srcdrop их не берет, пишет ошибки "INVALID format chunk in wav header" и "Wav file is unsupported type (must be standard PCM or type 3 floating point PCM)".
Чем можно такие файлы привести к нормальному виду - чтобы кодеки их принимали?

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

Предыдущая тема: Задача Лэнгфорда


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.