惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Securelist
O
OpenAI News
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Threat Research - Cisco Blogs
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Google Online Security Blog
Google Online Security Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
N
News and Events Feed by Topic
S
Security Affairs
SecWiki News
SecWiki News
Project Zero
Project Zero
L
Lohrmann on Cybersecurity
P
Proofpoint News Feed
P
Palo Alto Networks Blog
L
LINUX DO - 最新话题
H
Hacker News: Front Page
Recent Commits to openclaw:main
Recent Commits to openclaw:main
I
Intezer
Simon Willison's Weblog
Simon Willison's Weblog
W
WeLiveSecurity
T
The Exploit Database - CXSecurity.com
K
Kaspersky official blog
The GitHub Blog
The GitHub Blog
I
InfoQ
云风的 BLOG
云风的 BLOG
雷峰网
雷峰网
B
Blog
IT之家
IT之家
AWS News Blog
AWS News Blog
Jina AI
Jina AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Google DeepMind News
Google DeepMind News
Spread Privacy
Spread Privacy
N
News and Events Feed by Topic
Security Latest
Security Latest
美团技术团队
C
Check Point Blog
WordPress大学
WordPress大学
T
Tenable Blog
S
Security @ Cisco Blogs
Last Week in AI
Last Week in AI
博客园 - 聂微东
月光博客
月光博客
博客园 - 【当耐特】
S
Schneier on Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
Secure Thoughts
Schneier on Security
Schneier on Security
C
Cisco Blogs
Cyberwarzone
Cyberwarzone

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Кто решает судьбу вашего проекта? Разбираем заинтересованные стороны. BABOK #1 Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Почему кассеты с Dolby звучат то лучше, то хуже: проверяем Dolby B и Dolby C на реальной деке
Денис · 2026-06-13 · via Все публикации подряд на Хабре

Я много раз слышал, что Dolby «убивает верх» и делает кассеты мутными. Решил записать один и тот же материал на Type II с Dolby B, с Dolby C, а потом намеренно перепутать режимы на воспроизведении — послушать и оцифровать. Получилось наглядно, но не стоит воспринимать это как лабораторное измерение. Цифры из спектра тут вторичны. Главная причина, почему одна и та же кассета на разных деках звучит по-разному, — не совпадают уровни, на которых работает аналоговый компандер, плюс состояние ленты и самой деки.

В сравнении Type I–IV и статье про подготовку мастера мы уже ходили вокруг Kenwood KX-1100G и физики ленты. Здесь — про Dolby отдельно и честнее.

Что такое Dolby на кассете (коротко)

Dolby B и Dolby C — разные, несовместимые системы (как и Dolby S). Записали в C — декодируйте в C. Это базовое знание, тут спорить не о чем. Чипы у разных производителей тоже немного расходятся — данность, а не предмет эксперимента.

Суть одна: при записи compander сжимает динамику и поднимает тихие участки относительно шума ленты, при воспроизведении — разжимает обратно. Чтобы картинка сошлась, декодер должен видеть тот же уровень, на который рассчитан encode, с той же АЧХ и той же кривой. Это аналог, не цифровой алгоритм с фиксированной математикой.

Почему на практике всё плывёт

1. Уровень входа декодера (главное)

На каждой деке есть калибровка Dolby level — уровень сигнала на входе IC декодера. Его выставляют по тестовой кассете, service manual и даташиту на чип, с точностью до единиц милливольт. До этого настраивают общие уровни воспроизведения (playback level, azimuth, иногда bias при записи). То же самое — IC энкодера в магнитофоне записи.

Если уровень уехал хотя бы на пару dB — compander работает не в своей точке. На слух: то «глухо», то «шипит», то «дышит» на тихих местах. Перепутать B и C или выключить decode — крайний случай той же проблемы: система ждёт одну кривую, а получает другую (или никакую).

Причины расхождения уровней между деками:

  • износ и старение компонентов;

  • «уплывание» подстроек за десятилетия;

  • дека никогда не калибровалась по мануалу;

  • другая головка, другой тракт, другой чип.

Решение одно: полная калибровка деки по сервисному мануалу, нормальный инструмент (осциллограф, частотомер, тестовая лента, при необходимости — генератор и набор пробников). Не «покрутил на слух в Dolby off».

2. Лента со временем

Сразу после записи и дальше при хранении уровень на ленте проседает неравномерно по частоте — верх уходит быстрее, низ держится иначе. На ленте лежит сигнал, который уже был companded под стандартный уровень. Когда реальный уровень и АЧХ уехали, декодер восстанавливает «не то» — неравномерно, по-разному на громких и тихих фрагментах. Это накладывается на ошибку калибровки деки, а не заменяет её.

3. Возраст дек

Подавляющее большинство дек с Dolby сегодня не откалиброваны и давно поплыли. Им 30–40 лет. Ждать от них точного decode «из коробки» — оптимизм.

Чем B объективно проще и «грязнее» C

Dolby B — более примитивная схема: время атаки и release, пороги срабатывания, качество детектора уровня, неточность кривой кодирования относительно идеала. Отсюда — pumping, breathing, ощущение «ватности» или лишней яркости на сибилянтах и хвостах. Это слуховое восприятие компандированного сигнала, а не поле для красивых таблиц FFT.

Dolby C сложнее, сильнее давит шум, но ещё менее терпим к ошибке уровня и режима — compander агрессивнее, разрыв между «верно» и «неверно» слышнее.

Что именно «портит музыку» в B — определяется перечисленным выше. Гонять Python-метрики по полосам 6–12 kHz для доказательства этого смысла мало: gain-match, спектр после ленты и после ошибочного decode легко вводят в заблуждение, будто мы что-то строго измерили.

Что я всё-таки записал (иллюстрация, не эталон)

Одна Type II, Kenwood KX-1100G, один цифровой мастер с паузой, тонами 1 kHz / 10 kHz и музыкальным куском. Оцифровки без постобработки:

Файл

Запись

Воспроизведение

00_цифровой_мастер.flac

01_кассета_DolbyB_записьB_воспроизB.flac

B

B

02_кассета_DolbyB_записьB_воспроизOFF.flac

B

выкл.

03_кассета_DolbyC_записьC_воспроизC.flac

C

C

04_кассета_DolbyC_записьC_воспроизOFF.flac

C

выкл.

Зачем перепутанные режимы: показать на слух и в паузе, что происходит, когда decode не соответствует записи. Это модель типичной ошибки пользователя («не знаю, с чем писали» / «Dolby выключил, так ярче»), а не измерение качества B против C.

Что слышно без спектrogram:

  • B → B, C → C — шум в паузе терпимый, музыка ближе к тому, что задумывал compander (с оговоркой на B: проще схема, больше «анalog character»).

  • B → OFF — в паузе сильный hiss, на музыке верх часто кажется «живее» — обман: это недодекодированный boost, не «лучше без Dolby».

  • C → OFF — другое искажение: не столько взрыв шума, сколько неправильный тембр — глуховато и одновременно с лишним верхом на отдельных фразах.

Разница уровня 1 kHz тона между оцифровками у меня до ~7 dB — это как раз напоминание, что без выверенного playback level любое сравнение «на слух» или «по RMS» некорректно. Не потому что «Dolby плохой», а потому что уровень на входе чипа не тот.

Отдельной записи «без Dolby / без Dolby» в наборе нет — для честного сравнения её стоит добавить, но главный вывод от этого не меняется.

Почему винтажные кассеты с Dolby часто звучат плохо

  1. Неизвестен режим — на коробке «DOLBY», а внутри B, C или студийная другая схема.

  2. Не совпадает Dolby level на деке воспроизведения (и не совпадал на записи) — см. выше.

  3. Лента постарела — неравномерная потеря верха ломает баланс companded-сигнала.

  4. Дека не обслуживалась — подстройки уехали, калибровка не делалась с момента покупки.

  5. Чужой плеер — нет Dolby C, слабый B, нет доступа к внутренним trimmer'ам.

Практические выводы

  1. Сначала калибровка деки, потом споры про «убивает ли Dolby верх». Service manual, тестовая лента, уровни на входе encoder/decoder IC.

  2. Не путать режимы B / C / S — это не «настройка на вкус».

  3. «Выключить Dolby — стало ярче» — почти всегда признак mismatch, а не улучшения.

  4. Оцифровка архива: если режим неизвестен — пробовать B и off на короткой паузе; окончательное суждение — после понимания, жива ли калибровка вашей деки.

  5. B vs C «кто лучше» — вопрос не туда. C тише при идеальной паре encode/decode и level; B прощает чуть больше на бытовом уровне ошибок, но сам compander грубее. На реальной поплывшей деке оба могут звучать плохо по разным причинам.

Итог

Dolby на кассете работает только когда сходятся: правильный режим (B/C/S), выверенный уровень на encoder и decoder, исправный тракт воспроизведения и лента, которая ещё похожа на то, что записали.

Мой эксперимент с перепутанными режимами — наглядная подсказка, почему старые кассеты непредсказуемы. Измерять ради таблиц centroid и roll-off @15 kHz здесь лишнее: причина в аналоговой калибровке и старении, а не в том, что «B хуже C на 6.6 dB в полосе сибилянтов».

Если дека откалибрована по мануалу — Dolby перестаёт быть лотереей. Если нет — любой режим, включая «off», будет компромиссом с ошибкой.

Спасибо за чтение!

Денис Попков

KMP разработчик в «Black Bricks»

Если вы нашли неточности/ошибки в статье или просто хотите дополнить её своим мнением — то прошу в комментарии! Или можете написать мне в Telegram. Также подписывайтесь на мой ТГ-канал. Там пишу про свои будни, кассеты и винил :>