DaoMail - путь письма
социальная почтовая служба (beta-версия)
весь DaoMail
вход / регистрация
Гость
ваша подписка (0
реклама
Интервью: Как и для чего разрабатывается музыкальное ПО для планшетов
| text | html

web-архив: по темам » Hi-Tech » периферийные устройства и аксессуары » акустика » микрофоны » это письмо

2012-08-15 15:09:35

Юрий Ильин Автор: Юрий Ильин

Опубликовано 15.08.2012 в блоге "Mobile" (rss)

Когда появился iPad, сразу стало ясно, что электронные музыканты положат на него глаз. Так и случилось: для планшетов написали колоссальное количество музыкального софта самых разных видов и качества. Скажем, знаменитый клавишник Dream Theater Джордан Рудесс, много лет экспериментирующий с нестандартными интерфейсами для музыкальных инструментов, активно занимается написанием программных синтезаторов для iPad. Вот, например, его MorphWiz.

Даже именитые исполнители порой используют планшеты: первыми на ум приходят Gorillaz, недавний альбом которых был записан целиком на iPad (хотя сводился, естественно, отдельно), и Бьорк, также активно использовавшая свой планшет для написания материала для альбома Biophilia (он, кстати, потом и выпущен был в качестве приложения для iPad). 

Разработка музыкальных приложений для планшетов ведётся и в России. Проект Warmplace начался, впрочем, задолго до появления нынешнего поколения портативных компьютеров на iOS и Android. Собеседник "Компьютерры" — Александр Золотов, создатель проекта, начинавший работу над музыкальным ПО для карманных устройств ещё в начале прошлого десятилетия, когда миром правили карманный компьютер Palm.

— Расскажите, пожалуйста, о себе и о своём проекте Warmplace.

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

Warmplace.ru (скриншот)

В начале 2000-х я заболел идеей карманного трекера-синтезатора. К примеру, гуляете вы где-нибудь в лесу, или лежите на травке и наблюдаете за плывущими облаками. И вдруг, внезапно в голове вашей зарождается красивая музыкальная композиция. Вы достаете из кармана миниатюрный компьютер, записываете на нем мелодию, часть инструментов собираете из кубиков-генераторов на экране, пение птиц и шелест листьев пишете с микрофона. Окончательное прослушивание в наушниках, мастеринг. И все, произведение готово! Конечно, в то время это звучало более фантастично, чем сегодня. Я начал писать первую версию такой программы (PsyTexx) и по ходу дела как-то подсознательно стал ощущать теплоту самой идеи. Во-первых, вы более свободны, не привязаны к месту. Во-вторых, здесь получается своеобразный интерфейс взаимодействия человека с природой посредством машины. Эти мысли привели меня к задумке "Теплого места" — уютного сайта, где бы я выкладывал свои творения и делился теплом с окружающими. Так родился WarmPlace.ru, на первых порах символом которого был КПК, утопающий в зеленой траве и лучах Солнца. А в 2005 году мною был закончен музыкальный альбом "WarmPlace" — первый в мире, написанный с нуля на одном лишь КПК (под управлением PalmOS) с трекером PsyTexx. Его и другие альбомы можно послушать на одноименном сайте.

— С чего и когда началось Ваше увлечение демосценой? Самого беглого взгляда на сайт достаточно, чтобы увидеть софт, написанный аж под DOS и даже в новых программах интерфейс отчётливо стилизован под 8bit; из этого можно сделать вывод, что увлечение давнее, не так ли?

— В мир демосцены я с головой окунулся в 1995 году. Два ярких события стояли у истоков этого увлечения. Первое — просмотр демки Crystal Dream II от группы Triton. 

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

В последствии я стал пытаться делать свои демки, какие-то графические и музыкальные эксперименты. Сначала на QBasic; потом на интерпретаторе Си, встроенном в графический пакет Autodesk Animator; затем в ход пошли Assembler, Visual Studio, GCC. Демки, в моем понимании, передают особую атмосферу компьютерного искусства, самодостаточного, не похожего ни на что. Этим я пытаюсь руководствоваться и в своих программах. Например, если беглым взглядом окинуть их скриншоты на сайте warmplace.ru, то вы почти не найдете фотореалистичных интерфейсов, стилизованных под устройства из реального мира (например, реалистичные крутящиеся ручки с тенями, фотографии панелей реальных синтезаторов). Я нахожу такое попугайство неприемлемым, отвлекающим от сути приложения. С точки зрения пользователя я бы просто чувствовал себя обманутым, видя на экране электронную лампу, но не зная при этом, насколько хорошо внутренние алгоритмы эмулируют ламповое звучание и делают ли это вообще.

— С чего и когда началось создание именно программного обеспечения? Какая мобильная платформа для вас сейчас наиболее предпочтительна и почему?

— Первую строчку кода я написал, если не ошибаюсь, в 1991 году. Мой старший брат Евгений Золотов тогда настоял на покупке компьютера. Им стал самодельный ПК "Специалист" с восьмибитным процессором i8080 (а точнее — его советским аналогом), 48 килобайтами памяти и монохромным выходом на телевизор. Конечно, мое отношение быть серьезным еще не могло, и дальше строки PRINT 10 я не уходил. Куда интереснее были игрушки с кассеты, которая шла в комплекте. Брат же довольно быстро освоил Ассемблер и начал писать свои программы, вводя код прямо в виде шестнадцатеричных чисел, помня на изусть коды всех машинных инструкций.

На втором компьютере (клон ZX Spectrum 1993 года) я, опять же глядя на деятельность брата, постарался детальнее освоить язык Basic. И, спустя некоторое время, будучи к тому же ярым фанатом тепловозов и железной дороги, написал свою первую "серьезную" программу — симулятор поезда с видом из кабины, жутко примитивный, но рабочий. Исходники не сохранились, и слава Богу.

Первую поделку, которой реально можно было пользоваться, я написал спустя годы. Это был WorldDesigner — редактор несложных 2D-стрелялок под DOS: рисуем спрайты, затем уровни, выставляем "плохих парней", монстров, жмем Play — все, можно играть!

В данный момент наиболее удобной для себя считаю систему Linux. Во-первых, это вроде конструктора, собираю под себя ровно то, что нужно, отсекая лишнее. Из оконных менеджеров, например, предпочитаю минималистичный и быстрый OpenBox. Во-вторых, здесь более естественно смотрится GCC — мощный инструментарий разработчика. Один скрипт при помощи GCC компилирует мои программы сразу для нескольких систем: Linux, Windows, Windows Mobile, PalmOS, Android, Maemo, Meego. И все это не выходя из Linux терминалки.

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

— А в том, что касается собственно программирования, с чем проще работать, с iOS или Android?

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

— На будущий год планируется выпуск OS BlackBerry 10, построенной на основе системы реального времени QNX. То, что они получат значительную долю рынка в России, далеко не факт, но всё может случиться. Вы не интересовались этой системой?

— Довольно немного знаю о QNX. Помню, в конце 1990-х она распространялась бесплатно в виде образа для дискетки, где помещалась вся ОС, оконный менеджер, браузер и прочее. И все это летало на стареньком 486SX, в отличие от Windows. Приятная штука. Думаю, разработка нативных приложений для нее была бы интересной. Но, боюсь, что бизнес аудитория BlackBerry — не совсем то, что нужно мне сейчас для распространения звуковых программ. Хотя, кто знает. Все меняется.

— Если говорить по конкретным программам, то — что из себя представляет SunVox и как появилась идея её создания? Она при первом же взгляде вызывает массу ассоциаций с NI Reaktor, хотя и не с таким богатым функционалом. На кого, в сущности, рассчитана эта разработка?

— У истоков SunVox как раз то, о чем я писал в ответе на первый вопрос. "Теплый" музыкальный софт для наладонников. А в начале 2000х полноценных трекеров для КПК вообще не существовало. Первая итерация — это трекер PsyTexx для платформы PalmOS. Его я успешно протестировал в полевых условиях, написав на карманном компе целый альбом. Практическое использование выявило и недостатки: движок PsyTexx был основан на старом трекерном формате MOD, а следовательно мог поддерживать только восьмибитные сэмплы. Кроме того, из за ошибок в проектировании PsyTexx оказался непереносимым на другие платформы. В надежде улучшить программу я было начал писать PsyTexx 2, опираясь на более продвинутый формат XM, но дальше alpha-версии дело не сдвинулось. Решено было создать что-то совершенно иное с нуля. То, чего не хватало мне во всех других музыкальных программах.

Примерно в 2006 году я начал писать SunVox. Требования были следующие. Кроссплатформенность — чтобы одинаково работал как на маломощных наладонниках, так и на обычных настольных ПК. И чтобы при этом графический интерфейс и логика работы не менялись от системы к системе. Встроенный модульный синтезатор, как в NI Reaktor, но слегка упрощенный, как в трекере Buzz (чтобы не распутывать паутину проводов). Встроенный трекер — демосцена здесь конечно наложила свой отпечаток, другие типы секвенсоров (пианоролл, матричный) я в то время вообще не рассматривал. Компоновка паттернов на таймлинии с перекрытием и без привязки к дорожкам, то есть полная свобода. 

Особенно сложным местом оказалось написание кода модульного синтезатора для слабых устройств. Например, мой Palm имел процессор с частотой около 150 мГц и был лишен математического сопроцессора. То есть, 32-битные вычисления с плавающей точкой отпадали сразу. Поэтому было решено использовать 16-битные числа с фиксированной точкой на слабых компах, и 32-битные — на мощных. В целом, звук получался идентичным, за исключением большего количества шумов на наладонниках. В итоге, на КПК можно создавать полноценные композиции из десятков синтезаторов и эффектов — это очень хороший показатель.

С 2006 года многое изменилось. Новые платформы, планшетные ПК, мультитач. А SunVox продолжает разваваться и по сей день хорошо справляется со своими задачами, позволяя писать музыку, не обращая внимание на то, какая у вас система, какое устройство. Программа постепенно обрастает новыми модулями, возможностями. А если какого-то звука/эффекта не хватает, то его как правило можно собрать из имеющихся модулей. Ну и конечно немаловажная деталь — SunVox полностью бесплатный, за исключением iOS и Android версий, где продается по смешной цене.

— Несколько вопросов по поводу VirtualANS: насколько программа идентична именно тому самому советскому синтезатору АНС? Каким образом производится интерпретация графической информации в звуковую? Кстати, если не ошибаюсь, аналогичные функции были в Camel Audio Cameleon 5000 (можно было, правда, загружать только BMP, JPEG не поддерживался).

— Идентична железному АНС на 100 процентов. Плюс некоторые дополнительные функции. Информация интерпретируется по следующим правилам: ось X — время; ось Y — тональность от самой низкой ноты к самой высокой; яркость точки — амплитуда синусоиды. Например, если высота картинки — 720 пикселей, то во время ее проигрывания мы будем слышать 720 синусоид, играющих одновременно.

Скриншот VirtualANS с загруженным в него изображением

Изображение, использованное для получения сэмпла

Я не знаком с Cameleon 5000, но думаю, что большинство программ, преобразующих изображение в звук, действуют по похожим правилам.

— Не было ли мысли сделать версию для планшетов? Например, для iPad есть немало весьма качественных программ для рисования (Procreate, например), возможно, было бы вполне логичным обеспечить возможность загрузки в VirtualANS изображений, сделанных прямо в них?

— Открою секрет — работа над такой версией идет. Надеюсь в ближайшем будущем порадовать всех продолжением VirtualANS.

— Планируете ли Вы какие-нибудь новые разработки в ближайшее время, в виду активного развития устройств на iOS и Android и роста их системных показателей?

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

— Что из себя представляет Pixilang? Каково его назначение?

Pixilang — кросс-платформенный язык программирования для небольших программ, так или иначе связанных с графикой и звуком. По синтаксису -что-то среднее между Ассемблером, Бейсиком и Си. В отличие от большинства современных языков в Pixilang используются некоторые принципы программирования, которые были модными в персональных компьютерах прошлого, когда программы писали, используя Basic или связку Basic + Assembler для однозадачных операционных систем: 

программу можно писать без функций, просто списком инструкций с

условными переходами;

сразу после старта программе выделяется чистый экран (или окно), к

которому можно обращаться на уровне пикселей, или использовать готовые

графические примитивы. 

Примеры моих приложений, написанных целиком в Pixilang: PixiTracker, PixelWave, SpectrumGen. Более того, новая версия VirtualANS тоже будет создана при помощи этого языка.

Читайте также

Источник



web-архив: по темам » Hi-Tech » периферийные устройства и аксессуары » акустика » микрофоны » это письмо








© 2004-2024 DaoMail.ru