All streams
Search
Write a publication
Pull to refresh
4
0.3
Send message

Написана полная чушь. Разберитесь что такое КНИ.

Это не оспаривание определения КНИ, а слова про то, что чувствительность уха к нему будет падать вместе с громкостью воспроизведения. Её придётся выкрутить вверх на неестественный уровень (хотя, пожалуй, и меньше, чем на 50 дБ = 1 / 0.3%).

Это совершенно другая область, вы осознаете это?

Лучше вы осознайте, что это та же самая область. Просто PCM без нойз-шейпинга жить может, а DSD - нет. Там другие и более высокие требования к нойз-шейпингу.

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

Например, вы можете биты из .dsf-файла переложить* в "нормальный" формат семплов (int16) и записать в .wav с частотой дискретизации 44100*64 Гц. И это будет звучать как надо.

Обратите внимание на 16-bit PCM и 44100*64 Hz. И на то, что Audacity не поддерживает DSD, но проигрывает трек прекрасно. Сигнал усилен. Лесенка от рисования линий без сглаживания.
Обратите внимание на 16-bit PCM и 44100*64 Hz. И на то, что Audacity не поддерживает DSD, но проигрывает трек прекрасно. Сигнал усилен. Лесенка от рисования линий без сглаживания.

А после применения ФНЧ вы даже увидите привычный PCM-сигнал (ну и теперь лишние 44100*63 семплов можно будет выкинуть и тем самым завершить ресемплинг).

Вы переводчиком пользоваться умеете?

Не надо так воинствовать (и так уповать на переводчик).

Где здесь написано про КНИ?

Скоррелированный с сигналом шум квантования** - это и есть нелинейные искажения, коэффициент которых нас интересует.

Пока нет дизеринга, он весь скоррелирован (THD+N = THD).

После достаточного дизеринга он весь декоррелирован (THD+N = N).

Для уменьшения шумов квантования добавляют шум!

Уменьшить шум квантования нельзя. Внимательнее: для уменьшения неприятного эффекта. Речь о том, что шумоподобный шум (зачем тавтология - см. **) звучит лучше, чем искажения сигнала.

Причем здесь АЦП? Cd поставляется уже записанным, вы описались и имели в виду ЦАП?

Вы так настроились на военный лад, что не замечаете, на что ссылаетесь. Сухов здесь говорит про оцифровку (запись на CD ведь откуда-то появляется). Про то, что при оцифровке нужен headroom между пиковым уровнем сигнала и между 0 dBFS. С 18-битным АЦП этот headroom можно уместить в избыточных для компакт-диска битах. А с 16-битным АЦП он становится проблемой.

Это патент. Вы уверены что этот патент внедрен в КАЖДЫЙ резак?

Это стадия отрицания? Очевидно, системы нет в каждом станке, её изобрели-то не сразу. Если хочется углубиться - пожалуйста. Мне не хочется.

https://www.psaudio.com/blogs/copper/around-the-world-in-80-lathes-part-three#:~:text=DDL

используется сейчас при изготовлении высококачественных пластов?

Но какая разница? Винил же сейчас и так обычно с цифры пишется.

* чтобы не пришлось парсить .dsf, надо взять одноканальный файл.

** какой же он шум, если он совсем не шумоподобный, а очень даже пилоподобный? Да, его ещё называют ошибкой квантования, этот термин точнее.

Про ДД. Следует не только тупо верить цифрам, но и понимать их смысл.

Согласен. В статье без побитого рисунка 4 смысла мало, вот целая версия.

Легко убедиться, что при уровнях сигнала порядка -50 дБ и ниже искажения CD переходят порог допустимых 1 %.

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

Этот 1% надо ощутить - поднимите громкость во время тихого трека на 50 дБ (чтобы получить требуемый 1%, а не 1% от 0.3%). После удара по ушам на следующем треке задумайтесь, был ли прав Николай Сухов, когда придумал измерять КНИ ниже номинального уровня. Ограничивать CD нелинейными искажениями больно и опасно.

Но ладно, нелинейные искажения - это всё равно плохо. Как бороться с ними в цифровом звуке - писали за 15-20 лет до Сухова. Почему он ничего об этом не знает? Тогда уже начали говорить про DSD, который без этих методов не работает.

DITHER. To reduce the effect of granulation noise, an additional noise signal can be added to the input... - 1985
Дальше там про нойз-шейпинг ("noise can be placed in the spectral guard region...").
И про различимость сигнала ниже -96 дБ ("this is one way to prevent a digital audio system from sounding any different than an analog system").

[для избежания перегрузки] в реальной аппаратуре цифровой записи за номинальный принимают уровень на 12...15 дБ (т.е. на пикфактор реального музыкального сигнала) меньше предельного входного для АЦП.

Для CD неактуально со времён 18-битных АЦП (которые на момент написания статьи уже наступили), да и при перезаписи с аналоговой ленты тоже.

многие фонограммы, воспроизводимые с CD, приводят к быстрой утомляемости и имеют заметно худшую «глубину стереопанорамы», чем та же фонограмма, воспроизводимая с аналоговой виниловой грампластинки

Винил может быть осквернён цифрой с 70-х годов (малоизвестным способом), что как бы доказывает превосходство уже тогдашней цифры, потому что никто осквернения и не слышит. Variable pitch/depth-компьютеры для станков. Они работают на цифровых линиях задержки. АЦП -> ЦЛЗ -> ЦАП -> Резак:

patents.google.com/patent/US4348754A/en (1-я картинка полезна)

И да, у винила ДД намного шире чем у CD.

Очевидно нет.

Та же советская реклама компакт-дисков, что и ниже (впрочем, шум немой канавки может быть убедительнее этих таблиц)

Когда говорят о превосходстве чего-то где-то там, имеют в виду степень компрессии некоторой поп-музыки ("война громкостей"), а не характеристики носителей.

Если музыканты (или кто-то над ними) захотят "погорячее", то ограничения носителя им помешают и поэтому слушатели в войне против своих любимых музыкантов (или кто там с кем воевал) рассматривали винил как союзника.

А если захотят "похолоднее", то винил даст знать о своём недостаточном ДД: либо пшшш, либо компрессовать больше, чем на CD, либо возвращаться к пику развития винила, когда он начал обзаводиться шумодавами (dbx и CX).

Ошибку усугубляет DR-Meter, который путает термины (он измеряет не ДД) и накидывает баллы за щелчки. Для оценки, скажем так, макродинамики (вариаций громкости в крупном масштабе, с усреднением громкости за 3 секунды) есть хороший EBU LRA. Распространённой метрики для микродинамики, которую бы не перекашивало от одного щелчка, вроде нет.

Полезное на эту тему:
Loudness Range (LRA) - Design and Evaluation
About Dynamic Processing in Mainstream Music

И про необходимость дизеринга писали ещё в советские времена.

Накадзима Х., Огава Х. Цифровые грампластинки. — М. : Радио и связь, 1988
Накадзима Х., Огава Х. Цифровые грампластинки. — М. : Радио и связь, 1988

шум коррелирует с сигналом

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

На протяжении всей ветки комментов мысль крутится: "какая фигня получается, если писать цифру на ленту, цепляясь за звуковые технологии" (ну, какая-какая, дешёвая).

У DAT всё-таки в предках видеомагнитофон (наклонно-строчная запись), скорость головок-относительно-ленты по сравнению с обычной кассетой выше то ли в 60, то ли в 80 раз.

Тут ещё можно вспомнить, что цифровое аудио началось с видеомагнитофонов (как ещё добыть мегабитные скорости?) - к ним приставили PCM-адаптер. Потом формат звука с адаптера скрестили с лазердиском...

Как дышло?

  • Используйте старые компьютеры, не увеличивайте количество электронного мусора

  • Утилизируйте старые компьютеры, у них низкая энергоэффективность

Это телефон без Wi-Fi из 2011 года, ровесник iPhone 4s и первых Nokia на Windows Phone.

авторам левой картинки удалось расширить диапазон цветов, манипулируя значением L

Наверняка попроще:

Значения a и b при практической записи цвета ограничены диапазоном [−128, 127]

Взяли для палитры значения из этого диапазона (L=75, a=-128...127, b=-128...127), не задумываясь о недопустимых цветах, и перевели их в RGB, обрезая их там при необходимости.

Приземлённый пример (YCbCr вместо Lab): JPEG с нулевой яркостью (Y=0).

"Кошмарный сон Казимира Малевича"
"Кошмарный сон Казимира Малевича"

JPEGsnoop подтверждает:

  YCC histogram in DC:
    Y  component histo: [min=    0 max=    0 avg=    0.0]
	
  Average Pixel Luminance (Y):
    Y=[  0] (range: 0..255)

Но также намекает, что вместо вместо сложных преобразований для сохранения "корректной яркости запрещённых значений вне RGB-куба" декодеры делают простое преобразование с искажением яркости: clip(data.ycbcr2rgb(), 0, 255)

  RGB histogram in DC (before clip):
    R  component histo: [min= -179 max=  178 avg=   -0.7]
    G  component histo: [min= -134 max=  135 avg=    0.6]
    B  component histo: [min= -226 max=  225 avg=   -1.0]

  RGB histogram in DC (after clip):
    R  component histo: [min=    0 max=  178 avg=   49.7]
    G  component histo: [min=    0 max=  135 avg=   27.6]
    B  component histo: [min=    0 max=  225 avg=   62.8]

  Brightest Pixel Search:
    YCC=[-1024,-1024,-1024] RGB=[  0,135,  0] @ MCU[  0,  0]

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

красный цвет почти перестанет восприниматься. В сцене останутся «темное» и «светлое», но не будет цвета. Однако, стоит добавить к красному свету синий, как в сцене буквально вспыхнут синий и красный цвета. Об этом эффекте никто не пишет, в пространстве знаний о цвете его нет. Но его можно увидеть своими глазами!

Как-то это непонятно. Не пишут о каких-то особенностях переходного процесса - о восприятии цвета до адаптации к новому освещению, если освещение до и после - очень необычное (а не 2700K->6500K, например)?

Реал-тайм это хорошо, но в MPC так не получится

Гугл говорит, что старая версия v3 2020 года имела hlsl-шейдеры специально для MPC.

И что существует путь для glsl:

  1. glsl-шейдер будет применяться через libplacebo, упомянутую в посте

  2. libplacebo подключается к MPC в виде AviSynth-плагина (при этом avs-скрипт заканчивается примерно так)

  3. сам avs-скрипт помимо неудобного варианта по умолчанию (открывать в плеере avs-скрипт, путь к видеофайлу прописывать в скрипте) ещё может прозрачно подключаться к MPC через DirectShow-фильтр; таким образом к MPC подключают SmoothVideo Project[1][2][3]

Или то же самое через VapourSynth (vs-placebo + чей-то пример запуска здешнего шейдера + DirectShow-фильтр вместо core.ffms2.Source в примере).

Путь, конечно, выглядел бы привлекательнее, если бы кто-нибудь им уже ходил и делился впечатлениями опытом.

Я просто к тому, что "первый" можно считать не привязанным к конкретному числу (может, он на самом деле соответствует "-1" или "A" или ещё чему), как "последний".

В зависимости от сферы или нумерация с нуля, или нумерация с единицы будут доставлять неудобство. Но нумерация с нуля это неудобство доставляет в высокоуровневых задачах, где есть возможность, например, раскошелиться на hashmap.

PS: Древний как ... анекдот: а у вас в исходном коде тоже есть месяц "Нуллябрь" ?

Значит, у вас есть "послябрь".

Хотя, как просто могло бы быть в альтернативной реальности

Если бы летоисчисление начали с нуля. Теперь "человечество в каждом поколении учится", что XXI век начинается не в 2000 году, а перед годом 1 шёл год -1.

а - мы нулевой раз отсчитали от 0 - ну даже кринжово както звучит

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

Вот Ada использует атрибуты 'First и 'Last.

Если рассматривать Lua как язык для взаимодействия с C и прочими языками с индексацией с нуля, то она грешит, нарушая их правила - создаёт несогласованность, провоцирует лишние ошибки на единицу. Но создателям языка так захотелось, это их творение.

Шейдер позиционируется как достаточно быстрый для реалтайма. Перекодирование с этим осуждаю вместе с автором шейдера:

Re-encoding anime into 4K should be avoided as it is non-reversible, potentially damages original content by introducing artifacts, takes up to O(n2) more disk space and more importantly, does so without any meaningful decrease in entropy (lost information is lost).

Почему мучить? D не хватает хотя бы сетевого эффекта (он будет непопулярен, потому что он непопулярен), Rust отрицает Си-подобность и декларирует, что ради безопасности можно много чем пожертвовать.

Мучения где-то впереди. Государства раньше в языки программирования не лезли, также Rust всё чаще будет более дешёвым выбором для бизнеса.

Если раньше C++ было сложно изучать, то с новыми стандартами неофиту изучить его практически невозможно

Фразой "современный C++" можно пугать с момента выхода одноимённой книги Александреску в 2001, хотя некоторые вещи с тех времён стали проще.

За "Си с классами", что ли, сбрасывают с обрыва, как за каждый unsafe-которого-можно-было-избежать в расте?..

Я к этому не притрагивался, но CMake с 2019 предлагает какое-то автоматическое разбиение:

BATCH When in this mode CMake determines which files are grouped together. The UNITY_BUILD_BATCH_SIZE property controls the upper limit on how many sources can be combined per unity source file

Понимаю, что условный Pi + корпус + акб будет стоить наверное дороже

Стоит дороже, но зато производительность хуже.
С расширяемостью проблемы, но зато интерфейсов меньше.
Зарплата не очень, зато работа сложная.

Самое печальное в железе на Intel N150 и прочих - что Intel не стал обновлять процессоры спустя два года. Микроархитектура ушла на два поколения вперёд (Gracemont -> Crestmont -> Skymont), но в этих процессорах осталась старая.

Исторические фото - да через нейронки-украшатели...

Information

Rating
2,441-st
Registered
Activity