Indevsound

Indevsound

Sound Designer | Audio Post for Media | Ableton & Synths | https://sfx.shmyak.space/
Пикабушник
Дата рождения: 13 июля
203 рейтинг 1 подписчик 0 подписок 25 постов 0 в горячем
1

От звуковых волн до serverless-функций: Как саунд-дизайнер 7 месяцев создавал веб-приложение с помощью ИИ и без знаний в коде

Привет! Меня зовут Илья Шмяк, и я саунд-дизайнер.
Я работаю с самыми разными клиентами, среди которых:
Разработчики игр, кинорежиссеры и аниматоры, дизайнеры одежды, бренды и агентства.
Моя профессия - это мир синтезаторов, аудиоволн и поиска идеального звука.

Я не понимаю в коде от слова «совсем». Но у меня была цель - создать собственный сайт-библиотеку с моими звуками и музыкой.

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

Эта статья — честный дневник этого 7-месячного путешествия, полного наивных ошибок, неожиданных открытий, технических тупиков и, в конечном итоге, ценных уроков и — рабочий сайт!

Глава 1. Локальная разработка: Иллюзия простоты и первые ошибки фронтенда

Мой путь начался с исследования. Я скармливал нейросетям код референс сайты, чтобы понять их устройство, как и на чем они сделаны. Так я узнал о Jekyll — генераторе статических сайтов. ИИ описал его как «быстрый, безопасный и простой». Идеально для новичка!

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

  • UI/UX итерации: Я часами двигал кнопки, менял шрифты и переделывал дизайн модальных окон. Часто ИИ понимал мои запросы слишком буквально, генерируя нерабочий или кривой интерфейс.

  • Месяцы допросов ИИ и слепых экспериментов: Как сделать так, чтобы при нажатии на одну кнопку «Play», другая останавливалась? Как заставить модальное окно корректно появляться и исчезать? Каждый такой вопрос превращался в многодневный квест.

  • Сложность vs. Реализуемость: Я постоянно отказывался от сложных идей (вроде динамической визуализации волны), потому что ИИ не мог дать простого решения, а потом снова возвращался к ним, пытаясь разбить задачу на микроскопические шаги.

В конце концов, у меня на компьютере был красивый, интерактивный, но абсолютно «мертвый» сайт-витрина. Я был невероятно горд успехом.

Глава 2. Перенос в онлайн: Первый удар о реальность

Я искал бесплатные решения для хостинга, остановился на GitHub, залил файлы и... вот он, мой сайт в интернете! Но тут же возникли вопросы, о которых я раньше не думал:
А как сделать корзину? Как пользователь будет скачивать файлы? А где хранить данные о регистрации пользователей? Как подтвердить регистрацию по email? А как пополнять баланс? Как реализовать и при помощи чего...?

Стало ясно, что просто красивых страничек недостаточно. Нужна была какая-то серверная логика — бэкенд.

Глава 3. Поиски бэкенда и нокаут от законодательства

Мои поиски бэкенда напоминали блуждание в тумане. ChatGPT предлагал десятки вариантов. Я пробовал собрать «монстра» из Auth0 для авторизации и Supabase для базы данных, пытался использовать Node.js на хостинге Beget — всё было слишком сложно и работало на костылях.

В итоге я решил использовать единую экосистему Yandex Cloud, но с Auth0 в качестве сервиса аутентификации. И вот, когда я почти решил все проблемы, я совершил роковую ошибку. Изучая консоль Яндекса, я случайно подключил платную услугу. Утром меня ждал заблокированный аккаунт и долг в 5000 рублей. Техподдержка была непреклонна.

Платить за случайный клик я не собирался. Я закрыл тот аккаунт, зарегистрировал новый и начал переносить весь фронтенд. Бэкенд предстояло делать снова, с полного нуля. И в этот момент я узнал про Федеральный закон № 152-ФЗ. Оказалось, данные нужно хранить в России. Мой Auth0, расположенный за границей, больше не подходил.

Вся моя архитектура снова рассыпалась. Пришлось писать всё самому.

Глава 4. Финальная сборка: Свой бэкенд на Yandex Cloud

Я полностью отказался от сторонних сервисов аутентификации. Теперь вся логика работала на связке Yandex Cloud (база данных, функции, хранилище) и отечественного сервиса Unisender для отправки писем. На этом этапе я столкнулся с последней волной проблем, где мне пришлось стать настоящим отладчиком.

Моей первой настоящей бэкенд-задачей было подключить облачную функцию к Yandex Database Я попросил ИИ написать код, развернул его и тут же получил жесткий отказ: Unauthenticated.

Логи кричали, что у меня нет прав. «Окей, — подумал я, — это, наверное, просто». Я полез в документацию и настройки IAM. Оказалось, что «сервисному аккаунту» — этакой цифровой личности моей функции — нужно было вручную выдать роль ydb.editor. Я нашел нужную галочку, поставил и был уверен, что всё заработает.

Но ничего не заработало. Та же ошибка.

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

Но как только я решил одну проблему, тут же появилась следующая, еще более загадочная.

Когда я все настроил, сайт просто отказывался общаться с моим сервером. В консоли браузера горела красная ошибка: blocked by CORS policy.

  • Расследование: ИИ объяснил мне, что это политика безопасности браузера. Она запрещает сайту на одном домене общаться с сервером на другом домене, если сервер явно этого не разрешит.

  • Решение: Мне пришлось создать отдельную «пустую» облачную функцию cors-handler, которая не делала ничего, кроме как отвечала на запросы браузера специальными заголовками: «Да, я знаю этого парня, ему можно». Это была кропотливая работа по настройке для каждого типа запроса в API-шлюзе.

Отправка простого письма для подтверждения регистрации превратилась в квест. Письма уходили в спам или вообще не доставлялись. Я потратил неделю, копаясь в DNS-записях (MX, DKIM, SPF), чтобы доказать почтовым гигантам, что я не спамер, и заставить сервис рассылок работать корректно.

Глава 5. Архитектура, рожденная в муках: Как это работает сейчас

В итоге у меня получилась полноценная архитектура, полностью построенная на сервисах Yandex Cloud. Звучит страшно, но на деле это просто набор связанных между собой «кубиков».

  • Фронтенд: Сам сайт лежит в Object Storage в виде статических HTML-файлов. Это делает его загрузку молниеносной.

  • Доставка контента: Cloud CDN забирает файлы с сайта и раздает их пользователям по всему миру, обеспечивая высокую скорость.

  • Мозг (Cloud Functions): Вся логика — регистрация, вход, покупка, скачивание — реализована в 10 отдельных Cloud Functions. Это небольшие скрипты, которые запускаются только тогда, когда к ним обращаются.

  • Память (YDB): Все данные — пользователи, их балансы, купленные звуки, транзакции — хранятся в serverless-базе данных Managed Service for YDB.

  • API Gateway: Чтобы сайт мог безопасно общаться с функциями, используется API-шлюз. Он принимает запросы от пользователей и направляет их к нужной функции.

  • Хранилище файлов: Все мои звуковые файлы лежат в отдельном, приватном бакете, доступ к которому можно получить только через специальную функцию.

  • Безопасность и управление: IAM управляет правами доступа между сервисами, Lockbox хранит секретные ключи, Certificate Manager выдал бесплатный SSL-сертификат, а Cloud DNS управляет моим доменом.

Глава 6. Ошибки, которые я допустил и цена

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

  1. Слепое доверие ИИ: Я начинал с того, что просто копировал код, не обращаясь к технической поддержке сервисов. Это главная ошибка.

  2. Игнорирование бэкенда и юридических аспектов: Я слишком долго фокусировался на красивой «обертке», не изучив, как работает «начинка» и какие законы ее регулируют.

  3. Недооценка отладки: Я думал, что основное время уходит на написание кода. Оказалось, 90% времени — это поиск причин, почему код не работает.

И, конечно, у всего этого есть цена, вполне реальная. На данном этапе:

  • Yandex Cloud: ~164 ₽/мес. (за хранение, трафик и выполнение функций) цена будет расти от нагрузки на сайт.

  • Почта домена (Beget): 600 ₽/мес. (необходима для работы DKIM и отправки писем)

  • Домен: 3600 ₽/год

  • Транзакционные письма (Unisender Go): 400 ₽/мес.

  • Маркетинговые рассылки (Unisender): Пока бесплатно, в будущем — 8064 ₽/год

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

Заключение: От кода к сообществу. Что дальше?

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

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

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

Показать полностью
6

"Pacific Call": Погружение в ретро-футуристический саундскейп (и он может стать вашим...)

Если вкратце описать – он довольно атмосферный, немного мрачноватый и загадочный. Подойдет, если вам нужна музыка для научно-фантастического фильма, игры про космос или подводный мир, какого-нибудь триллера, ну или просто чего-то необычного. Я старался сделать его таким, чтобы он и плавно звучал, и в то же время держал в напряжении.

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

Кроме самого трека (в WAV-качестве), отдам еще и стемы (отдельные дорожки инструментов), вдруг пригодится. И если нужно будет что-то немного подкорректировать – пишите, обсудим.

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

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

https://sfx.shmyak.space/pacific-call/

Показать полностью
1

Bird Sounds: Psychoacoustic. Саунд-дизайн и синтез звука птиц. (RU)

Привет! Я специализируюсь на создании звуковых ландшафтов для игр, фильмов, приложений и других медиапроектов. И это мое первое серийное видео, на тему "Звуки вокруг нас", где я разбираю, важность и влияние звуков из повседневной жизни в саунд дизайне.

Пресеты Vital, для самостоятельного изучения. https://disk.yandex.ru/d/d0xjBKcLNCqcfw

Интересные факты о птицах:

  • Сиринга — древнегреческий музыкальный инструмент, род продольной флейты. Это слово послужило анатомическим наименованием голосового органа птиц "Сиринкс"

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

  • У птиц, как и у людей, существуют диалекты. Птицы одного вида могут петь по-разному в разных регионах.

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

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

  • Птицы могут использовать свои вокализации для индивидуальной идентификации, как "подпись"

  • Некоторые виды птиц имеют очень сложные вокализации, с большим количеством "слогов" и "фраз", организованных по определенным правилам

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

Архивы звуков различных видов птиц:

  • Macaulay Library of the Cornell Lab of Ornithology

  • Xeno-canto

Если вам понравилось видео и вы хотите получить доступ к моей обширной библиотеке авторских звуков (SFX), поддержите меня донатом:
https://sfx.shmyak.space/
Также я в поиске новых проектов, которым нужен уникальный звук.
Готов к сотрудничеству и воплощению смелых идей!
Свяжитесь со мной: info@shmyak.space
http://shmyak.space/

Показать полностью
5

Саунд-дизайн для космической программы

Последние пару месяцев занимаюсь саунд-дизайном для инди-игры "ITRP _ Vacuum Bless" Представьте, что Вы повисли на космическом судне посреди бескрайнего вакуума. Вам остаётся либо сгинуть на месте, либо взять себя в руки и найти пресловутый спасательный шаттл.

ITRP _ Vacuum Bless

Затяните потуже шлейки вашего комбинезона для перемещения в безгравитационном вакууме – и вперёд раскрывать тайны!

Запланированная дата выхода: 2025
Add to wishlist on Steam:
https://store.steampowered.com/app/3341780/ITRP___Vacuum_Bless/

Показать полностью
0

#SoundDesign Xenomorph chooses ice cream! #Alien #scifi #audio

Ксеноморф стоит у холодильников и медленно, грациозно, выбирает мороженое...
Это видео было сгенерировано нейросетью а звук создан и задизайнен мной.

Я выбрал свои полевые записи с рекордера ZoomH5, которые есть в свободном доступе в моем тг боте, и путем эффектов и редактирования создал эти звуки. 👽

https://t.me/gamedev_sound_bot

Показать полностью 1
16

Реалистичные звуки шагов для ваших проектов: бесплатный набор и научный подход

Реалистичные звуки шагов для ваших проектов: бесплатный набор и научный подход Звук, Разработка, Gamedev, Инди игра, Инди, Unity, Unreal Engine, Раздача, Шаги, Ноги, MMORPG, Хоррор игра, Шутер, Квест, Игровые обзоры, Ищу игру, Steam, Мобильные игры, Головоломка, Моды, Видео, Гифка, Длиннопост

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

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

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

В нем представлены различные комбинации:

Типы: кроссовки, без обуви
Материалы поверхности: земля, камни, дерево, сухая трава.

Кроме того, я постарался соблюсти баланс громкости для разных комбинаций.

Ссылка на звуки шагов:

https://t.me/gamedev_sound_bot

Реалистичные звуки шагов для ваших проектов: бесплатный набор и научный подход Звук, Разработка, Gamedev, Инди игра, Инди, Unity, Unreal Engine, Раздача, Шаги, Ноги, MMORPG, Хоррор игра, Шутер, Квест, Игровые обзоры, Ищу игру, Steam, Мобильные игры, Головоломка, Моды, Видео, Гифка, Длиннопост

Ссылка на статью:

https://www.academia.edu/62444239/What_do_your_footsteps_sound_like_An_investigation_on_interactive_footstep_sounds_adjustment

Показать полностью 1 1
5

Бесплатные звуки | Atmospheric noises of a spaceship

Внимание! Обнаружена трансмутация! Не паникуйте...

TRANSMUTATION ALERT - 5 бесплатных звуков Sci-Fi, передающих гул реакторов, писк инструментов и другие атмосферные шумы космического корабля. Подходит для игр, фильмов и любых проектов, требующих футуристического звукового дизайна.

Скачать:

https://t.me/gamedev_sound_bot

Бесплатные звуки | Atmospheric noises of a spaceship Звук, Инди игра, Инди, Разработка, Gamedev, Научная фантастика, Шум, Unity, Unreal Engine, Хоррор игра, Квест, Шутер, Раздача, MMORPG, Головоломка, Моды, Ищу игру, Стратегия, Видео, Длиннопост

бесплатные звуки для Sci-Fi проекта

Показать полностью 1
Отличная работа, все прочитано!