Хотите дальше читать devby? 📝
Support us

«Программист-любитель»: как музыкант освоил Objective-C и создал музыкальное приложение

Оставить комментарий
«Программист-любитель»: как музыкант освоил Objective-C и создал музыкальное приложение

Эта история — отличный пример для тех, кто находит любые отговорки, чтобы не приступать к реализации заветной идеи. Белорусский музыкант и мультимедиа-художник Андрей Савицкий с нуля изучил все технические аспекты, самостоятельно разработал приложение Zillidrone и опубликовал его в AppStore. О начале пути, сложностях и дальнейших планах Андрей рассказал dev.by.

Читать далее

Андрей Савицкий. Фото: Artes Liberales.

Программист, но не совсем

Андрей признаётся, что никогда бы не подумал, что придётся заниматься написанием текстового кода. Музыкант всё же занимался программированием, использовал в работе Flash Action Script и XAML в WPF, но его знаний было недостаточно для создания полноценного музыкального приложения, ориентированного на профессиональное использование.

«Параллельно занимаясь исследованиями в области программного обеспечения для художников и музыкантов, я волей-неволей занимался визуальным программированием. Это ведь тоже программирование, но другого рода, когда алгоритмы обработки данных создаются не текстовым кодом, а графическими блоками и связями. В частности, я много работал со средой Pure Data и VVVV, которые, используя виртуальный язык программирования, позволяют создавать музыкальные инструменты, обрабатывать видео, сенсорные данные и вообще любые цифровые события», — рассказывает Андрей Савицкий.

Когда несколько лет назад вышла версия визуального языка програмирования Pure Data, совместимая с iOS и Android, Андрей задумался о монетизации имевшихся знаний.

«С появлением версии для мобильных платформ всё изменилось. Мне не нужно было тратить время на изучение, например, CoreAudio для работы со звуком. Весь звуковой движок создан в Pure Data, для AppStore оставалось фактически сделать только интерфейс с контроллерами, отсылающими сигналы в PD», — говорит собеседник.

Теперь все упиралось в создание интерфейса. Просмотр обучающих видео показал, что сложностей с языком Objective-C не возникнет. В интернете подробно разобрано решение каждой задачи, есть масса форумов, где всегда помогут новичку. «Так что я купил Macbook, лицензию разработчика iOS и задал в Сети вопрос, как нарисовать кнопку в Xcode», — вспоминает первые шаги Андрей. Спустя несколько недель у музыканта была уже работающая программа со своим интерфейсом.

Советы новичкам: как освоить Objective-C

Андрей подчёркивает, что не ставил перед собой цели выучить язык программирования. Для него это было лишь средством к достижению цели — собственному приложению. Разработчик не считает себя профессиональным программистом: «Раньше использовались такие слова, как автолюбитель, радиолюбитель. Сейчас они почему-то вышли из оборота, но мне нравится название «программист-любитель» — это именно про меня».

Вот несколько рекомендаций начинающим от Андрея Савицкого.

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

Создавать на ходу

Идея создания музыкального приложения Zillidrone появилась не случайно. Во-первых, Андрей давно увлекается электронной музыкой и знаком с соответствующим софтом. Во-вторых, сказались условия проживания. Белорус на тот момент жил в Германии, где музыкальная сфера хорошо развита.

«Индустрия электронных инструментов и звукопроизводство там очень развиты. Думаю, они вполне сопоставимы с ИT-предпринимательством в Беларуси по масштабу. Это и стартапы, создающие уникальные звуковые устройства, и разработчики аудиософта, и профильные издания, магазины, международные ярмарки, институты по исследованию акустики, школы, академии», — говорит Савицкий.

Zillidrone — это комплекс музыкальных модулей: драм-машина с тремя типами перкуссий, сэмплер, двамульти-осциляторных синтезатора, и шесть эффектов обработки сигнала, каждый из которых имеет свой 32-х шаговый секвенсер, и режим автомэйшн (запись изменения контроллеров) для эффектов и синтезаторных контроллеров. Программа включает библиотеку из 4 категорий сэмплов: snare, hi-hats, kicks и synth (всего их 400), а также предусмотрена возможность загрузки пользовательских сэмпл-паков.

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

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

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

Автор признаётся, что создавалось и для себя, и для других музыкантов, и для получения прибыли. Точное время, которое понадобилось для написания программы, посчитать сложно. Первые два месяца ушли на изучение Objective-C, интерфейс и юзабилити. Далее началась тестовая дистрибуция на Testflight. После чего настал черёд обучающих видео, пакетов с сэмплами, добавление поддержки Dropbox, протоколов MIDI и Audiobus. Вместе с этим шла чистка приложения от багов.

Выход Zillidrone в AppStore прошел без каких-либо трудностей.

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

«И, конечно, еще очень важно, когда есть люди, которые просто поддерживают твою идею и дарят свою продуктивную критику. Я вообще очень благодарен людям, помогавшим с некоторыми неподъемными для самоучки вопросами», — отмечает Андрей Савицкий.

Складывается впечатление, что время грувбоксов прошло, и достаточно скачать на планшет Zillidrone либо аналогичное приложение. Андрей поясняет, что несмотря на широкий функционал его программы, сравнивать Zillidrone с серьёзными музыкальными инструментами некорректно: «Профессионалы упакованы своими устройствами, им ещё одна игрушка не нужна. Zillidrone делался для людей, уже знакомых с принципами создания электронной музыки. Это продукт ориентирован не на массового пользователя. Моя аудитория — музыканты-любители. Но сейчас я выступаю на концертах только с Zillidrone».

Релиз приложения — только начало

После выхода приложения наступает очередной важный этап — его поддержка и обновление. Планы у Андрея на выпуск свежих версий есть: «Сейчас вышла новая версия с интересным функционалом: можно записать с аудиовхода любой звукоряд, создать из него сэмплы и работать уже с ними. Также можно записать свой голос с микрофона или гитары и делать из этой записи новые композиции на лету. Кроме этого появилась возможность использовать Zillidrone как эффект-процессор, то есть аудиосигнал с внешнего источника обрабатывать эффектами моей программы. Дополнительно я готовлю и бесплатную версию с ограниченным функционалом, чтобы новички могли без затрат оценить потенциал программы».

Помогаете devby = помогаете ИТ-комьюнити.

Засапортить сейчас.

Читайте также
VK займется дистрибуцией музыки на стриминговые платформы
VK займется дистрибуцией музыки на стриминговые платформы
VK займется дистрибуцией музыки на стриминговые платформы
SoundCloud увольняет 20% глобального штата
SoundCloud увольняет 20% глобального штата
SoundCloud увольняет 20% глобального штата
Як лідар Relikt i продакт Gismart будуе музычную студыю i жыццё ў Варшаве
Як лідар Relikt i продакт Gismart будуе музычную студыю i жыццё ў Варшаве
Як лідар Relikt i продакт Gismart будуе музычную студыю i жыццё ў Варшаве
Аляксандр Дземідзенка — лідар беларускага гурта Relikt і product owner у кампаніі Gismart — пра пераезд у Варшаву, сацыяльную ізаляцыю, выкліканую рэлакацыяй (спойлер — яе наш герой зусім не адчувае!), новы альбом Byli, Jość, Budziem і ў цэлым — жыццё беларускага музыкі-айцішніка ў польскай сталіцы.
The Chainsmokers станут первой группой, которая выступит в космосе
The Chainsmokers станут первой группой, которая выступит в космосе
The Chainsmokers станут первой группой, которая выступит в космосе

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.