Обновить
128K+

Звук

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

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

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

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

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

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

Читать далее

Новости

SoftSerial: Двоичный ЦАП на STM32

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

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

Читать далее

sip2go: Альтернатива SIP клиентам для Android

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

Однажды заказчик, которому я разворачивал офисную телефонию спросил меня: "А можно нашим сотрудникам поставить на телефоны SIP клиенты, чтобы их разговоры с клиентами проходили через офис, попадали в CRM и записывались?"

Мысль заказчика понятна: Почему бы просто не поставить софтфон на мобильник и не настроить его на свой сервер?

Но есть несколько причин, почему это работает откровенно плохо.

Читать далее

Электрогитара «Ласточкин хвост», версия 2

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

Привет, Хабр! Моя кастомная самоделка понравилась одному из коллег по электрогитарному увлечению. И он не только попросил изготовить для него экземпляр ультралёгкой «стрелы» с забавным оформлением, но и предложил заманчивые улучшения, которые мы скоро увидим и услышим.

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

Читать далее

Локальный ассистент для зумов, часть 6: полчаса тишины, которых не было в протоколе

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

Шестая часть про локальный ассистент для созвонов. Встреча 15 сентября: канал собеседников умирал четыре раза, в стенограмме 33 минуты дыр из 65, а протокол вышел на шесть разделов и ни слова об этом. Почему тишина пропавшего канала для модели неотличима от согласия, что такое факт о записи против речи, куда девалась строка о неполной записи на пути к модели, как паспорт производной узнаёт об оговорке, и почему два внешних ревьюера нашли один и тот же дефект, который две тысячи тестов не видели.

Читать далее

Генератор музыкальных видео на Python: зерно раздуло файл в 13 раз, спектр врал на тишине, AV1 выиграл втрое

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

Я отрендерил трёхминутный ролик из одной статичной картинки и получил файл на 472 МБ. Виновным оказалось плёночное зерно: шум амплитудой меньше 2 % шкалы, который почти не видно, умножает размер видео на тринадцать, а попиксельный — на тридцать три.

Разбираюсь, почему межкадровое сжатие ломается именно о шум, чиню это тремя способами (зерно блоками, другой кодек, синтез зерна в AV1) и меряю результат по VMAF: при одинаковом качестве x264 просит 15.2 Мбит/с, а AV1 — 4.4. Заодно ловлю собственный визуализатор спектра на вранье — на цифровой тишине он бодро плясал на 0.885 от полной высоты — и разбираю три грабли, включая пустую строку в argparse, которая вписала слово «использование» внутрь prog.

Читать далее

SoftSerial: Двоичный АЦП на STM32 (или самодельный логический анализатор)

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

Можно ли на STM32 реализовать однобитный ADC?
Причем без использования аппаратного ADC.

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

При этом во время чтения N однобитных семплов должно произойти не более 2х аппаратных прерываний.

Да, можно.

Читать далее

Усилители: реальность под нагрузкой

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

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

В первой статье выяснилось то, что АЧХ суммирует всю поступившую энергию независимо от времени её прихода. Во второй — что помещение добавляет к звуку большое количество отраженных копий и резонансов, с которыми надо научиться дружить. В третьей — что качество воспроизведения низких частот сухие цифры характеристик не отражают. Четвёртая спустилась глубже — до самого динамика: идеального решения не существует, а ошибки проектирования после покупки уже не исправить. Пятая (ч.1 и ч.2) была посвящена искажениям: что это такое, почему порядок гармоники важнее её абсолютной величины, и почему слух отзывается на эти явления совсем не так, как измерительный прибор. На тот момент все закончилось заменой усилителя, но проблема с высокими частотами осталась на месте.

С усилителями получилась занятная картина — эти устройства незаметно присутствовали фоном практически с самого начала цикла. Уже в первой статье я сознательно отложил разговор о них приняв допущение об их невиновности по сравнению с динамиками: измерительный стенд, синусоида, резистивная нагрузка и красивые цифры. Позже, в пятой, тема снова возникла вскользь — упоминались выходной каскад класса B, режекторный фильтр и мысль о том, чтобы управлять током вместо напряжения. Каждый раз разговор откладывался, и вот настал момент, когда откладывать дальше некуда.

Главный вопрос звучит просто: все ли усилители звучат одинаково? Когда происходили описываемые события готового ответа у меня не было. Понимание приходило постепенно, шаг за шагом. Мешало то, что распутывались сразу две нити, усилитель и источник сигнала, и понадобилось несколько заходов, чтобы понять, кто из них за что отвечает. Поэтому объяснение первопричин моего недовольства и разделилось надвое: источникам будет посвящена отдельная статья.

Читать далее

Вы просили вернуть Suno v5, а мы сделали лучше. Встречайте Grom Zvuk

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

В мире генеративного ИИ всё меняется стремительно. Этим летом музыкальное ИИ‑сообщество столкнулось с сюрпризом: разработчики Suno навсегда отключили полюбившиеся многим старые версии моделей (v4, v4.5, v5 и v5.5).

Пользователи нашей ИИ‑платформы GPTunneL (агрегатора нейросетей) массово жаловались: пропал тот самый вайб, а новые алгоритмы стали слишком жесткими. К тому же в Suno всегда была одна фундаментальная проблема, которая бесила многих креаторов — там нельзя было просто взять и поменять текст в уже готовом, сгенерированном треке.

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

Сегодня, 18 сентября, мы официально запускаем Grom Zvuk — нашу собственную музыкальную ИИ‑модель. Она работает на наших серверах, выдает крутое качество, делает невероятные каверы и стоит дешевле западных аналогов. Рассказываем, как она устроена и на что способна.

Читать далее

Локальный ассистент для зумов, часть 5: зачем локальному ассистенту облако и что уходит наружу

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

Пятая часть про локальный ассистент для созвонов. В первой части я написал: ничего не уходит в облако. Облако появилось на второй день проекта, потому что большая модель одним чтением стенограммы находила то, чего локальная не видела. Что уходит с машины при каждом из пяти тумблеров и в каком объёме, почему остался Opus, как каждая третья ревизия не доезжала из-за усилия, а не размера промпта, и где сегодня проходит граница между локальным и облачным.

Читать далее

FastWave: как мы сделали самую лёгкую диффузионную модель для BWE

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

Привет, Хабр! Меня зовут Никита Кузнецов, я студент мастерской по сервисам и платформам ИИ Инженерно-математической школы НИУ ВШЭ и VK. Хочу поделиться историей и техническими подробностями нашего проекта FastWave, который был реализован под руководством Максима Каледина, доцента ФКН НИУ ВШЭ, и Александра Тараканова, исследователя AI VK и доцента ФКН НИУ ВШЭ. Мы разработали лёгкую диффузионную модель для восстановления высокочастотных деталей звука (BWE, Bandwidth Extension). Она повышает частоту дискретизации любого аудио до студийных 48 кГц, весит всего 1,3M параметров и быстро работает.

Читать далее

Объём звука. Как устроена акустика интеллектуальной колонки СберБум 2.0

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

Салют, Хабр! 

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

В новом поколении колонок мы поставили себе задачу дать её владельцам уникальный пользовательский опыт и выстроить свой фирменный звук. Так появилась мощная стационарная колонка СберБум 2.0. Устройство премиум-класса, звучащее как Hi-Fi начального уровня.

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

Читать далее

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

Перепеть песню и пересобрать код: почему это законно и что делать авторам в эпоху ИИ

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

В магазине играла «та самая» песня — но это была не она: та же композиция, переигранная заново и на два с половиной тона ниже. Авторское право защищает выражение, а не идею, — но пересборка не отменяет прав на само произведение. Разбираю, что это значит для авторов в эпоху ИИ.

Читать далее

Локальный ассистент для зумов, часть 4: что происходит после кнопки Стоп — и почему вторая модель говорила в пустоту

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

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

Читать далее

Squier Affinity — годная электрогитара, или так себе?

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

Привет, Хабр! Наверное, все знают, что такое аффинаж. В лихие 90-е один знакомый, исследовавший способы добычи драгоценных металлов из радиодеталей, непреднамеренно осуществил редчайшую химическую реакцию гремучего золота, после чего забросил опасные попытки и предпочитает о них не вспоминать.

Английское слово «affinity» обозначает химическое сродство или родственную близость, что применительно к названной им линейке средних по цене и качеству электрогитар Squier недвусмысленно намекает на приближение к заветному Fender, как аффинаж, промышленный или подпольный, шаг за шагом приближает металл к чистоте.

Так это или нет, мы сейчас увидим и услышим.

Читать далее

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

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

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

Про диаризацию на рабочем созвоне: как размечался эталон, почему в системном канале нет твоего собственного голоса, чем закончился A/B четырёх эмбеддеров (место в бенчмарке VoxCeleb никак не предсказало результат на живой записи), что показали VibeVoice и MOSS и почему адаптивный фильтр не вычитает эхо из микрофона.

Читать далее

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

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

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

Читать дальше

FM‑синтез звука в браузере. Часть 2

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

Рассмотрим FM-синтез на реальном примере. Сделаем эмулятор синтезатора Yamaha DX7 и добавим в него возможность читать картриджы с инструментами.

Читать далее

Чтобы осуществить эту доработку электрогитары, мне пришлось выковать специальное сверло

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

Привет, Хабр! Совсем неожиданно получилось так, что экспериментальная минималистичная электрогитара «Ласточкин хвост», которую предполагалось просто собрать, опробовать и вскоре обменять на что-нибудь интересное, стала моим любимым инструментом на каждый день.

Всего-навсего 1800 граммов массы, идеальная эргономика и именно такое звучание, какого мне хотелось, в сочетании с оригинальным внешним видом, покорили моё сердце навсегда.

Однако совершенству нет предела. Многие гитаристы постоянно модифицируют свои инструменты, и я тоже этим увлекаюсь.

Сейчас вы всё увидите и услышите
1
23 ...