Обновить
64K+

Звук

Это «ж-ж-ж» неспроста

109,61
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Почему у Audio CD ровно 44 100 Гц: дело не в Найквисте, а в видеокассете

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели2.1K

Если вы хоть раз экспортировали трек из аудиоредактора, копались в настройках звуковой карты или писали код, который что-нибудь проигрывает, вы видели число 44 100. Оно стоит по умолчанию почти везде, в конфиге его набираешь на автомате, как пин-код от своей карты, и вопросов оно обычно не вызывает, потому что объяснение к нему все помнят еще со времен лабораторных по цифровой обработке сигналов.

Я тоже много лет жила с этим объяснением и считала вопрос закрытым, пока не попробовала пересказать его вслух и не споткнулась на последнем шаге: откуда взялись именно эти сто герц сверху? Почему не ровно 44 000, почему не 45 000, почему не 48 000, как у студийного видео? Спойлер для тех, кто не любит интригу, уже вынесен в заголовок, а остальным предлагаю пройти тот же путь, что прошла я, от учебника через подозрительную арифметику к телевизионной развертке, которая до сих пор сидит в каждом компакт-диске и в огромной части музыки на стримингах.

Читать далее

Новости

Обработка цифрового звука фильтрами

Уровень сложностиСредний
Время на прочтение25 мин
Охват и читатели2.4K

В данном материале в максимально простой форме изложены основы обработки цифрового звука, без подробного погружения в теорию цифровой обработки сигналов. Прилагается готовый код на C++ для расчета цифровых фильтров и собственно обработки звука.

Читать далее

xk6-sip: проверка качества звука в нагрузочных и автоматизированных функциональных тестах VoIP/SIP

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели6.6K

Разберём, как в xk6-sip, расширении нагрузочного инструмента k6 для тестирования VoIP/SIP-звонков, устроена проверка качества звука: запись звонка, оценка того, что услышал абонент, по эталону, и как это работает в функциональных тестах и под нагрузкой.

200 OK означает, что АТС соединила звонок, но не означает, что люди слышат друг друга. Исчерпанные порты медиасервера, ошибки NAT, перепутанные медиапотоки, транскодинг на пределе CPU дают звонок с успешной сигнализацией и тишиной, чужим голосом или хрипом в трубке. SIPp и большинство нагрузочных инструментов для телефонии проверяют сигнализацию, а RTP в лучшем случае считают пакетами. Для контакт-центра такой звонок — потерянный клиент, а в отчёте нагрузочного теста он зелёный.

В функциональных тестах телефонии эту проблему обычно решают эталонами: записывают, что должен услышать абонент в каждом кейсе, и сравнивают с записью звонка в CI. Подход рабочий, но эталон на каждый кейс нужно поддерживать, а под нагрузкой его не запустишь. В xk6-sip то же сравнение живёт прямо в скрипте k6 и работает на тысячах звонков.

В статье:

Читать далее

Локальный анализ звонков без GPU. Что происходит на пути от аудио до резюме

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели6.9K

Я хотел проверить не то, насколько хорошо локальная LLM пишет резюме по красивому тестовому диалогу, а что произойдёт с полным пайплайном на обычном телефонном звонке с музыкой, автоответчиком, перебиваниями и плохим звуком.

Я сделал desktop приложение на Tauri, Rust, React и SQLite. Оно распознаёт речь, разделяет спикеров, анализирует тональность, эмоции и риски, а в конце локальная модель формирует резюме и рекомендации. Всё работает на компьютере, интернет нужен только для скачивания моделей.

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

Читать далее

Я написал свой музыкальный плеер со своим стримингом: Android, Windows, Linux и сервер на Rust

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели6.7K

У меня есть коллекция музыки, которой нет ни в одном стриминге: FLAC, японские альбомы, редкие релизы. Слушать её хотелось так же удобно, как Spotify, с телефона и компьютера, с текстами и итогами года. Готовые решения закрывали задачу по кусочкам, поэтому я написал своё: Nami — плеер для Android, Windows и Linux и собственный сервер на Rust. Внутри: синхронизация между устройствами через одну SQL‑таблицу вместо девяти, караоке‑тексты с выравниванием по словам нейросетью прямо на телефоне, фуригана и ромадзи для японских песен, bit‑perfect‑вывод на USB‑ЦАП и сервер, который занимает 69 МБ памяти.

Читать далее

Синхронизация камер по звуку без хлопушки: что я понял, пока делал плагин для Premiere Pro с нейросетью

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели5K

Я монтажер, не программист. За месяц вместе с нейросетью сделал плагин для Premiere Pro: он синхронизирует камеры с рекордером по звуку, режет паузы и дубли и собирает секвенцию. Историю я уже рассказывал на vc.ru, а здесь будут внутренности: как найти сдвиг между файлами, почему одного порога корреляции мало, как отличить готовый ролик от исходника и почему тесты на каждый релиз оказались важнее любого кода.

Сразу оговорюсь: код писала нейросеть под мою постановку, а я проверял на своих проектах. Поэтому это не статья «смотрите, как красиво». Это статья про задачи, которые пришлось решить, грабли, на которые наступил, и числа, которые пришлось намерить.

Читать далее

Как нейросеть переводит видео. Часть 2: русский длиннее не текстом, а звуком

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели6.6K

Я делаю speeek, сервис дубляжа видео, один. В первой части был вход конвейера: как звук становится текстом с таймкодами и что Whisper с этим текстом вытворяет. Эта про середину: перевод и укладку перевода в тайминг оригинала.

Середина — самое больное место всего проекта. Распознавание я более-менее победил, синтез покупаю готовый. А вот что делать с русской фразой, которая не лезет в секунды английской, я до сих пор не уверен. В конце будет эксперимент, после которого стало немного понятнее.

Читать далее

Локальный ассистент для зумов, часть 8: модель, ради которой я поменял диаризацию за один вечер

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели8.5K

В третьей части я написал, что не вижу чужой модели, ради которой стоит менять связку. sherpa-onnx на диаризации, свой второй проход поверх, канал собеседников двадцатиминутного звонка размечается минут семь. Жить можно.

23 сентября NVIDIA выложила Nemotron 3 Diarization. Вечером 28-го я включил её в разбор своих созвонов. Тот же канал — три секунды.

Читать далее

Оффлайн телесуфлёр поверх Instagram и TikTok: распознавание речи на телефоне, выравнивание по словам

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели8.7K

Мой телесуфлёр для Android называется Суфлёр. Он распознаёт речь на телефоне и прокручивает текст по голосу поверх Instagram, TikTok или системной камеры. Во время записи видео Android отдаёт микрофон камере, и Суфлёр получает звук параллельно с ней через службу специальных возможностей. Такое исключение описано в разделе 5.4.5 Android CDD. Место в сценарии Суфлёр находит, выравнивая восемь последних распознанных слов по всему тексту. Ещё в статье есть правила, которые понадобились трекеру для английского языка.

Читать далее

Как я выбирал софт для измерения параметров усилителей и почему остановился на Room EQ Wizard

Уровень сложностиСредний
Время на прочтение42 мин
Охват и читатели6.7K

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

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

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

Измерения нелинейных искажений сложно выполнять корректно: они требуют высокой точности трактов, чистых условий и хотя бы минимальной стандартизации методик. Именно поэтому я хотел тщательно во всём разобраться, так как мой текущий инструмент показывал некоторые проблемы, и я не знал в точности почему.

Читать далее

Как Claude Code помог мне сделать звук на мансарде приятным

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели6.8K

Всем привет. Меня зовут Антон Будон и в целом я занимаюсь маркетингом и обычно использую Claude Code для анализа трафика, настройки рекламных кампаний, SEO и создания лендингов. Дома же подвязал Клода напрямую к телеграму (наверное таких статей уже много) и общаюсь с ним напрямую как с помощником‑напарником по личным делам.

Я не являюсь профессиональным аудиофилом, и не ставлю себя в этой статье как эксперт по звуку либо звучанию, но у меня получилось что‑то что реально изменило восприятие звука и наконец‑то я понял зачем же по‑настоящему нужен эквалайзер.

Дорога к этому была не целенаправленная, а просто личностный интерес. Две недели назад я купил усилитель Technics su‑v505 и колонки Kenwood ls-90, годов 80х. Захотелось наконец‑то заново послушать красивый «старый звук» после всяких Алис и JBL, ну и лет 10 тому назад у меня всё‑таки был длительное время усилитель Marantz и колонки Sonus Faber Concertino, которые мне доставляли огромное удовольствие. Потом полоса жизни, переездов, семья, дети и все всегда уходило на задний план и в этот момент я решил что надо вернуться к прослушиванию музыки на чем‑то более качественном (я бы сказал ностальгическом).

Что имеем. Колонки Kenwood LS-90 1980 года: три полосы, фазоинвертор с портом спереди, 40–20 000 Гц, 8 Ом, чувствительность 91 дБ. Усилитель Technics SU‑V505 1983 года: 60 Вт на 8 Ом, Class A. Всё вместе обошлось примерно в 40 000 ₽ на вторичке.

Читать далее

Почему все отказываются от электрогитар Kuruisi?

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели15K

Привет, Хабр! На любую электрогитару можно установить дорогие звукосниматели, и из этого что-то получится. Если результат не порадует, фирменные датчики останутся в вашем распоряжении. Потребуется только заменить саму гитару.

Благодаря маркетплейсам и прямым поставкам из Китая, хорошие дешёвые звукосниматели сегодня тоже доступны. Есть и ещё более экономный путь — замена магнитов в штатных датчиках инструмента. Пересылка магнитов — та ещё заморочка, но со второй попытки всё получается.

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

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

Результаты можно будет услышать на видео

Сонар-управление + Asteroids. Игра на 50 КБ, которой нужен флагманский смартфон

Время на прочтение6 мин
Охват и читатели6.6K

Телефон лежит на столе или в другой руке. Сбоку от него в воздухе ладонь. Двигаешь ладонью — корабль на экране поднимается и опускается. Экрана не касаешься. Камера не нужна: телефон пищит ультразвуком и слушает эхо своим микрофоном.

Играть: sonaroids.app (веб-приложение на iPhone; для Android есть .apk — ссылка на главном экране игры). Код: github.com/neokrasav4ik/sonaroids, MIT.

UPD. Заголовок устарел, и это хорошая новость: на Mi 9 Lite, середнячке 2019 года, играется так же, как на iPhone 16. Помогли широкий зонд (управление примерно вдвое чище) и приложение для Android со своим звуком, правильной громкостью и выбором микрофона. Новые разделы статьи — «Широкий зонд» и «Android: приложение вместо браузера».

Читать далее

Ближайшие события

Музыка, которая ждёт игрока: превращаем любой mp3 в адаптивный игровой саундтрек

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели7.1K

Я пять лет вожу настольные ролевые игры как мастер. И пять лет воюю с музыкой.

Знакомая картина: партия торгуется с контрабандистом, напряжение на столе настоящее — и тут трек просто заканчивается. Тишина. Или автоплей подсовывает что-то бодрое из соседнего плейлиста. Магия момента разбита, а я судорожно переключаю вкладки, как будто проваливаю проверку восприятия.

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

При этом видеоигры решили эту проблему десятилетия назад. В любой RPG музыка города крутится, пока ты в городе, а стоит спуститься в склеп — тема мрачнеет вместе с тобой, точно в долю. Композиторы пишут игровую музыку секциями с loop-точками и маркерами переходов, а движки вроде FMOD и Wwise собирают из этого «музыку, которая реагирует».

Но моя фонотека — это обычные mp3. У них есть начало и конец, и им плевать на мою партию.

Так родился проект: инструмент, который берёт любой трек и заставляет его вести себя как игровой саундтрек. Под катом — вся дорога: от теории музыки и алгоритма Фута из 2000 года до нейросетей 2025-го, от сэмпл-точного планирования в Web Audio до археологии сломанных зависимостей. С честными цифрами, где нейросеть проиграла эвристике.

Читать далее

YuE2 Studio: бесплатная замена Suno на своей видеокарте, и почему я перешел с Python и Gradio на Rust, Tauri и C++

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели13K

Всем привет, любите ли вы генерировать музыку так, как люблю я? Можете не отвечать, скорее всего нет. Но вот с ужесточением правил Suno, генерировать музыку там стало просто бессмысленно (кто не в курсе с сентября, они закрыли скачку треков).

Потому я собрал десктопную студию в стиле Suno для YuE2, новой открытой модели генерации песен от команды M‑A‑P (Multimodal Art Projection). Пишете стиль и текст, получаете полноценную песню с вокалом и аккомпанементом в 48 кГц стерео. Всё считается на вашей видеокарте: без облака, подписок, очередей и без установки Python.

Читать далее

Умный офис начинается с вентиляции, а не с приложения

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели5.6K

Еженедельная планёрка, восемь человек, обычная переговорная. Через 15 минут датчик показывает 800 ppm CO₂. Через 30 минут — 1000 ppm. К концу часа люди выходят из комнаты и до обеда ползают по офису как вялые мухи. Все считают, что это «просто тяжёлое совещание».

Это не тяжёлое совещание. Это вентиляция, которая спроектирована по всем нормам и правилам — и работает в одном и том же режиме независимо от того, что происходит в помещении. Два человека, двенадцать, никого — ей всё равно. Как кондиционер в маршрутке: один режим на всех, и тот выбрал водитель. Регулировка в такой системе не предусмотрена в принципе. И никакое приложение, никакой дашборд и никакая «система умного офиса» этого не починят.

За двадцать лет мы спроектировали и построили сотни переговорных и десятки тысяч квадратных метров офисов, а параллельно делаем платформу управления офисной средой. Из-за этого видим офис с двух сторон одновременно: как он устроен физически и чего от него хотят системы управления. Разрыв между этими картинками — главная причина, почему «умный офис» так часто получается тупым.

Читать далее

Усилители: где прячутся различия

Уровень сложностиСложный
Время на прочтение23 мин
Охват и читатели11K

Это вторая часть шестой статьи цикла о том, почему акустика, которая хорошо измеряется, может плохо звучать.

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

Сейчас мы заглянем внутрь усилителя, рассмотрим выходной каскад и то, как каждое решение на уровне схемотехники влияет на спектр искажений и зависимость их от уровня сигнала. Разберём и обратную связь — что она убирает и что добавляет. Посмотрим, что происходит у шин питания, и вернёмся к вопросу, с которого начали.

Читать далее

Устал от тяжёлых DAW и написал свою на Python

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели7.8K

19.09.2026 — к слову, очень красивая дата для того, чтобы доделать столь значимый для меня проект, как 3BIT. А вернее его одну из версий, причём самую лучшую на мой взгляд — 3BIT DAW. Программа, позволяющая в одном окне сочинять биты, ставить их на дорожки и объединять с вокалом или живой музыкой по своему желанию, прослушивать обработанную версию и править там, где это необходимо. Простая, с интуитивно понятным интерфейсом, доступная каждому программа, позволяющая легко миксовать собственные композиции. Ну подарок для всякого музыканта, от гитариста до пианиста. Но как к этому всё пришло?

На самом деле, идея создать свою open source DAW меня посещала давно — правда, тогда я надеялся лишь на редактор изначальных композиций. Однако после, когда действительно вошёл в процесс, приступил к изучению синтеза звуков. Оказалось, что раз любой звук — это волна, следовательно, мы можем управлять звучанием через синусоиду. Синусоида — чудесный объект, инструментарий работы с которой позволяет менять волну под свои нужны, а значит и звучание. Понимаете, это как поезд: изменяешь синусоиду, поступающую на звуковую карту, значит изменяешь и звучание, воспроизводимое средствами воспроизведения звука (наушники, динамики). Единственный необходимый дополнительный механизм в данном случае — обеспечение безопасности, либо же так называемая защита от дурака, то есть ограничение максимального уровня громкости. Реализовать это проще, чем рассказать об этом, если честно, но обо всём по порядку.

Читать далее

SoftSerial: Двоичный ЦАП на STM32 (или формирователь цифрового паттерна)

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели8.5K

В этом тексте я показал как сделать универсальный полностью конфигурируемый однобитный ЦАП на основе микроконтроллера STM32F407ZG.

Суть проста.
В программе есть RAM массив двоичных семплов длинны N, которые надо отправить "на улицу" со строго выдержанным микросекундным периодом.

Есть частота дискретизации, задаваемая частотой переполнения аппаратного таймера.

Надо выдать на GPIO пин этот поезд из нулей и единиц. Причем сделать это так, чтобы в ARM процессоре было не более 2х прерываний: половина перемещения и окончание перемещения.

В тексте представлена пошаговая методичка того как это сделать.

Читать далее

Про то, как я научил своего аватара снимать ролики по сценарию без ИИ‑генерации видео (часть 2)

Уровень сложностиПростой
Время на прочтение39 мин
Охват и читатели7.9K

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

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

В этой статье — о том, что я успел доделать за два месяца.

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

Потом у моего цифрового двойника появился соведущий — робот аЙгорь. Пришлось разбираться уже с двумя персонажами, голосами, расположением, мимикой и жестами.

Показываю, как всё устроено: реальные фрагменты JSX и сценариев, схемы, интерфейс программы и много-много GIF.

В конце — первые результаты публикаций, наблюдения о Shorts и планы перехода на горизонтальный формат.

Читать далее
1
23 ...