Почему я это сделал
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, вес которого около 1 ГБ (1000 МБ)? 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 и начать свой путь в музыке. Просто, бесплатно, как в сказке.
Комментарии (23)

maxsaf
21.09.2026 11:26Где можно послушать ваши музыкальные произведения? Неужели разобраться в FL Studio сложнее, чем написать собственную DAW? Я, честно говоря, не совсем понял, в какой момент понадобился перенос проекта из FL в Reaper.

ivoout Автор
21.09.2026 11:26Я не являюсь музыкантом, лишь делаю инди-игры и для них понадобился саундтрек. Простой, но атмосферный. Я понимаю, как и что делается в FL, но создание простого саундтрека для инди-игры через тяжеловесный редактор по типу Fruity Loops - идея не совсем заманчивая. Мне понадобился простой и "лёгкий" редактор, в котором можно наиграть мелодию по нотам, обработать всё как нужно и перевести в WAV формат - я его сделал. Далее опубликовал в открытый доступ, в чём не вижу ничего плохого)

maxsaf
21.09.2026 11:26А что за игра? Можно саундтрек послушать?

ivoout Автор
21.09.2026 11:26Она ещё не вышла, процесс разработки инди-игры крайне недолгий. Хотя я просто кайфую от процесса, выложу так выложу когда придёт время

ivoout Автор
21.09.2026 11:26Если вы хотите послушать, что может сделать моя программа, то она весит всего 30-40 МБ, скачивается за считанные секунды, а написать первый бит можно за первые 5 минут работы :)

Moog_Prodigy
21.09.2026 11:26Ну я подобное пытался делать еще в середине нулевых на VB. Один комп - секвенсор, на другом та же FL или Reason. Один комп рулил синтезаторами с ASIO на другом через обычный Midi интерфейс. В аппаратном смысле все было просто и самая мякотка была именно в генерации сложнных битов алгоритмическими методами. Паттернов наделал, они потом менялись случайно, о заиграло прикольно - жмешь кнопку и оно сохраняет. Так набралась база ударных паттернов, для стилей типа Jungle или DnB вручную такое набивать офигеешь. А потом теория музыки, простая мелодия, разбивка по квадратам, наложение баса и вот у нас уже 4 канала играет бесконечный драмчик. Правда проект был заброшен по независимым причинам. Сейчас вот это все можно уместить в программу на питоне но нет смысла - нейронки делают качественнее, особенно если им обьяснить что хочешь сделать. Или наиграть или напеть. А писать свой секвенсор в наше время - это разве что для вникания во все это. Раньше FL была совсем ненавороченной и чуть сложнее блокнота. Проще только Ejay.

ivoout Автор
21.09.2026 11:26Здравствуйте! Как интересно!! Спасибо за столь качественную информацию, ваш комментарий мотивирует углубляться в эту тему ещё, чем в дальнейшем и займусь

Moog_Prodigy
21.09.2026 11:26Я вам честно скажу - это интересно до какого то момента. Алгоритмически музыку создавать можно, и она даже будет "качать", но это путь в один конец. Рандомно биты и мелодии особо не нагенерируешь(точнее можно если упороться, но быстро надоест), а если хочешь вытаскивать это все из уже имеющихся треков - изволь напиши классификатор и все такое. А там уже это все очень неотличимо от нейронки станет. Впрочем досюда я не доходил, а писать треки кодом это все же прикольно, заодно и теорию музыки подучить можно и звук сразу жирный а не просто midi пиликанье.

ivoout Автор
21.09.2026 11:26Ну, любой синтезированный звук сначала в виде пиликанья (?). Потом уже зарастает объёмом, после обработки через пресеты (в 3bit)

diverdm
21.09.2026 11:26Тоще подумал что автору вполне бы подошёл простой Fruity Loops 4-5 версии. Начиная с 6 уже пошло обширное обрастание функционалом.

ivoout Автор
21.09.2026 11:26Возможно, но мне захотелось иметь инструмент весом 30-50 МБ конкретно под свою задачу. Но запомню вашу рекомендацию, благодарю

Zhabrozavr
21.09.2026 11:26Я не программист и близко, поэтому мои вопросы могут выглядеть идиотскими. Я музыкант, пользуюсь мейнстримовыми Кубейсом/Рипером. Ваша программа, как понимаю, записывать аудио не умеет - так? Ок. Подключить вст-плагины тоже наверное невозможно? Т. е. в самой программе есть все необходимые для создания аранжировок функции, в том числе синтезаторы, в том числе ударных? Примеры сделанной в этой DAW музыки у вас имеются?

ivoout Автор
21.09.2026 11:26Здравствуйте! Ваши вопросы отличные и заставили призадуматься над внедрением новых фишек. Vst-плагины: действительно, их подключить нельзя, но если вам нужно наложить какой-то эффект, в программе это делается автоматически через установку нужных пресетов. Также вы можете создавать свои пресеты (de facto набор фильтров). В программе есть возможность: создавать мелодии (играть по нотам, выбирать темп, октаву), делать миксы и добавлять вокал либо живую музыку в виде отдельных WAV-файлов. Записывать нельзя, но это отличная идея, надо бы принять на заметку! По поводу примеров, в дальнейшем я обязательно скину вам информацию о том, как доделаю свой главный проект (данная программа была создана для более комфортного создания мелодий и саундтрека для моей инди игры) и какая музыка там будет (что по итогу вышло).

hazard2005
21.09.2026 11:26Не видел ничего легче и проще Фл студии. Начинал с 7 версии, точно не помню но вроде 300 мб была. Не знаю как сейчас, но точно сама программа 4 гб весить не будет. То скорее всего весь пак с плагинами и семплами с торента скачали.
Рипер вообще 60 мб приблизно. Вот кубейс 5 был, то там точно 4 гб было.
А вот что непонял - это эблетон.

ivoout Автор
21.09.2026 11:26Здравствуйте! Вы правы, гугл показал, что вес FL 1ГБ, А не 4. Изменю данную информацию в статье. Также стоит отметить, что 3BIT создан для наиболее эффективного решения достаточно узкого спектра задач

Moog_Prodigy
21.09.2026 11:26Вес FL все же меньше. В ранних версиях (3) там в комплекте еще шли два CD с сэмплами, которые легко полтора гига занимали. А уж сколько сэмплов было выпущено после + конвертация сэмплов из других программ - и ваша FL уже "весить" терабайт может. При желании можно хоть 50 терабайт сэмплов наковырять отовсюду - жизни не хватит их все прослушать. Важно разделять DAW и сэмплы, которые хранить можно где угодно. И не копить такие огромные библиотеки. Вы вообще в курсе как DAW устроены начиная от секвенсоров? Они довольно легкие.Даже Cubase, хоть и тяжеловес.

ivoout Автор
21.09.2026 11:26Минимальный вес FL Studio - примерно 1 ГБ, в том числе данные взяты из сети. Даже если говорить о старых версиях, то там будет минимум (минимум!) 300 МБ. Моя программа весит 30-50 МБ и прекрасно справляется с той задачей, для которой создавалась (написание саундтрека для инди игры). Возможно, мне стоит написать статью, где я объясню цели, поставленные мной перед данными самодельными механизмами в контексте глобальной задачи, но предполагаю, что это произойдёт уже после решения таковой

Truespb
21.09.2026 11:26если говорить о старых версиях, то там будет минимум (минимум!) 300 МБ.
Нашёл на Рутрекере рабочую версию 2010 года - 58 мб. Работает на 512 mb ram..

ivoout Автор
21.09.2026 11:26Лучше зайти на gitverse, чем на рутрекер. Но вы правы, нашёл достаточно старую версию FL в вебархиве - весит она немного. И да, её также можно рассмотреть, я не говорил про супер индивидуальность своего приложения - просто оно хорошо подойдёт под конкретную задачу. Капитализм подразумевает свободу выбора, в том числе и между FL с вебархива и простой open source программой с gitverse :)

osmanpasha
21.09.2026 11:26Вам, возможно, трекера хватило бы, особенно если программирование вам не чуждо и вы создаете музыку для игр. Раз уж легковесность вы ставите во главу угла, то дистрибутив, например, openMPT, весит 20Мб.

ivoout Автор
21.09.2026 11:26Можете рассказать поподробнее о функционале, если будет время? Openmpt показался мне крайне интересным, потом обязательно начну осваивать. Но, полагаю, это уже для более серьёзных композиций? (исходя из скриншотов, он даёт больше контроля над звуком). Спасибо за информацию!
Truespb
И где это чудо опубликовано?
ivoout Автор
Здравствуйте! На GitVerse, в профиле ссылка)