Интервью с Grzegorz Kraszewski

24.03.2014
Автор: -=/ Szymon Żyła /=-
Перевод: -=/ anonymous /=-

• SZAMAN/eXec.pl:: В феврале этого 2014 года вышла финальная версия музыкального редактора DigiBooster 3 - приложения, которое на сегодняшний день является пожалуй одним из крупнейших проектов для современной платформы нового поколения Amiga. Какое количество строк программного кода содержит сам проект? Написан ли он с нуля или используются классические вставки кода, и главным образом используются ли какие-либо внешние библиотеки?
Grzegorz Kraszewski: Если честно, я даже не ожидал, что смогу наконец закончить данный проект, сомнения были, так как исходный код ранней версии был разбросан более чем по сотни файлам. Тем не менее, я рад, что мне это удалось. Текущая версия имеет около 60000 строк программного кода, который целиком и полностью бы написан с нуля, так как исходник был 100% весь написан на ассемблере под процессоры ряда Motorola68K. Конечно, с точки зрения процессорного ряда PowerPC это бы не составило особого труда в пределах эмуляции, всё же целью новой версии музыкального редактора DigiBooster 3 было написание именно родного «нативного» программного кода под современную линейку Amiga платформы, написанную на языке программирования C. Естественно при поддержке внешних библиотек, к примеру таких как - графического интерфейса MUI и аудио системы AHI, дабы проект был полностью работоспособен в обоих современных операционных системах - AmigaOS 4.х и MorphOS 3.х.
• SZ: Что послужило толчком к началу разработки данного приложения? И сколько времени в общей сложности заняла вся работа над DigiBooster 3?
GK: В середине 2007 года, компания APC & TCP на своём портале объявила о начале поиска сторонних разработчиков для дальнейшего развития нескольких проектов принадлежащих им самим. С тех пор, собственно, я и начал работу над проектом, вот и считайте - с сентября 2007 года до первой официально-финальной версии февраля 2014 года, шесть лет и четыре месяца - без малого!


• SZ: Я не музыкант, но вспоминая DB2, могу сказать - это было действительно довольно мощное музыкальное приложение, основной серьезной проблемой которого стала ограниченность аппаратных возможностей тогдашнего рынка Amiga платформы. Что нового может предложить третья версия данного программного продукта в сравнении с предыдущим детищем Tomasza и Waldemara Piastów?
GK: В первую очередь непосредственно саму производительную мощь линейки PowerPC процессоров, что сразу отмело проблему с временным простоем самой процессорной обработки данных, единственной аппаратной платформой с недостаточно высокой скоростью работы может стать «крошка» Efika с тактовой частотой процессорного модуля в 400МГц, и то, только при использовании максимально возможного числа потоков в размере 254; и то на практике используемые мною 144 потоковые модули работали вполне пристойно. Так что на всех остальных современных аппаратных решениях вы в полной мере сможете использовать DigiBooster на все 100%. При тестировании компьютера на базе процессора G4/500 МГц - оставался ещё довольно большой запас мощности даже при использовании всех 254 потоков, так что ограничение в 144 потока скорее более теоретическое нежели практическое …

Это очень удобно при работе с музыкальным треком при разбитие его на части и работой с каждой из той частей по отдельности. Прошлая версия DB2 была написана таким образом, что рабочее пространство музыкального редактора строго регламентировало длину рабочего окна шириной в 640 пикселей, при этом вмещая всего навсего шесть музыкальных потоков. Теперь же это ограничение полностью ликвидировано - приложение написаное целиком и полностью на языке программирование С с использованием графического интерфейса MUI динамически регулирует ширину рабочего экрана, что позволяет отобразить одновременно столько аудио потоков сколько позволяет сам размер рабочего стола, что также очень удобно при работе с аудио треком разбивая его частично. Таким образом при разрешении рабочего стола Full HD (1920 x 1080) одновременно в рабочем окне отображается до 24 рабочих аудио потоков, что действительно очень удобно, при чём что мониторы с таким разрешением уже на сегодняшний момент не являются особо редкостью. Добавьте к этому улучшенные возможности изменения самого внешнего вида рабочего интерфейса приложения MUI: шрифты, цвета, фоны, рамки, расстояние меж аудио каналами и так далее.

Третим основным отличием новой версии аудио трекера является система синтеза звука, что и является основным ядром и сердцем трекера. DigiBooster 2 в своём классическом исполнении использовал свой собственный аудио формат DBM, использующий в свою очередь свои собственные процедуры микширования. Это конечно в значительной мере облегчило работу самих авторов, однако в таком решении существуют два значительных недостатка. Во-первых, тут стоит понять что существующая система треков формата DBM, была не жизнеспособна на любой другой аппаратной платформе отличающейся от Amiga. Во-вторых сама аудио подсистема AHI с точки зрения цифровой обработки сигнала, применяет свою собственную экстраординарную методику. Что непосредственно влияет на качество получаемого аудио звука, конечно с этим всем в силах справится и бессмертная Paula, но в эпоху 24-битных аудио-карт, все мы выдвигаем аудио потоку совсем иные современные стандарты и требования.

DigiBooster 3 имеет свои собственный «движок», полностью не зависимый от ранее использующейся AHI. Конечно, само приложение имеет полноценную поддержку AHI, но использует её только в качестве одного из ряда инструментов вывода аудио потока, сами процедуры микширования, дискредитации и наложение всевозможных эффектов происходит своими собственными внутренними процедурами. Это кстати порой и было тем самым камнем преткновения для львиной доли музыкантов использующих старую версию трекера, всё это в корне переработано в новой версии приложения.

Таким образом обе существовавшие проблемы были устранены. Мы теперь не привязаны к конкретным характерным особенностям той или иной аппаратной платформы, а также достигли лучшего качество звука.
• SZ: Если мне не изменяет память, вы ранее уже писали некие приложения для работы с семплами в рамках проекта разработки Reggae (которая собственно и касалась непосредственно её аудио составляющей) под операционную систему MorphOS. Может некоторые из этих наработок оказались вам полезными при работе над новой версией DigiBooster 3?
GK: Тут только могу добавить, тот факт что мне больше пришлось работать с самой обработкой звука, собственно в которую я и вложил всю ранее накопленную свою теоретическую и практическую подготовку. Как вы уже догадались, это в конечном итоге и облегчило мне собственно саму работу над трекером.

www.digibooster.eu
www.digibooster.eu


• SZ: Меня всегда интересовало, насколько трудоёмкий процесс разработки узко-специализированного программного обеспечения, которое предназначается довольно определённому кругу пользователей - ведь по сути, вы не музыкант и не композитор. При создании данного приложения вы пользовались консультациями неких музыкантов при содействии с которыми и был разработан сам интерфейс и их возможности?
GK: Тут позволю себе немного с вами не согласится, относительно первой части вашего вопроса :-) В период с 1994 по 1997 года я сам написал около шести или семи музыкальных произведений, на тот момент пользуясь некогда популярными музыкальными редакторами ProTracker и OctaMED. Обе эти программы шли на одном компакт диске, который шёл в дополнении к журналу Amiga Computer Studio. Которые правда не особо были функциональны, но не смотря на это - они дали мне общее понятие относительно построения и возможностей самих трекеров. Но это, конечно, не всё. При написании конечного продукта - DigiBooster 3, я выпустил более двух-десятков бета-версий своего трекера, дабы настоящие музыканты смогли опробовать его и высказать свои пожелания относительно финального релиза. Тут мне не чего лукавить, я общался как по сети, так и лично встречался с многими известными трекерными музыкантами дабы скорректировать свой конечный продукт в нужное русло. Их контакты сохранены и именно их мнение в конечном итоге и повлияло на проект в целом. Тестирование DigiBooster 3 в качестве полноценного приложения, мною было произведено непосредственно на проходившей в Гданьске Party, где одна из моих двух работ заняла второе место в многоканальном compo.
• SZ: Какой этап работы над проектом оказался наиболее трудоёмким и проблематичным?
GK: Я думаю, вы ждёте каких-то подробностей в сфере самой реализации процесса программирования, тут смею вас разочаровать не одна из этих сфер не вызвала у меня особых трудностей. Основная проблема как обычно - простая нехватка времени. Тут довольно трудно сосредоточится на каком-то одном проекте все шесть лет, чередуя его разработку с иными. К счастью, всегда я находил и урывал те минуты вдохновения, которые возвращали меня к работе над ним. А что явилось для меня основной проблемой в самом коде ? То тут реализация «паттернов» стала основным камнем преткновения при переходе со старой версии на новую, да и следовало реализовать поддержку формата DigiBooster 2.

DigiBooster3


• SZ: На данный момент программный продукт доступен исключительно под платформу Amiga - если все версии имеют одинаковую функциональность, то можно ли его собрать и под иные платформы используя исходный код приложения? Какие версии были самыми проблемными при финальной сборке? И хотелось бы знать, какими инструментами или кросс-компиляторами вы пользуетесь?
GK: Да именно так и есть, на сегодняшний день все версии трекера имеют одинаковую функциональную базу, а некоторые части кода имеют привязку к той или иной платформе, но они совсем условны. Трудно сказать, под какую именно систему сборка оказалась проблематичной, да были некоторые функциональные ограничения при создании классической AmigaOS 3.х версии, а что касается современных операционных систем, то тут всё проще AmigaOS 4.х и MorphOS 3.х поставляют свою собственную среду компиляции в составе своих пакетов SDK. Сама же версия AmigaOS 3.х была создана с помощью кросс-компилятора под MorphOS, а позже протестирована в среде эмулятора WinUAE.
• SZ: Каковы преимущества вам дали использование графического интерфейса MUI? И теоретически, возможно ли DB3 переписать под графическую составляющую ReAction?
GK: Некоторые из этих приоритетов я уже описал ранее, динамика изменения размеров рабочего окна, даёт широкие возможности для изменения пользователем его внешнего вида. Для меня большим преимуществом является объектно-ориентированное программирование. Это в значительной мере облегчает создание самого проекта и возможность в будущем просто и не принуждённо добавлять новые функции. Написание DigiBooster при использовании ReAction теоретически возможно, но это не является де-факто родным для MorphOS и классической AmigaOS 3.х систем, что не может подойти для создания серьезных системных приложений.
• SZ: Как вы вообще оцениваете поддержку аудио подсистемы AHI? Она накладывает какие-либо возможные ограничения? Это подразумевает под собой тот печальный факт, что вот уже на протяжении нескольких лет на платформе Amiga не создаётся никакой альтернативы в этой области - возможно следует положить начало чему-то новому? Реалии современного аппаратного парка уже подталкивают всех нас на переход к чему то совершенно новому и кардинально отличающемуся от сегодняшних архаичных реалий программного обеспечения.
GK: Большинство проблем с AHI я смог минимизировать именно благодаря собственно незадействию самой системы :-) Действительно, AHI разрабатывалась и создавалась исключительно под аудио решение на базе Paula, что довольно архаично на сегодняшний день в свете современных аудио-процессоров. Как это ни странно и парадоксально звучит, но в своё время AHI было неким синонимом качества звука. Мало кто знает, но это факт - AHI по своей сути не способно справляться с полноценным 16-разрядным аудио-потоком, идущим напрямую в аудио карту без незначительных, но всё же искажений. В стандартных условиях, всё это ограничивается 14-разрядным режимом, иногда даже переходящим в 13-разрядный! В свою очередь, единственное преимущество использование алгоритмов дискретизации AHI - это их скорость, к сожалению порой доводящих само качество звука до драматизма. К счастью DigiBooster 3 написан таким образом дабы не затрагивать дискретизацию AHI совершенно, так что при этом слушая музыку в формате MP3, качество выходящего звука составляет 44,1 кГц, что обусловлено её входом на аудио карту в 48 кГц, AHI в этом случает максимально выдала бы нам искажение до -26 дБ, что соответствует среднему уровню шума стандартных кассетных дек - помните такие :) И то, они в среднем не превышали уровень шума в 40 дБ …

Дабы понять о чём речь, люди знакомые с музыкой не понаслышке могут провести простой эксперимент, создаём простой семпл отображающий «синусоидальную волну» плавно сменяющую звуковую волну, частота которой колеблется от 200 Гц до 2 кГц, и загружаем её в DigiBooster 2, проигрываем искомое за исключением колонки C-4 (которая приводит к дискретизации звуковой дорожки), и что мы слышим, звук зеркально падает - вот что значит пресловутая обработка AHI. В DigiBooster 3 же, слышим тот же спадающий звук только на гораздо более низком уровне тональности звучания.

Учитывая тот факт, что на данный момент у нас есть возможность использовать внешние аудио-карты при поддержке необходимых драйверов, данные AHI ограничения отходят в прошлое. Хотя как я сам понимаю, решение той или иной проблемы придёт ещё не скоро, мы по-прежнему в большинстве своём обязаны будем реализовывать обратную поддержку и совместимость с AHI, или разрабатывать нечто новое просто в содействии с существующей аудио системой.
• SZ: Трекерная музыка в основном востребована на рынке демо-сцены, имеются ли уже на данный момент какие либо работы созданные именно в вашем трекерном редакторе - DigiBooster 3, которые бы послужили своеобразным ответом на вашу проделанную работу - так как я уже видел на портале www.modules.pl информацию относительно нового трекера.
GK: Ну если всё же игнорировать мои ранее написанные две работы, выложенные мной на портале поддержки - www.digibooster.eu, иных пока что мне не известно, возможно связано это с тем, что музыканты выкладывающие свою музыку на www.modules.pl, даже если они как-то и связаны с платформой Amiga, уже долгое время творят на pc трекерах, либо вообще в DAW формате совершенно не относящихся к трекерной музыке. Так что я думаю, у DigiBooster 3 ещё всё впереди, так как приложение содержит довольно много уникальных функциональных возможностей, и оно довольно конкурентно-способно в сравнении даже с такими грандами как Renoise. Хотя по сути я даже не ожидал, такого интереса к своему продукту со стороны музыкальной сцены, Amiga музыканты творившие в своё время трекерную музыку постепенно возвращаются к своим истокам, так что возможно, именно ради любопытства они и обратят внимание на подобное приложение.
• SZ: Вы планируете выпустить DigiBooster 3 для других аппаратных платформ, не связанных с Amiga рынком? Мы знаем, что вы делаете исходный код доступным для разработчиков, дабы каждый желающий смог собрать свой модуль DBM трекера под любую из доступных современных OS - это правда?
GK: У нас нет планов по выпуску данного приложения вне Amiga платформы - тут DigiBooster 3 прежде всего, останется очень востребованным трекером, да и почва довольно таки благодатная для устранения существующих недостатков и выпуску последующих обновлённых версий приложения. На сегодняшний день программе есть куда рости и совершенствоваться, поэтому на данном этапе мы не рассматриваем её жизнеспособность вне Amiga платформы. Что касается собственно самого плеера, то уже сейчас он полностью работоспособен вне AHI среды, с естественно реализованной её поддержкой - работоспособность уже подтверждена на следующих доступных операционных системах - Windows (от XP до 8, как в 32 так и в 64 битном режиме), Mac OS X (x86_64) и Linux (x86, x86_64, ARM). Кроме того, благодаря помощи Andreas Falkenhahn в программный код была интегрирована поддержка пакета Hollywood, который в дополнение к вышеупомянутым системам также работоспособен и под Android и iOS.

DigiBooster3
DigiBooster3


• SZ: Тут возникает идея о реинкарнации старых версий системных приложений под Amiga, так сказать в новом обличии и в обновлённом функционале, дабы простимулировать возвращение пользователей на платформу в целом? Реально ли это, в применении к иным приложениям, и является ли это теперь для вас как бы приоритетным направлением?
GK: Да, мне кажется, что это было бы правильное направление в расширении пользовательской аудитории, тут каждый из нас должен понимать, что у платформы Amiga нет шансов завоевать популярность даже на уровне Linux решений, без возвращения и привлечение на неё старой гвардии пользователей. Поэтому для нашей платформы ещё имеются не заполненные ниши, ниша энтузиастов должна заинтересовывать, а не имитировать эту заинтересованность. Задумайтесь почему люди используют Linux или MacOS? Всё просто эти операционные системы не такие как Windows, они предлагают другие более эффективные решения, тут рассматривается даже иной подход в решении возникающих проблем. Поэтому моё мнение, Amiga платформе стоит бороться, у нас есть основное это наш дух - дух борьбы и благоприятный климат самой системы, и это я не о портировании неких Firefox или Open Office.
• SZ: Какой программой вы планируете заняться в обозримом будущем? DigiBooster 3 является коммерческим продуктом - вы будете и дальше поддерживать данный проект, его развитие или он останется только в качестве вашего хобби?
GK: С моей точки зрения DigiBooster 3 совсем не коммерческая программа, так как она создавалась не профессиональным программистом и не ставила перед собой цель - коммерциализации. Так как я не собираюсь зарабатывать на ней, а если бы и хотел - неужели на этом я бы смог прилично заработать, я всё оцениваю предельно реалистично. Скорее да, проект будет развиваться именно как моё хобби, при этом конечно я не откажусь от поощрений и спонсорской поддержки своего проекта, дабы покупка нового аппаратного Amiga решения не тянула деньги из моего семейного бюджета, вот как-то так. В ближайшее время я не планирую браться за столь грандиозный проект, скорее буду заниматься доведением до ума этого, хотя если смотреть в перспективу, то я позволю взять парочку более мелких, к примеру, таких как BitCoinWare, кстати на который имеется гранд, но это всё стоит рассматривать лишь в том случае, когда у меня появится хоть малая часть свободного времени.
• SZ: Заглядываете ли вы хоть иногда на наш портал eXec.pl?
GK: Не очень часто, так как говорю искренне свободного времени практически нет. Поэтому, мои визиты ограничиваются одним - двумя посещениями в течении месяца.


Назад