Всем привет! Знаете это чувство, когда ты ищешь решение какой-то конкретной проблемы, а находишь целое новое хобби? Вот у меня примерно так и вышло.
Как значит было дело. Сидел я, как обычно, никого не трогал, починял примус... а если конкретнее - делал небольшую игру-платформер. Задумка была в том, чтобы она была процедурно-генерируемой, причем я хотел чтобы все уровни генерировались через большую языковую модель. Как оказалось позже, идея была провальной, потому что LLM не очень хорошо понимает расстояние, и я в итоге сделал процедурную генерацию просто на скриптах. Ну да ладно, не об этом сейчас.
И всё вроде бы хорошо, уровни генерируются, персонаж бегает, но единственная проблема с которой я столкнулся - это музыка. Ну реально, что делать со звуком когда у тебя претензия на процедурность? Вставлять музыку в base64 - это какая-то жесть. Подключать MP3 или MIDI - тоже не прикольно когда у тебя всё генерируется на лету. Тут я вспомнил про музыку из кейгенов, но оказалось что и чиптюн не встроить просто так на веб-страницу.
В итоге я остановился на какой-то совсем примитивной версии из нескольких нот и отложил это до лучших времен. Типа потом разберусь.
Но не тут-то было! Буквально на следующее утро в телеграм-канале я увидел пост про Strudel. И знаете - меня как током ударило. Потому что эта штука делала именно то, что я искал и не смог реализовать сам. Движок для програмимрования музыки. Прямо в браузере. Подключается одной строкой. Код для мелодии занимает буквально ничего.
Я открыл их сайт, вставил пример кода, нажал play... и залип на два часа. А потом ещё на три. А потом скормил ихдокументацию нейросети, сделал генератор треков, встроил музыку в ту самую игру, сделал трек который дообработал в нейронке, сделал промптер... Короче, меня понесло. И понесло настолько сильно, что в какой‑то момент я понял — мне мало просто пользоваться. Я хочу сделать свою версию. Лучше, удобнее и на русском.
Так родилась Булка. Но обо всём по порядку.
Меня зовут Илья, я основатель сервиса для генерации изображений ArtGeneration.me, блогер и просто фанат нейросетей. При этом не являюсь программистом в классическом смысле — то есть вообще совсем. Скорее энтузиаст, предпочитающий генерировать код с помощью нейросетей, а не писать его с нуля. Но мне дико нравится ковыряться в разных технологиях и делать из них что‑то своё.
И вот именно эта комбинация — «не умею кодить, но очень хочу» — привела меня к лайвкодингу музыки. Потому что Strudel (а теперь и Булка) — это как раз тот случай, когда тебе не нужно быть ни музыкантом, ни программистом. Достаточно быть любопытным. А если подключить ИИ‑агента — то вообще можно просто писать на русском «сделай мне техно‑бит» и наслаждаться результатом.
Но давайте сначала разберемся, что это за зверь такой — лайвкодинг.
❯ Что такое лайвкодинг и причем тут Штрудель
Для тех кто не в курсе - лайвкодинг это когда ты пишешь код и он тут же превращается в музыку. В реальном времени. Ты меняешь строчку - звук меняется. Добавляешь новую - появляется ещё один инструмент. Это как диджеинг, только вместо вертушек у тебя текстовый редактор. И да, люди реально так выступают вживую - есть целое комьюнити которое устраивает лайвкодинг перформансы, это называется Algorave. Например посмотрите, что творит в реальном времени в Штруделе Switch Angel, одна из участниц этой движухи.
У истоков всего этого стоит Tidal Cycles - язык паттернов для создания музыки через код. Штука мощная, но для запуска нужно было ставить Haskell, SuperCollider и ещё кучу всего. Для гиков - ок, для нормальных людей - гиблое дело.
И тут появился Strudel - порт Tidal Cycles на JavaScript. Вся та же мощь паттернов, но работает прямо на веб-странице. Вот чтобы вы понияли насколько это компактно, смотрите:
// Простой бит - бочка и снейр
s("bd sd bd sd")
Одна строчка. Одна. Строчка. И у вас играет ритм. Хотите добавить хай-хэты?
// Бочка, снейр и хай-хэты
s("bd sd bd sd, hh*8")
Две строки - уже полноценная ритм-секция. А вот так звучит классический хаус-бит на драм-машине Roland TR-909:
sound("bd*4, [~ cp]*2, [~ hh]*4").bank("RolandTR909")
А вот басовая линия:
note("c2 e2 g2 a2").s("sawtooth").lpf(800)
Это note задает ноты, .s("sawtooth") выбирает пилообразную волну как тип синтезатора, а .lpf(800) - это фильтр низких частот на 800 герц. Если вам это ни о чём не говорит - не парьтесь, мне тоже поначалу не говорило. Суть в том, что за пару строк кода вы получаете живой, пульсирующий звук. И можете крутить его как угодно прямо на лету.
А самое крутое - из коробки доступны сотни семплов. Драм-машины 808 и 909, оркестровые инструменты, синтезаторы, фолк со всего мира. Не нужно ничего скачивать и подключать, просто пишешь название банка - и играешь. А если вдруг встроенных мало - можно подключить любой пак семплов с GitHub или загрузить прямо с компьютера. Так что ветераны Fruity Loops, ваши гигабайты семплов накопленные за годы - тоже пойдут в дело, не переживайте.
Сфера применения ограничена только фантазией. Можно медитативно вайбкодить вечерком, подбирая грувы. Можно встраивать в свои веб-приложения. Можно выступать вживую. Но у оригинального Штруделя были проблемы, которые мне не давали покоя...
❯ Почему Штрудель - это круто, но мне было мало
Окей, Strudel прекрасен. Я залипал в нём неделями, делал треки, встраивал в проекты, даже промптер для нейронки написал чтобы она генерировала мне паттерны. Но чем больше я им пользовался, тем больше замечал вещей которые меня раздражали.

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

Во-вторых - нет записи. Вот ты сидишь, накрутил крутой бит, он играет, ты доволен... а как его сохранить? Распечатать код на принтере и показать другу распечатку? Ну уж нет, не наш вариант. Нужна возможность записать трек в максимальном качестве и потом использовать. При желании можно создавать семплы прямо в Булке, записывать их и встраивать в новые треки - как будто перед паровозом строите рельсы. Но кнопки для этого в оригинале не было.
В-третьих - никакого ИИ-помощника. Strudel - это всё-таки про код. И если ты не разобрался в синтаксисе паттернов (а он местами бывает крайне нетривиальный) - ты один на один с документацией. Нельзя просто написать "хочу грустный эмбиент с реверберацией" и получить результат. А я как человек, который все последние годы живет в нейросетях, понимал что именно так это и должно рабортать.
В-четвертых - баги. Штрудель тоже делали энтузиасты, и они наэнтузиастили там немало косяков. Например Hydra - движок для визуализаций - была очень не полностью интегрирована. Из-за этого нельзя было включить на фон видео, или гифку, или ютуб-ролик. Я это починил, но об этом чуть позже.
И вот в какой-то момент я поймал себя на мысли: я же не просто хочу пользоваться Штруделем. Я хочу сделать его лучше. Для себя и для всех русскоязычных энтузиастов. С ИИ-агентом, с записью, с нормальной локализацией. Штрудель - это выпечка. Значит мой форк тоже будет выпечкой.
Так появилась Булка. 🍞
❯ Встречайте Bulka - что конкретно я поменял
Bulka - это форк Strudel с открытым исходным кодом. Всё бесплатно, код на GitHub. Я взял оригинал и начал его методично допиливать. Вот что получилось.

Полная русская локализация. И я имею ввиду реально полная. Не просто кнопочки в интерфейсе перевёл - это было бы слишком легко. Перевёл всю документацию. Весь интерактивный воркшоп - это пошаговый курс где вы прямо в браузере учитесь делать музыку, от первых звуков до сложных паттернов. Подсказки в редакторе кода, описания функций, примеры. Открываешь воркшоп и перед тобой полноценная база знаний на русском. Там реально огромный объём материала - секции по семплам, синтезаторам, аудио-эффектам, MIDI, визуализациям... Всё переведено.

Запись в WAV. Одна кнопка - нажал, записал, скачал файл в максимальном качестве. Казалось бы мелочь, но именно она открывает кучу возможностей. Но об этом чуть позже, когда расскажу про свой любимый кейс с Suno.

Починил Hydra. Hydra - это движок для генеративных визуализаций, он встроен в редактор и позволяет создавать графику которая реагирует на вашу музыку в реальном времени. Осциллографы, спектроанализатор, пианоролл - это всё из коробки. Но в оригинале интеграция была кривая. Например нельзя было поставить видео на фон, или гифку, или ютуб-ролик. Я это починил. Теперь можно и видео, и гифки, и ютуб, и даже вебкамеру подключить. Не знаю зачем вам вебкамера на фоне лайвкодинга, но это весело и это работает.
Undo/Redo. Звучит банально, но в оригинале не было нормальной отмены действий. Теперь есть, с визуальной индикацией - видно сколько шагов можно откатить.

Такие мелочи, а жить стало гораздо приятнее
Регулировка громкости. Удобный слайдер прямо в интерфейсе. В оригинале громкость регулировалась только из кода. Знаете, когда ты в час ночи экспериментируешь с басом и он вдруг вжарит на полную - хочется иметь слайдер поближе.
Шеринг и лента. Поделиться треком можно одной ссылкой - скинул другу, он открыл и сразу слышит что ты нагородил. Без регистрации и скачивания. Плюс добавил ленту где собираются примеры - можно посмотреть что делают другие и вдохновиться.
Поддержка MIDI и OSC. Для тех кто понимает - Булку можно использовать как секвенсор в связке с железом и DAW. Подключаете свой синтезатор или драм-машину и управляете ими из кода.
Офлайн-режим. Булка работает как PWA - можно установить на рабочий стол и исполльзовать даже без интернета. Удобно если хочется покодить музыку в поезде или в самолёте.
И это я ещё не добрался до главной фичи - ИИ-агента. Но про него стоит рассказать отдельно.
❯ AI-Агент: пиши на русском - получай музыку
Вот мы и добрались до самого вкусного. Того, ради чего собственно и стоило огород городить.
Когда я только начинал думать про агента, у меня в голове была одна конкретная картинка. Представьте: вы сидите, музыка играет, и вы просто пишете в чат - "добавь бас", "теперь синты", "сделай переход поплавнее". И музыка бесшовно обновляется прямо во время воспроизведения. Вы не трогаете код руками вообще. Просто выстраиваете трек по кусочкам, как режиссёр который говорит актёрам что делать. В идеальном мире это было бы убийственной штукой для лайвкодинга с живым выступлением - ты буквально разговариваешь с музыкой, а она слушается.
И знаете что? Оно работает. Не идеально конечно, LLM-ки иногда тупят и ломают паттерн, но сам принцип - он рабочий. Я реально так делаю: запускаю базовый бит, потом через чат постепенно наращиваю слои, и это ощущается совершенно иначе чем ковырять код руками.
В Булку встроен полноценный ИИ-агент. Не просто чатик куда можно написать вопросик - а именно агент с инструментами. Он умеет читать ваш код, редактировать его, запускать и останавливать музыку, искать по документации Strudel и подсвечивать нужные фрагменты прямо в редакторе. Всё это через function calling - то есть модель сама решает какой инструмент вызвать и когда.
Как это выглядит на практике? Открываете вкладку Чат, пишете "сделай техно-бит 120 bpm с глубоким басом" и... агент сам пишет код, вставляет его в редактор и запускает воспроизведение. Вы слышите результат. Не нравится бас? Пишете "замени бас на что-нибудь поглубже и добавь реверб". Агент находит нужный фрагмент в коде, меняет его и перезапускает. Всё на русском, всё в реальном времени.
У агента есть 8 инструментов которыми он оперирует:
readCode - прочитать что сейчас написано в редакторе
setFullCode - заменить весь код целиком (когда пишет с нуля)
editCode - найти кусок кода и заменить на другой (когда правит)
appendCode - дописать что-то в конец
playMusic / stopMusic - запустить или остановить воспроизведение
searchDocs - поискать в документации Струделя нужную функцию или приём
highlightCode - подсветить конкретный фрагмент в редакторе, чтобы показать о чём он говорит
То есть это не просто "ответил текстом и разбирайся сам". Агент буквально работает с вашим проектом как напарник. Написал код - вставил. Нашёл ошибку - починил. Не знает какую функцию использовать - залез в документацию и нашёл.
Кстати, про ошибки. Булка умеет ловить ошибки кода и показывать кнопку "В чат" прямо на сообщении об ошибке. Нажали - ошибка улетела агенту, он её прочитал, понял что не так и исправил. Не нужно копировать стектрейс руками и объяснять в чем проблема. Одна кнопка - и он сам разберётся.
Ещё прикольная штука - можно выделить кусок кода в редакторе и отправить е��о агенту с комментарием. Типа "вот этот блок - сделай чтобы он звучал как 80-е". Агент получит именно выделенный фрагмент и будет работать с ним, а не со всем файлом.
Какие провайдеры поддерживаются?

Я специально сделал так чтобы было максимум выбора. Пять платных провайдеров:
OpenAI - GPT-5.2, GPT-5.1, GPT-5.1-Codex-Max и другие
Anthropic - Claude Opus 4.5, Claude Sonnet 4.5, Claude Haiku 4.5
Google Gemini - Gemini 3 Pro, Gemini 2.5 Flash, Gemini 2.5 Pro
Z.AI - модели GLM
OpenRouter - а это вообще агрегатор, через него доступны сотни моделей от разных провайдеров. Подключил один ключ - и выбирай из всего что есть на рынке
Списки моделей подгружаются динамически с API провайдеров. Вышла новая модель - она автоматически появится в списке, мне не нужно обновлять код. Для Claude и Gemini есть отображение extended thinking - прямо видно как модель рассуждает перед тем как дать ответ. Всё работает в режиме стриминга, токен за токеном, как вы привыкли в ChatGPT.
Для подключения нужен API-ключ соответствующего провайдера. Ключ хранится локально в вашем браузере (localStorage), на сервера Булки ничего не уходит. Код и сообщения отправляются напрямую провайдеру. Полная приватность, исходники открыты - можете сами убедиться.
И тут есть один нюанс. Раз всё выполняется локально в вашем браузере - то и все ограничения вашего интернет-провайдера тоже действуют. А это значит что до некоторых провайдеров LLM вы можете просто не достучаться из-за блокировок РКН. Если агент упорно не отвечает, а интернет вроде бы работает - вы знаете что делать. Три волшебные буквы, и провайдеры снова доступны.
Но я понимаю что не у всех есть API-ключи. И не все готовы за них платить чтобы просто потыкать. Именно поэтому я прикрутил кое-что ещё...
❯ А если нет API-ключа? GPT4Free спешит на помощь
Окей, я понимаю ситуацию. Вы прочитали предыдущий раздел, загорелись, открыли Булку, а потом увидели поле "API ключ" и такие - ну нафиг, я просто хотел потыкать. Знакомо. Именно поэтому я прикрутил в Булку GPT4Free - опенсорсный проект который даёт бесплатный доступ к разным языковым моделям. Без ключей. Без регистрации. Без оплаты. Открыл - и поехал.
Настройка занимает секунд десять. Открываете вкладку Чат, жмёте шестерёнку в настройках, выбираете провайдер GPT4Free, выбираете модель и провайдера из списка - готово, можно писать. Список моделей подгружается автоматически.

Но давайте я буду честен - бесплатный сыр имеет свои особенности. GPT4Free работает не так как платные провайдеры. Главное отличие - модели через GPT4Free не поддерживают function calling. Это значит что агент не может напрямую вызывать свои инструменты. Вместо этого я реализовал симуляцию через текстовые маркеры - модель генерирует текст со специальными метками типа [PLAY] и [STOP], Булка их парсит и выполняет соотвтествующие действия.
Что работает:
Генерация музыкального кода - пишете "сделай драм-н-бейс" и получаете код
Код из ответа автоматически вставляется в редактор
Запуск и остановка музыки через маркеры
Объяснение кода и помощь с синтаксисом Strudel
Если в ответе есть код но нет маркеров - музыка запустится автоматически
Что не работает:
Поиск по документации Strudel
Просмотр примеров кода
Подсветка фрагментов в редакторе
То есть базовый флоу "написал запрос - получил код - музыка заиграла" работает. Но всякие продвинутые штуки типа "найди в доке как сделать арпеджио" - увы нет. Для этого нужен полноценный агент с API-ключом.
И ещё - бесплатные провайдеры бывают капризные. Некоторые могут вставлять рекламу в ответы. Скорость ответа зависит от нагрузки на провайдера и иногда приходится подождать. Какие-то провайдеры могут временно не работать. Если один не отвечает - просто попробуйте другой, их там много. Ну и лимиты на количество запросов тоже бывают. Короче, для экспериментов и знакомства с Булкой - отлично. Для серьёзной работы - лучше взять нормальный ключ.
А где взять API-ключи если решили?
Тут на самом деле всё просто:
Google Gemini - aistudio.google.com/apikey. У гугла есть бесплатный тир, так что можно получить ключ и пользоваться не заплатив ни копейки. Для старта - самый простой вариант.
Anthropic - console.anthropic.com. Claude Sonnet 4.5 отлично справляется с генерацией музыки, плюс у него есть extended thinking.
OpenAI - platform.openai.com/api-keys. Ну тут всё понятно, GPT классика жанра.
Z.AI - Модели GLM, китайский провайдер.
OpenRouter - если не хотите заводить ключи у каждого провайдера по отдельности, OpenRouter даёт доступ к сотням моделей через один аккаунт. Один ключ - и выбирайте из всего что есть на рынке. Удобно.
Разница между GPT4Free и платным режимом если совсем коротко: платный агент ищет по документации, сам правит код точечно, подсвечивает фрагменты, стабильно и быстро работает. Бесплатный - генерирует код и вставляет его, запускает музыку, но без продвинутых инструментов и с переменной стабильностью. Для максимального кайфа я бы рекомендовал взять ключ от Gemini (бесплатно же) или Anthropic - Claude реально хорошо пишет музыкальный код. Но начать с GPT4Free чтобы пощупать - милое дело, для этого он и сделан.
❯ Мой любимый кейс: Bulka + Suno = полноценные треки
Ладно, тут я хочу рассказать про штуку которая лично меня прёт больше всего. Это не фича Булки как таковая, это скорее воркфлоу который я для себя нашёл и теперь использую постоянно.
Смотрите в чём фишка. Булка создаёт программную, алгоритмическую музыку. Это значит что вы контролируете каждую ноту, каждый паттерн, каждый ритмический рисунок. Звучит это как синтезатор - чистый электронный звук. Круто, но до продакшн-качества далековато. А Suno (и подобные нейросети) наоборот - генерирует трек целиком, с вокалом, с аранжировкой, звучит как студийная запись. Но проблема в том что ты почти не контролируешь результат. Написал промпт "сделай грустный лоу-фай" и молишься чтобы повезло с мелодией. Иногда везёт, иногда получается каша.
И вот я подумал - а что если объединить?
Делаю так. Сажусь в Булку, накидываю мелодию которая мне нравится. Подбираю ноты, темп, может быть басовую линию отдельно прописываю. Трачу минут 15-20, но зато точно знаю что мелодия - огонь, потому что я её слышу в реальном времени и подкручиваю пока не зазвучит как надо. Потом жму кнопку записи, скачиваю WAV. Одна кнопка, помните?
А дальше беру этот WAV и скармливаю в Suno как референс. И вот тут начинается магия. Suno берёт мою мелодию как основу и достраивает вокруг неё полноценный трек - с живыми инструментами, с вокалом если нужно, с продакшном. Но мелодическая основа - моя. Та которую я сам выстроил нота за нотой.
Результат получается на порядок лучше чем если генерить в Suno с нуля. Трек не рваный, мелодия осмысленная, потому что я её контролировал. А Suno добавляет то чего Булка дать не может - живое звучание, аранжировку, глубину.
По сути Булка тут работает как инструмент точной настройки. Ты выстраиваешь скелет трека - ритм, мелодию, басовую линию. А нейросеть натягивает на этот скелет мясо. И это реально мощная связка, потому что ты получаешь и контроль, и качество одноврменно. Чего по отдельности ни один из этих инструментов не даёт.
Кстати, можно и наоброт. Сгенерировать в Suno что-то интересное, вытащить оттуда мелодию на слух, записать её в Булке как паттерн и дальше развивать уже программно. Или взять семпл из Булки и закинуть его не в Suno, а в любую другую нейросеть для музыки, или в DAW типа Ableton - WAV он и в Африке WAV.
❯ Для кого это и что ещё можно делать с Булкой
Может показаться что Булка - это какая-то супер-нишевая штука для гиков которые одновременно и программисты и музыканты. Не-а. Давайте разложу.
Если вы музыкант - это новый инструмент в вашем арсенале. Паттерны в Strudel позволяют создавать ритмические структуры которые руками на миди-клавиатуре хрен набъёшь. Полиритмия, евклидовы ритмы, рандомизация с сидом - код даёт точность и контроль которых у классических DAW просто нет. Плюс MIDI и OSC поддержка - Булка может управлять вашим железным синтезатором напрямую. А если выступаете вживую - с агентом можно буквально разговаривать с музыкой на сцене, направляя трек текстом в реальном времени.

Если вы программист - музыка как ещё одна область для творчества. Язык паттернов реально элегантный - функциональное программирование в чистом виде. Цепочки трансформаций, композиция функций, ленивые вычисления. Если вы фанат Haskell или Clojure - вам тут понравится. Ну и пакеты на npm под неймспейсом @Strudel - можно встроить движок в свой сайт, в игру, в интерактивную инсталляцию. Я собственно с этого и начинал, когда делал процедурно-генерируемую игру.
Если вы вообще не программист и не музыкант - вот тут как раз и пригождается агент. Просто пишете на русском что хотите услышать. "Сделай бит как в 90-х", "хочу что-нибудь грустное на пианино", "драм-н-бейс с тяжёлым басом". Агент напишет код за вас. Вам вообще не надо разбираться ни в музыке ни в программировании. А если захотите - есть полностью русский воркшоп который проведёт от первого звука до сложных композиций.
Если вы стример или контент-мейкер - тут сразу пачка применений. Hydra визуализации - это генеративная графика которая пульсирует и меняет цвета в такт вашей музыке. Включаете на втором мониторе, захватываете в OBS - готовый анимированный фон для стрима который никогда не повторяется. Бесплатно, без After Effects. Плюс уникальные семплы для роликов и музыкальные подложки записанные в WAV - никаких проблем с авторскими правами на сгенерированый код.
Если вы геймдев, подкастер или просто нужны звуки - из коробки доступны сотни семплов: драм-машины 808/909, оркестровые инструменты, синтезаторы, фолк со всего мира. Комбинируете их как угодно, накладываете эффекты, записываете в WAV - и получаете уникальные звуки для своих проектов. Нужен необычный эффект для игры? Подложка под подкаст? Джингл для ролика? Накрутил в Булке за пять минут, записал, вставил. Причём звуки получаются уникальные, потому что вы их буквально програмируете.
Если вы преподаватель - Булка это готовая платформа для обучения основам программирования через музыку. На русском. В браузере. С мгновенной обратной связью. Ученик написал s("bd sd") и сразу услышал бочку и снейр. Попробуйте объяснить ребёнку циклы через for(i=0; i<10; i++) а потом через "bd*8" где бочка повторяется 8 раз - и скажите мне что сработало лучше. Звук как обратная связь - это совершенно другой уровень вовлечения.

Или если вам просто скучно вечером - откройте bulka.app, выберите GPT4Free чтобы не париться с ключами, напишите "удиви меня" и посмотрите что получится. Или попросите агента "сделай что-нибудь расслабляющее в стиле эмбиент" - откиньтесь в кресле и залипните на полчаса под генеративную музыку с визуализациями. Знаете, иногда после рабочего дня это именно то что нужно. Терапевтичнее любого плейлиста в спотифае, потому что ты сам это создал. Ну или агент создал. Но по твоей просьбе, так что считается. Пять минут. Бесплатно. В худшем случае потеряете пять минут, в лучшем - найдёте новое хобби. Я вот нашёл, и оно меня до сих пор не отпускает.
❯ Поддержите проект!
Булка - полностью бесплатная и опенсорс. Я не беру денег, не показываю рекламу, не собираю ваши данные и ничего из этого не планирую. Код открыт, лицензия GNU AGPL v3.0 - берите, форкайте, контрибьютьте если хотите. Мне просто кайфово делать штуку которая приносит людям радость.
Ну и если Булка вам зашла, поставьте звёздочку на GitHub - это бесплатно а мне греет душу.
А если вы разработчик и вам понравилась идея - приходите контрибьютить, код открытый, присоединяйтесь.
Я делаю обзоры на всякие штуки и рассказываю о нейросетях у себя на YouTube, в телеграме и на Бусти. А ещё заглядывайте на стримы каждую пятницу в 19:00 - там я как раз делаю музыку в Булке в прямом эфире. Буду рад вашей подписке и поддержке. Всех обнял и удачных генераций.
