В чем преимущество записи\обработки в 64 битах?

  • Автор темы Автор темы x.com
  • Дата начала Дата начала
нет... вы путаете разрядность процессора и разрядность плагина. процессор может быть и 8-битным, необязательно же за один цикл считать
вот когда ввели 64-битный ММХ для обработки (мультимедийных) сигналов, позволявшие делать всё за один такт - тогда все вплотную и занялись внутренней 64 битной обработкой. Особо модными стали комбайны вроде Тирекса или Озона, позволявшие передавать внутри между модулями сигнал без понижения битности
 
вот когда ввели 64-битный ММХ для обработки (мультимедийных) сигналов, позволявшие делать всё за один такт - тогда все вплотную и занялись внутренней 64 битной обработкой.

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

Чем дальше, тем больше меня ужасает, какой хаос творится в голове у некоторых... смешались в кучу цифры, биты :-)

Разрядность хостов, аудифайлов, адресация памяти...
 
внутри между модулями сигнал без понижения битности
передавать его без понижения нельзя, сколько бы там у вас бит не было - 64 битный поток,пришедший на 16-разрядный коэффициент фейдера уже только после фейдера должен быть 80 битным, если не понижать :) Так что транкейт будет всегда!
 
MMX для целых чисел.
Для 32fp - первые AMD c 3DNow (Fruity Loops :laugh3:), позже Интел с SSE( в одном 128 битном регистре четыре 32-битных значения с плавающей точкой одинарной точности).
А ускорение 64fp только c SSE2 началось.
(в одном 128 битном регистре 2 значения с плавающей точкой двойной точности)
 
разрядность процессора значения не имеет, какая разница, за один такт он считает, или нет?
если ту же операцию делать за два такта - значит производительность падает в два раза. А благодаря ММХ появилась возможность увеличить разрядность сигнала без потери производительности - вот маркетологи и ухватились за єту фишку ;)
64 битный поток,пришедший на 16-разрядный коэффициент фейдера
откуда вдуг возьмется внутри плагина между модулями фейдер? Массив положили в стек - массив из стека взяли… Впрочем об єтом действительно лучше у Лукина спросить. Но Тирекс и Озон маркетологи раскручивали именно благодаря єтой фишке.
 
откуда вдуг возьмется внутри плагина между модулями фейдер? Массив положили в стек - массив из стека взяли… Впрочем об єтом действительно лучше у Лукина спросить.
об этом можно не спрашивать :) это и я тебе расскажу :) любая обработка - математическая операция. в ее результате разрядность возрастает. фейдер я привел для простоты. в плагинах коэффициенты подлиннее, и действий с ними побольше. так что "не теряя" никак не получится. Вопрос - на каком уровне потери.
 
Akula Alex, Напишите в личку. Звоните в скайп. Есть о чём поговорить без предвзятостей.
 
в плагинах коэффициенты подлиннее, и действий с ними побольше. так что "не теряя" никак не получится. Вопрос - на каком уровне потери.
ну ММХ & SSE уже давно 128-битные - запас у них есть ;)
 
Сегодня отлавливал разницу работы алгоритма 64 VS 8 bit в Рипере. И что удивительно наткнулся на важный факт: Битность выставляемая в проекте имеет отношение только к микшированию треков, а вся обработка в плагинах ведётся на 64 бит. Впрочем там так и написано: Track mixing bit depth -
Что я сделал: выставил битность на 8. Запустил дилэй с огромным фидбеком и слушал хвост дилэя. В момент когда произошёл полнейший транкейт переключил битность в проекте на 64 и хвост дилэя стал опять полноценным. Если бы эта переключалка влияла бы на битность плагин то после переключения на 64 сигнал бы не изменился, он так бы и оставался транкейтнутым. Посему прошу считать мои опыты в сравнении 64 VS 24 не правильными. Суть вопроса они не проявили так как изменялась только битность суматора. Ведутся дальнейшие исследования.

ЗЫ: Ребята которые ожидают услышать разницу между 32 и 64. чуда не будет. Ибо конкурсы проводимы на RMM показывают что не плагинах дело.
 
Последнее редактирование:
Ведутся дальнейшие исследования.
битность внутренней обработки ?
http://sourceforge.net/projects/freeverb3/files/freeverb3_vst/+obsolete/2.x_x86_32bit/
версия freeverb 2.5.14
SSE-singleprecision - точность 32 бит FP ( старые плаги )
SSE2-doubleprecision - 64 бит FP (почти у всех современных плагов такая точность внутренней обработки)
x87-doubleprecision - 80 бит FP (древние плаги, теоретически максимальная точность,но уже редкость, на 10-40% больше грузит CPU чем SSE2 версии)
 
  • Like
Реакции: belovw
А Вы расчитываете поменять что-то еще?
Ага - мир.:bb: На самом деле мне просто самому интересна разница 64 VS 32 не с позиции "Дядя Вася сказал", а со стороны науки. Ничего больше.

ЗЫ: Ребята которые ожидают услышать разницу между 32 и 64. чуда не будет. Ибо конкурсы проводимы на RMM показывают что не плагинах дело.
 
вот когда ввели 64-битный ММХ для обработки (мультимедийных) сигналов, позволявшие делать всё за один такт - тогда все вплотную и занялись внутренней 64 битной обработкой. Особо модными стали комбайны вроде Тирекса или Озона, позволявшие передавать внутри между модулями сигнал без понижения битности
Несмотря на наличие 64-битных регистиров, MMX не работает с 64-битными данными. Он работает с массивами 8-, 16- и 32-битных целых чисел. Озон для обработки данных использует преимущественно FPU и SSE/SSE2, работающие с вещественными числами разрядностью 32–80 бит (по необходимости).


Передача внутри станции разрядности звука 64 бита сама по себе особого смысла не имеет, если плагины не поддерживают это формат. А стандартно, я так понимаю, они его не поддерживают.
Действительно, большинство форматов плагинов поддерживают разрядность аудио только 32 бита. Но это не мешает им использовать более высокую внутреннюю разрядность для повышения точности вычислений. В некоторых случаях это оказывается существенным.
 
  • Like
Реакции: Rustami
Один из примеров приведён в обсуждаемой статье Мурера.
Вот другой пример: эквалайзеры с линейной фазой вычисляют каждый выходной отсчёт суммированием нескольких тысяч входных отсчётов (с разными весами). Эта операция называется свёрткой. Если её выполнять полностью в формате 32-bit float, то шум усилится с -144 дБ до -100 дБ и более (в зависимости от типа и длины фильтра).
 
Значит все же не стоит отключать 64-битные расчёты в софте, если такая возможность имеется? Не совсем уж я неправ.

Это не имеет значения, так как (что было уже ПРАКТИЧЕСКИ, а не словами доказано) программисты не идиоты и на звук это не влияет. Микшер понижает разрядность до 32 бит флоат, но Вы же потом сам до 24 понимжаете! Так чего Вы добиться пытаетесь, понять не могу!

Вот другой пример: эквалайзеры с линейной фазой вычисляют каждый выходной отсчёт суммированием нескольких тысяч входных отсчётов (с разными весами). Эта операция называется свёрткой. Если её выполнять полностью в формате 32-bit float, то шум усилится с -144 дБ до -100 дБ и более (в зависимости от типа и длины фильтра).

Этот пример не имеет отношения к установкам в секвенсере. Либо разработчик сделает правильно, либо нет. В случае, если он сделать внутри плагина обработку 32 бита флоат, установка хоста в 64 бита флоат ничего не изменит. В случае если в плагине все правильно, тоже ничего не изменится, так как в этом случае все ошибки будут ниже минус 144 что бы Вы ни поставили.
 
Последнее редактирование:
  • Like
Реакции: Jak
Да, установка секвенсера наверное влияет только на разрядность шин микширования, где эффект минимален. Плагины работают по-своему.
 
Когда мы перешли на 32 бита флоат с 16 бит (лет 10 назад или чуть меньше) и стали микшировать (экспортировать) все треки в единый микс 32 (24) бита - разница была существенна. Ушли потери качества (реальное снижение битности при микшировании всех 16 битных в один 16-битный) треков с повышением разрядности. Здесь происходит нечто подобное, но это уже касается качества суммирования всех треков с учетом более высокой точности (в данном случае 64-битной работы внутри хоста)работы всех обработок навешанных на треки и шины. Один из примеров - рост шума эквалайзера, приведенный Алексеем, также хвосты импульсных ревербераторов и многое другое...
Может я неудачное сравнение привел, поскольку больше практик, чем теоретик, но все же....
 
Когда мы перешли на 32 бита флоат с 16 бит (лет 10 назад или чуть меньше) и стали микшировать (экспортировать) все треки в единый микс 32 (24) бита - разница была существенна.

Я не сомневаюсь, но 16 бит - это 96 дБ, что вполне слышимо, а 32 бита флоат - я уже писал, покрывает эту проблему с ОГРОМНЫМ запасом, так что говорить об улучшениях при 64 битах флоат все равно, что рассуждать, как взрыв сверхновой в далекой галактике повлияет на нашу атмосферу.


Один из примеров - рост шума эквалайзера, приведенный Алексеем,

А то, что Алексей согласился со мной, Вы игнорируете? Алексей говорил о гипотитеческой возможности некорректно написанного плагина, что во-первых маловероятно, во-вторых, опять-таки, никак не связано с настройками хоста.

И еще раз: почему бы Вам прсото не сделать 2 миксдауна, чтобы убедиться в том, что это так и есть? Вы же практик.
 
Читая ветку наблюдается некое перетягивание одеяла...

Отрадно то что в конце ветки стала прояснятся истина: "Мухи отдельно котлеты отдельно". Т.е. плагины по-своему считают, а микс по-своему миксует и у каждого своя битность. Эх, сразу бы так, а то складывается впечатление что кое кто просто хотел поглумиться.

Лукину отдельное спасибо и благодарность.
 
Действительно, точность 64 бит необходима и существенна в алгоритмах, в которых по своей природе свойственно значительное накопление ошибки.

Посему разные люди в разных случаях наблюдают улучшения от точности 64 бит (в сравнении с 32) и нет.
 
Читая ветку наблюдается некое перетягивание одеяла...

Да нет. Здесь не перетягивание, а непонимание. Объясняешь много раз, тыкаешь пальцем, но даже приводя неоспоримые доказательства, все-равно получаешь непонимание. Удивительно. Вон, Андрей Субботин, признанный специалист, уже устал. Написал ответ последний и стер его. Наверное, он прав. Если человек не в состоянии понять, он не поймет.

Отрадно то что в конце ветки стала прояснятся истина: "Мухи отдельно котлеты отдельно". Т.е. плагины по-своему считают, а микс по-своему миксует и у каждого своя битность. Эх, сразу бы так, а то складывается впечатление что кое кто просто хотел поглумиться.

Это было понятно изначально. Пример:

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

Еще пример:

Если на вход двум разным 64-битным формам IIR-фильтра подать белый шум, то разница на выходе составит 0.2% от амплитуды шума.
Речь идёт о том, что некоторые реализации (формы) IIR-фильтрации очень чувствительны к ошибкам округления даже при использовании 64-битного формата. Спать это не должно давать только программистам, которые выбирают нужную форму реализации.

О том, что битность проекта не влияет на битность плагинов, я Вам вообще в одном из первых ответов написал.


Насчет Мура вообще давно ответили:

забавно... я лично был в 97-м году на той неформальной встрече, где было это озвучено впервые, и удивляет, какие интерпретации этого появляются в сети. Вопрос тогда к маэстро был один - отчего Соник (владельцем и мозговым центром которого он тогда являлся) не уходит с целочисленной математики. Тогда просто тема плавающей точки была очень популярна. Вот и появилась это статья, по результатам того его доклада. Если вы ее поняли правильно, то речь идет о величине ошибки вычислений, связанной с нецелочисленными коэффициентами В РАБОТЕ ФИЛЬТРОВ). Абсолютная величина этой ошибки лежит вне пределов измерений на аналоговом выходе устройств, иначе говоря - чисто теоретическая. И использование ее в качестве аргумента - очень сомнительно. Вывод, еще там, прямо в кабаке, где все это происходило (могу даже выложить фотки с мероприятия) - "правильная" математика может быть реализована как в случае с плавающей точкой, так и в случае с фиксированной.

Так что, если человек хочет что-то понять, то уже давным-давно понял

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

Посему разные люди в разных случаях наблюдают улучшения от точности 64 бит (в сравнении с 32) и нет.

Ну вот, опять началось... Кто и что услышал в этом топике? Какой пример это подтвердил?
 
  • Like
Реакции: Jak
Я вёл речь только об обработке на "железке".

Если у вас есть "железка", что на вход принимает данные 64 бит (и туда действительно подаются данные с такой точностью) и на выходе у неё есть DAC 64 бит, то разницу вы сможете получить в сравнении с "железкой" 32 бит.

Что касается PC, то конкретно для случая записи (и её дальнейшего воспроизведения) преимущества нет, считай. Ниже ссылка:

http://recordingquestions.com/quest...rue-32-bit-audio-recording-on-the-computer/26
 
Последнее редактирование:
Знания нужно постигать с азов, как говорится поэтапно.
Так что, если человек хочет что-то понять, то уже давным-давно понял
То что я сейчас начал изучать это вопрос не говорит же о том что мне уже поздно чего либо понимать.
Ситуация прояснилась. Ваша позиция мне ясна. А завуалированные формулировки понять может только подготовленный человек, мы это уже проходили.
В любом случае откланиваюсь. Всем здоровья.
 
Если у вас есть "железка", что на вход принимает данные 64 бит (и туда действительно подаются данные с такой точностью) и на выходе у неё есть DAC 64 бит, то разницу вы сможете получить в сравнении с "железкой" 32 бит.

чего??!! dac на 64 бита? :dash3:
 

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