Как стать автором
Обновить

Комментарии 11

Для GameBoy ещё был (а как оказалось есть до сих пор!) менее известный чем LSDj, но тоже популярный трекер "Nanoloop". И стоит отметить, что Goto80 пишет >90% своего творчества на Commodore64 :) А в целом хорошая статья, спасибо!

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

Nanoloop программа несколько иного рода в плане интерфейса, и я решил не усложнять рассказ ответвлениями на тему, в которой слабо разбираюсь. Но действительно, тоже очень интересная штука. Ещё есть Korg DS-10, довольно-таки серьёзный инструмент.

Написание кода на чистом C что реально дает? Код меньше становится по сравнению с C с классами или C++?

Раз уж поставлен другой экран, почему бы не использовать сенсорный, со стилусом? Я понимаю, что получился бы уже совсем не ESPBoy, но можно было бы получить совсем другой уровень удобства, кмк. Сделать что-то вроде мини-экранной клавиатуры, например, с часто используемыми кнопками/командами.

По поводу фото экрана с синевой - можно попытаться снять в формате RAW, из него вытянуть нужную картинку можно с куда более лучшим результатом.

По поводу уникальности звука - не было желания навесить управляемые фильтры типа VCF? Такого ни в каких Спектрумах точно нет. Например, подобное есть в карманном синтезаторе Teenage Engineering PO20. Фильтры LPF и HPV с фиксированной модуляцией, но неплохо разнообразят звучание. Впрочем, я не знаю, возможно ли их в использованном движке применить.

В данном проекте объектную модель применить просто некуда. Я не знаю, что даёт, не сравнивал. Мне просто не нравятся плюсы в принципе, и я не использую их без необходимости.

Другой экран в моей личной кастомной сборке устройства, которой больше ни у кого нет - это малая частность. Основная цель проекта в другом, поэтому не вижу смысла тратить время на поддержку тача, превращая устройство в подобие обычного смартфона. Лично мне на таче пользоваться музыкальными редакторами крайне неудобно, это просто пытка какая-то (пробовал Milky, Sunvox, Caustic). Интерфейс LSDj ощущается намного удобнее и эффективнее.

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

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

Ресурсоемкие FIR-фильтры вроде ресэмплера на десятки точек. Двухполюсный IIR-фильтр - несколько сложений и умножений. Я такой на Arduino Pro Micro делал с контроллером на 16 МГц, на float. Всё прекрасно успевает.

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

Я не говорю про неудобство как класс. Я говорю о личном опыте. У Caustic прекрасный интерфейс, разработанный именно для тач-скрина. Но мне он неудобен.

Прекрасно успевает куда? Если на том же Arduino Pro Micro работает целая игра, требующая 90% вычислительных ресурсов, и нужно помимо синтезатора ещё считать 4 фильтра 44100 раз в секунду?

А сейчас редактор всё время потребляет 90% ресурсов? Я не в курсе, сколько ресурсов свободно, поэтому и написал, что не знаю, насколько возможно сюда фильтры добавить.

Про клавиатуру я неправильно понял, что она физическая планируется. А она как будет использоваться - примерно как в Vortex Tracker?

Я не знаю, сколько ресурсов потребляет редактор, кроме ОЗУ (почти всё целиком), но ему позволительно потреблять сколько угодно, он же вещь в себе. Проблемы могут начаться при встраивании плеера этой музыки в какую-нибудь игру - и я пока не могу сказать, ни сколько именно потребляет плеер, ни существенную ли роль сыграет добавление фильтров. Но по опыту предыдущих проектов под устройство, проблемы с производительностью могут быть (значительная часть времени всюду уходит на пересылку данных в экран), поэтому изначально делался минимальный вариант.

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

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

Теперь понятнее стало. Я как-то не думал, что потом планируется встраивать музыку в какую-нибудь игру. Имеется ввиду - на том же ESP(BD)Boy?

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

и я пока не могу сказать, ни сколько именно потребляет плеер

Для этих платформ не существует каких-нибудь профилировщиков, которые измеряют вычислительную нагрузку?

В конце концов, можно ведь и самому замерять, сколько времени исполнение кода внутри прерывания времени замеряет. Например, измерять среднее/максимальное время исполнения, например, в течение секунды и выводить прямо на экран. В отладочных целях, разумеется, а не для конечного пользователя.

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

И девайс постепенно начнет превращаться в мини-компьютер :-)

Да, LSDJ предназначен на Game Boy исключительно для создания музыки, не для встраивания. Что, кстати, создавало проблемы для homebrew - вроде редактор издавно был, и музыканты были, а музыку к играм делать было особо не в чем (сейчас появились современные решения). Этот же мой проект начинался именно с решения задачи создания музыки для встраивания в проекты, поэтому в нём сохранилась такая специфика, попытка усидеть на двух стульях.

Измерить нагрузку можно, просто пока до этого не дошли руки. Проекту всего пара недель от релиза, плеер для встраивания ещё не готов.

Я не думаю, что будет много желающих подключить клавиатуру именно к девайсу - разве что кто-то решит собрать кастомный вариант со встроенной. А вот на PC это сильно поможет со снижением порога вхождения. Тот же LGPT, в котором такая же схема управления без клавиатуры, использовать на PC - то ещё удовольствие.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий