PunchFunke Akindele sparks online debate after missing Kamo’s movie premiereBollywood HungamaHanuman Ansh team meets Home Minister Amit Shah in New DelhiESPNTransfer rumors, news: Arsenal eye versatile Dortmund forwardDaily MaverickKremlin says AfD’s victory in Germany due in large part to lack of cheap Russian gasRTP DesportoFederação suíça castiga capitão Xhaka por falsificação de certificado covid-19ESPN DeportesIsaac del Toro conquista a rivales y aficionados en el MundialInquirerSurigao del Norte forest fire threatens Philippine eagle nests20 Minuten«Xhaka ist ein Spieler mit Charisma» – Knäbel nach der Impf-LügeVilaWeb[EN DIRECTE] Compareix al congrés espanyol Emilio Argüeso, el cap d’Emergències absent durant la gota fredaRTL BoulevardEngeland ziet vijf spelers afhaken voor komende interlandperiodeThe South AfricanFerrari Amalfi and Purosangue tamed on SA roadsStraits Times SportBeing managed by Zidane for France is 'like a movie', says Mbappe
The Daily Newsstand · Free, Always
Monday, September 21, 2026

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

Translate

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

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

Я пользовался многими DAW. Застал ещё рекламу FL Studio, будучи школьником, и тут же скачал. Каково же было моё удивление, когда оказалось, что для создания простенького бита и оформления микса с простой композицией с моего компьютера придётся скачивать огромную, чрезвычайно тяжеловесную программу с миллиардом функций (которые, зачастую, не используются, если вы простой битмейкер или музыкант, а не профессиональный звукач или мастер оформления и создания цифровых композиций). А теперь углубимся в сам рынок: большая часть аналогов FL — пускай и чрезвычайно качественные, но платные программы. Вы можете сказать про Reaper, и я даже в чём‑то соглашусь, но синтезировать через него мелодии и оформлять биты было той ещё пыткой.

По итогу, создавал биты я в, как уже говорилось, огромной и крайне тяжеловесной программе FL Studio, а компилировал их в мелодии длительное время именно в Reaper (там просто удобный редактор с дорожками, тогда как наложение эффектов и прочей обработки в FL было в отдельном окне, что, согласитесь, не так уж и удобно). Создавая папки с WAV файлами и перемещая их в Reaper, миксуя таковые в разных последовательностях и применяя разнообразные пресеты из звуковых обработок и фильтров, я постепенно прихшёл к идее: а что, если сделать программу, где в одном окне можно и звук синтезировать, и биты сочинять, и раскладывать их (то есть миксовать) в нужном порядке, да ещё и обработка была бы по пресетам и автоматически при экспорте либо предпрослушивании? И с созданием собственных пресетов обработки!

Ох, как бы это спасало от головной боли при создании подобного рода треков и композиций. Но такого рода программы, уж тем более бесплатной и open source, просто не существовало. И вот, пришло время это изменить.

Как это работает

На самом деле реализовать было не так сложно, уж тем более в эпоху излишней общедоступности любой информации, и уж тем более — по программированию. Сложнее всего было разобраться скорее в том, как превратить обычный код в звучание через такое сложнейшее чудо техники, как ПК. Как в этой штуке создаётся визуал, чтобы читать и печатать, та ещё загадка, а вот как она проигрывает и, уж тем более, синтезирует звук — и вовсе волшебство! Ответ нашёлся в обычной математике, а точнее в тригонометрии за... если не ошибаюсь, кажется, класс 6–7?

Звук есть волна. Волна на декартовой плоскости есть набор чисел (следует уточнить ещё и то, что чисел в таковом наборе просто безумное множество, ведь чем больше точек — тем чётче волна). Потом данная волна, называемая и представляющая из себя синусоиду, вбирает в себя некоторое количество паттернов, называемых частотами. То есть каждая из 7 нот (До, Ре, Ми, Фа, Со, Ля, Си) — есть набор из 7 наборов чисел, имеющих в своих паттернах конкретное число частот. Например, частота ноты Ля составляет 440.0 Гц. Каждая следующая октава удваивает частоту (например, ля второй октавы — 880 Гц, ля малой октавы — 220 Гц). Герц (Гц, Hz) — это единица измерения частоты периодических процессов, которая равна одному циклу или колебанию в секунду.

Как считать частоту для мелодии? По формуле. Искомая частота равна произведению частоты ноты (одной ноты, у каждой своя частота) на 2 в степени n/12 (последнее считает октаву). Это стандарт для расчёта частоты любой музыкальной ноты в равномерно‑темперированном строе (согласитесь, последний термин звучит дико страшно, хотя это просто означает разделение октав?). Конечно же прописан был и стандарт частоты дискретизации — это 44 100 Гц (или 44,1 кГц, но в обычных герцах удобнее).

Сэмпл в 3BIT Professional — это последовательность нот и пауз, которая создаёт определённую мелодию на выходе.

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

С теорией покончено, понеслась! Были сделаны разные типы (7 типов — соответственно, 7 нот) синусоиды, каждая из которых с заданным параметром в виде Гц, соответствующих частоте каждой ноты, при вызове уходила в звуковую карту и рождала... звучание! Так и произошёл синтез первой ноты в 3BIT (правда, тогда этого названия ещё и в помине не было). К слову, это была нота До, то есть первая нота — просто как интересный факт.

Потом сэмплы, потом добавление огибающей и шлифовка всей остальной логики.

Первоначально 3BIT не был продуктом, да и не создавался как продукт. Я делал видеоигру и дошёл до этапа создания музыки. В тот момент и понял, что в край не желал снова возиться с тяжеловесными, неудобными программами. Рылся по интернету, пытался находить продукт, необходимый мне, но в интернете были лишь совсем старые проекты (на новых ПК, понятное дело, нерабочие). Тут уже психанул, открыл Python и приступил к написанию кода. Разумеется, открыв при этом в браузере миллиарды вкладок с самого разного рода документациями и статьями, часть которых, кстати, я до сих пор не прочитал... а надо бы.

То есть, я начал пилить это для себя. А после подумал — раз мне в кайф, может, и другим будет тоже? Так как иностранные платформы сегодня в России активно блокируются, рисковать не стал и загрузил на платформу от СберТеха. Раз банк, то, должно быть, безопасно. Да ещё там и Вики есть, где я могу статьи про свою программу делать, дабы объяснять, что и как, ну не шик ли. Но как пилил‑то?

Пилил по‑простому, но по‑сложному одновременно. Хотелось сделать ПО с интуитивно понятным интерфейсом. Сначала сделал штуку, которая синтезировала бы каждую ноту в определённой последовательности и записывала бы это как WAV. Сделав такого рода «Музыкальный язык программирования» (в формате JSON, база!), я начал пилить ему интерфейс. Потом стало скучно перекладывать ноты и паузы с одной позиции на другую с изменением октав, и запилил обработчик по пресетам — чтобы накладывались определённые фильтры в определённой последовательности. А чтобы было уж совсем весело — добавил создание пользовательских пресетов, чтобы над созданными битами можно было уж полноценно издеваться!

Так и появился, в конечном итоге, полный пакет 3BIT Professional — как сборная солянка всего того, что мною делалось для синтеза и последующей обработки звука. И на данном этапе начал появляться таймлайн. Таймлайн — это такая штука, существующая в каждом нормальном DAW, которая позволяет миксовать треки между собой таким образом, чтобы позиция каждого трека была строго определена во времени. Два или более трека на одном кусочке таймлайна рождали микс. Так и выходило то, что называется мелодиями. Но даже этого было мало!

Захотелось сделать полноценную DAW, а не солянку. Тем более, мне снова не нравилась перспектива открытия многих и многих вкладок под каждую задачу. Нужен был интерфейс для всего, работающий как часы (ну... или просто «работающий»?). То есть да — взять все наработки и запихать под единый визуал так, чтобы ещё и работало. Честно, задача оказалась не из простых. Разработать несколько инструментов — это одно, а вот собрать из этого DAW...

Собираем всё в одно

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

Но для начала необходимо рассказать про плюсы итогового проекта, а то рассказ о реализации такового потеряет свой смысл. Каковы же явные плюсы лично для вас, дорогие мои? Начнём с очевидного: вес всех разнообразных пакетов и версий 3BIT — около 50–60 МБ на данный момент! А вес одной лишь 3BIT DAW, как самой улучшенной и стандартной лично для меня версии, и вовсе пара МБ! Стоит ли упоминать вновь FL Studio, вес которого около 4 ГБ (4 000 МБ)? 3BIT DAW скачается у вас за считаные секунды, тогда как загрузки FL Studio придётся ожидать до нескольких часов (в зависимости от скорости интернета).

А также 3BIT во всех своих текущих версиях написан исключительно на языке Python, что не только сильно упрощает установку как на Windows, так и на иные операционные системы, но и создаёт простор для изменения кода для любого школьника и студента, решившего вскрыть мой проект и изменить под себя любимого. Ну и, что греха таить, я делал инструмент для себя, и хотелось сделать его как можно быстрее, не углубляясь в сложный и замудрёный синтаксис C++. Сойдёт за оправдание? Хотя кому я это говорю, Python давно уже стал мейнстримом и стоит на любом ПК.

3BIT DAW собрал уже имеющиеся инструменты под единым интерфейсом: создание бита (к слову, здесь же добавлена и возможность создания аккордов, хоть то и было самой, на мой взгляд, тяжёлой задачей во всём проекте), сохранение в список к остальным битам в зависимости от размерности данного (то есть сортировка, что оказалось необходимым, кстати), и выкладывание на дорожки в таймлайне каждого бита в необходимой пользователю последовательности (миксы, оформление мелодий). Здесь же добавлены специальные дорожки Вокал и Живой звук — на случай, если захочется добавить звуки гитары или что‑то постараться вытянуть из собственных голосовых связок, например. Управление специальными дорожками происходит в индивидуальном режиме: ставишь желаемой специальной дорожке необходимую для твоего проекта единую скорость и добавляешь в проект собственный WAV файл. Это создано для того, чтобы не было каши из звуков и битов даже в ситуации, когда очень пытаешься, пусть и неосознанно, сделать эту кашу.

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

Бесплатно. Open source. Пара десятков МБ. Пойдёт даже на калькуляторе. Всем спасибо.

GPL-3.0

Проект распространяется только в режиме GPL-3.0. Почему? Это простая и банальная защита от приватизации. Сделал что‑то дополнительное к проекту — будь добр при желании опубликовать в открытый доступ сделать это на исключительно бесплатной open source основе также, как это сделал и я, для всего сообщества. 3BIT — это наша территория free open source ПО для синтеза и разработки музыки, и она доступна всем желающим, от музыкантов до программистов‑энтузиастов. Давайте сделаем из этого сказку.

MIT же позволял бы сделать из этого коммерческий продукт. Мне этого не нужно. Это территория энтузиастов, музыкантов и всех тех, кто хочет оставить свой небольшой след в open source или музыке. Мною было создано поле, и это поле никто не должен приватизировать, иначе 3BIT — не 3BIT.

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

View the original on Хабр

KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.