Битность и дитеринг

TesarracT

Banned
30 Июл 2008
280
128
0
Уже года 2 меня мучает один вопрос.
Быть может, более опытные коллеги с этого форума помогут мне разрешить его?
Вопрос касается битности и дитеринга.

Итак, начнем. Вот часто я вижу такое описание сэмплерной библиотеки какой-нибудь: "Все сэмплы были записаны в 24 бит и потом сконвертированы в 16".
Объясните мне, пожалуйста, для чего писать в 24 бита, если потом всё равно конвертят в 16 ? Я этого не понимаю.
И далее. Вот я сделал свой микс и экспортировал его в 24 бит. Как мне потом в вейвлабе пересчитывать его в 16 ? Повесить на мастер дитеринг и нажать обсчёт файла?
Теперь: вот пишут, что внутренняя обработка идёт в 32 бита. Значит, нужно обязательно использовать дитеринг, даже если я работаю с 16 битными файлами?
На слух я при экспорте хоть в 16 хоть в 24 хоть в 32 не слышу никакой разницы. Если я экспортирую 24 битный файл в 16 без дитеринга - я не слышу никакого транкейта, а наоборот, мне кажется, что качество лучше и "звонче" как-то.

В общем, помогите разобраться. Поведите беседу :)
 
В 24 бита пишут, чтобы повысить точность последующей обработки сэмплов перед тем, как запихать их в библиотеку.
Про транкейт читал когда-то и слышал от других, сам же - ни разу за 6 лет, хоть и на уши вроде не жалуюсь :blum3:
Раньше вешал на мастер дитеринг для очистки совести, потом как-то забыл про него и успокоился. Транкейт там конечно присутствует и возможно вылезет при последующей, например, чрезмерной динамической обработке трека, но если ваша инстанция - последняя, то наверное волноваться из-за этого не стоит...
 
  • Like
Реакции: TesarracT
В 24 бита пишут, чтобы повысить точность последующей обработки сэмплов перед тем, как запихать их в библиотеку. ---- Что это означает? Есть разница в процессе обработки 24 и 16 битного файлов? По-моему, компьютеру безразлично, что обсчитывать...
 
На слух я при экспорте хоть в 16 хоть в 24 хоть в 32 не слышу никакой разницы. Если я экспортирую 24 битный файл в 16 без дитеринга - я не слышу никакого транкейта, а наоборот, мне кажется, что качество лучше и "звонче" как-то.

В общем, помогите разобраться. Поведите беседу :)

а ты потом нормализуй до -60дБ, а затем назад до 0, если после этой процедуры разницы не услышишь, то забудь про дитеринг, транкейт и разрядность

зы: а может у тя ЦАП 16 бит)

...Что это означает? Есть разница в процессе обработки 24 и 16 битного файлов?

это означает, что обработка сигнала будет с большей или меньшей точностью, качеством, глубиной, называй как хочешь.

прим.:
16 бит = 65536
24 бита = 16777216
 
В 24 бита пишут, чтобы повысить точность последующей обработки сэмплов перед тем, как запихать их в библиотеку. ---- Что это означает? Есть разница в процессе обработки 24 и 16 битного файлов? По-моему, компьютеру безразлично, что обсчитывать...

Чем ниже разрядность - тем большая погрешность накапливается в процессе математических вычислений, компу действительно все равно, он просто, грубо говоря, округляет все, что не укладывается в заданную битность.
 
а ты потом нормализуй до -60дБ, а затем назад до 0
А, простите, зачем мне это? :)))
ЦАП - 24 бит у меня, топ-класс.


обработка сигнала будет с большей или меньшей точностью, качеством, глубиной
Это понятно, при чём тут это. Вопрос стоИт не об обработке, а о том, зачем записывать сэмплы в 24 бита, если их всё равно потом конвертировать в 16 ?
 
традиция. семплеры жрут преимущественно 16 бит (неточно).
 
TesarracT, вы изначально путате точность оцифровки и внутреннюю обработку.

32битный файл - это форма представления 16ти или 24битного аудиофайла. Выводя аудио в аналоговый домен, 32битного звука вы не добьетесь. Или у вас есть 32битный конвертер? :prankster2:

По поводу разницы между экспортированными 16 и 24 битными вавками:

При пересчете в 24 бита аудиоинформации, изначально полученной от 16битной оцифровки - разницы не будет, т.к. вы получите только дополнительные ноли в хвосте файла, а они, в отличие от десятичной системы, значение стоящих впереди единичек не меняют. :biggrin:

24 в 24 - все понятно.

А вот если вы не слышите разницы при экспорте в 16 и 24бита файла, полученного от 24битного АЦП, тут возникают вопросы иного рода...
 
традиция. семплеры жрут преимущественно 16 бит (неточно).
Естественно! Но зачем оцифровывать-то в 24 тогда?

32битный файл - это форма представления 16ти или 24битного аудиофайла
Эт как еще? :))))) 32 это 32. 24 это 24. А 16 это 16.

Выводя аудио в аналоговый домен, 32битного звука вы не добьетесь. Или у вас есть 32битный конвертер?
Естественно нет!

А вот если вы не слышите разницы при экспорте в 16 и 24бита файла, полученного от 24битного АЦП, тут возникают вопросы иного рода...
Нет нет нет, подождите! Не будем передёргивать на портрет Чуковского... :))) Я написал, что я не слышу разницы не между 24 и 16 битным экспортом, а что я не слышу никаких транкейтов при экспорте 24 в 16 без дитеринга.
 
Последнее редактирование:
TesarracT, не знаю, что там имелось в виду, но написанное пером не вырубишь топором.

"У нас все ходы записаны" (с) И.Ильф-Е.Петров. :laugh4:
 
Объясните мне, пожалуйста, для чего писать в 24 бита, если потом всё равно конвертят в 16 ? Я этого не понимаю.
При использовании 24 -> dither -> 16 будет частично сохранена информация о полезном сигнале ниже -96dB за счет его модуляции в шуме, т.е. используя dither для файла в 16-битном представлении можно увеличить динамический диапазон полезного сигнала примерно еще на 10dB. Ну и конечно же удастся избежать искажений при плавном низкоуровневом изменении громкости.

Теперь: вот пишут, что внутренняя обработка идёт в 32 бита. Значит, нужно обязательно использовать дитеринг, даже если я работаю с 16 битными файлами?
Да, если хотите сохранить возникшую микродинамику.
Dither не стоит применять в случае если вы загрузили несколько 16-ти битных фалов, выставили их друг за другом без пересечений и не меняя громкости записали результат. Тогда да - не стоит. Во всех остальных случаях (наложение семплов, изменение громкости и т.д.) повысится разрядность общего микса, появятся нюансы за пределами 16-битного представления. Если хотите их (частично) сохранить - используйте Dither.
 
При использовании 24 -> dither -> 16 будет частично сохранена информация о полезном сигнале ниже -96dB за счет его модуляции в шуме, т.е. используя dither для файла в 16-битном представлении можно увеличить динамический диапазон полезного сигнала примерно еще на 10dB

бред!
 
Michail,
какие +10дцБ к 16 битному звуку, если максимально возможное =96дцБ???
какое возможное сохранение ниже 96дцб, если это невозможно из-за ограничения динамического диапозона???
и какая модуляция сигнала в шуме дитеринга, если сам шум не привышает одного нижнего бита и является искуственно добавленым к исходному сигналу???

вдумайтесь в написаное.
или я не правильно понянимаю автора этоо поста?
 
Тэкс....
Ну тогда давайте с начала.
Для чего при транкейте советуют применять Dither, как Вы сами думаете?
 
Низкоуровневый сигнал все равно будет промодулирован - скажем так интерполяцией нулевого порядка с частотой равной частоте перехода им порога транкейта (например допустим это половина наименее значимого бита) и при обычном снижении разрядности получим искажения похожие по звучанию на одноразрядный sample&hold, при этом лишившись всей информации за границей транкейта.

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

Возьмите любой файл, измерьте его RMS, и в 32-х битном представлении уменьшите его громкость на -96+(половина значения RMS взятого по модулю).
После чего переведите в 16 бит обычным способом и с примененеим dithering + noise shaping. Увеличте громкость обратно до нормального уровня и сравните.

Ну если после этого для вас ситуация с обычным транкейтом кажется наиболее естественной, а подмешивание к сигналу перед снижением разрядности особого шума - бредом, флаг вам в руки. )))
 
Ve'nik, лично мне стало очевидным, что Вы плаваете в этом вопросе.
Модератор Novation пытался "на пальцах" объяснить суть явления, да видно "не в коня корм"....
На этом дискуссия прекращается и Вы идёте изучать матчасть, благо в рунете есть достаточно большое количество хороших статей по этому вопросу.
Если Вы продолжите дискуссию в том же ключе, то рискуете первым на этом форуме получить погон за флуд в разделе "Для новичков":girl_hospital:
 
  • Like
Реакции: Novation
не нужно пантов

Не буду коментировать по сабжу, только замечу (как админ РММ), что тон общения на этом форуме у Вас выбран неправильно.
А жаль, возможно Вы могли бы принести пользу сообществу своими знаниями.

Подумайте над этим.

ЗЫ: За годы существования этого фрума, к сожалению, многие специалисты (возможно, весьма знающие и уважаемые) были вынуждены его покинуть по единственной причине: неумение общаться в виртуальном мире.
Еще раз повторюсь: очень жаль, что так происходит.
 
  • Like
Реакции: TesarracT и Novation
Что-то я совсем уже запутался в ваших доводах... :russian_ru: Скажите наконец прямо, как городские доктора сельскому - нужен дитеринг перед баунсом проекта или нет? Аффтар вообще наверное потерялся...
 
  • Like
Реакции: TesarracT
Скажите наконец прямо, как городские доктора сельскому - нужен дитеринг перед баунсом проекта или нет?
Делаете простой эксперимент:
Берете любой кусок аудио продолжительностью допустим 10 секунд, переводите его в 32 бита, нормализуете, делаете 10 секундный fade out, понижаете громкость на 96dB. После чего сохраняете две копии, снижая разрядность до 16бит 1) с dithering + noise shaping, и 2) без него. Нормализуете полученные 16-битные файлы, слушаете и решаете сами какой вариант вас больше устраивает.
 
Это уровень пилы в оригинальном файле с повышенной разрядностью. Если его перевести в 16 бит без dithering, то получится тишина. А если перед понижением разрядности добавить шум, да еще с шейпингом (а шейпинг позволяет уровень шума повысить), то естественно уровень вместе с шумом будет выше -96dB, иначе если в сумме шум дитера + изначальный полезный сигнал < -96dB - ничего не получится, смысл лохматить бабушку? :)

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

это то что вы должны были знать до того как со мной спорить !
 
  • Like
Реакции: Nuf-nuf
А я считаю, что дитеринг применяется во время понижения разрядности, а не после, в целях недопущения корреляции ошибок квантования с сигналом, а вот для маскировки шумов квантования применяется шейпинг. В противном случае вы добавляете и шум дитеринга, и нелинейные искажения в ходе понижения разрядности, транкейта. (c)
На этом и разойдемся :)

На этом месте весь троллинг и флуд мною из темы был удален, как и было обещано :)
Если хотите продолжить беседу в конструктивном русле и изложить для новичков (не отступая от основного вопроса темы) новые сведения и взгляды на проблемы дитеринга, шейпинга и транкейта - милости просим. Но если дискуссия так и продолжится в прежнем стиле с использованием аргументов типа "Бред!", пеняйте на себя. :)
 
Novation
О.К.

А я считаю, что дитеринг применяется во время понижения разрядности,
процесс может идти либо до, либо после

а не после, в целях недопущения корреляции ошибок квантования с сигналом,
но ведь ошибки квантования появляются в следствии понижения разрядности, т.е. после

недопущения корреляции ошибок - странное выражение

а вот для маскировки шумов квантования применяется шейпинг.

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

это то что вы должны были знать до того как со мной спорить !
имхо, за дезинформацию и хамство товарищ заслуживает поход в баню.
 
  • Like
Реакции: q_h
процесс может идти либо до, либо после
Чтобы сделать "после" нужно как минимум предварительно вычислить величину будущей ошибки. Хотите - делайте после.
Только если взять уже квантованный файл - вы величину этой ошибки для каждого конкретного семпла уже не узнаете.
Поэтому начать операцию нужно до квантования, а когда закончить - это уже ваше дело. :)
Поэтому - либо до, либо в процессе. :)

но ведь ошибки квантования появляются в следствии понижения разрядности, т.е. после
Ошибка квантования это вообще такая абстрактная величина описывающую в данном случае разницу в значениях сигнала с высокой разрядностью (например 24) и его же с более низкой (например 16). Я ее могу вычислить в уме, вообще не проводя операций с файлом. Характер данной ошибки будет коррелировать с сигналом: для самого шума dithering - ошибка квантования представляет собой случайный шум, а для пилы с амплитудой в пределах +/-LSB (для 16-ти разрядного представления) - уже нет. В самом простейшем случае достаточно подмешать шум dither определенного уровня к исходному сигналу до квантования и в результате (будущая) ошибка (или шум) квантования также будет представлять собой случайную величину не коррелирующую с исходным сигналом.

недопущения корреляции ошибок - странное выражение
А по мне так нормальное выражение.

т.е. получается, что сначала нужно добавить шум, затем понизить разрядность (добавить ошибкоф), потом почистить от шума (т. е. еще добавить искажений)? и какой прибор это будет делать и для чего?
Это называется демагогия. Приписать другой стороне дискуссии высказывания, которые она не говорила, довести их до абсурда и с "непринужденной легкостью" их опровергнуть. Только на деле у вас пока получается какой-то отстраненный спор с самим собой. :)
Если коротко, то ответ на ваш вопрос: "нет, по моим словам так не получается" :)

Если вам что-то не понятно почитайте Алексея Лукина, а если вам все понятно - то зачем вы спрашиваете? :)
Лучше ответьте тогда на вопросы поставленные топик стартером так, как считаете наиболее правильным.
 
  • Like
Реакции: polygram
Дитеринг применяется либо до снижения разрядности, либо в процессе, но никак не после. Ведь его задача — не замаскировать уже возникшие нелинейные искажения, а предотвратить их появление.
Подробнее: "Системы понижения разрядности в мастеринге".
 
Alexey Lukin,
Разрядность 16 бит означает, что амплитуда каждого такого отсчета может принимать одно из 65536 возможных значений. Теоретически динамический диапазон формата 16/44,1 составляет 98,5 дБ.

1 бит = 6 дБ
соответственно 16 бит равны 6х16=96дБ и никаких теоретически 98,5, ровно 96
нужно ли после этого читать дальше?
 

Сейчас просматривают