Пишем Midi-хост

SilverEye

Active Member
6 Апр 2004
1.190
17
38
Привет всем участникам!
В общем, камрады, тут такая тема. Мы вдвоём с другом решили попытаться написать удобный, правильный MIDI-хост. И я обращаюсь к вам для того, чтобы мы с вами могли посотрудничать и вы смогли поучаствовать в разработке, давая нам свои бесценные советы по тому, как и что нужно сделать правильно в новом продукте. Я, как вы знаете, музыкант, ну заодно ещё и программист, поэтому думаю, что мы с вами сможем конструктивно обсудить все нюансы с различных точек зрения (я думаю, мой друг-разработчик тоже подключится к обсуждению, если тред будет иметь развитие).
Итак, основные моменты грядущего проекта:
1. Нашей главной целью является создание коммерческого продукта, являющегося альтернативой всем известным хостам. Стоимость по сравнению со стоимостью последних будет на порядок ниже, для граждан ex-СССР на два порядка. :)
2. Будущий хост будет поддерживать VST, DX и VSTi, но при этом сам он не будет содержать ни собственных инструментов, ни встроенных обработок. Отчасти из принципа (ну многие ли из вас сидят целиком и полностью на внутренних обработках?), отчасти с целью сэкономить время и потратить все силы на создание продуманного, интуитивного и максимально удобного музыканту интерфейса (чего большинству хостов, ИМХО, очень недостаёт) и звукового движка.
3. Пока что мы планируем реализовать MIDI в полном объёме (Piano Roll, VSTi и DX, удобная автоматизация и прочее), аудио же мы скорее всего реализуем на начальном уровне (просто аудио-дорожки без возможностей делать stretch, анализирование спектра и подобных фич).
4. Нашими потенциальными потребителями должны стать музыканты, которые не имеют большой суммы денег на покупку, скажем, Cubase, но которые зарабатывают на жизнь музыкой и не хотят поддерживать воровство в среде интеллектуальной собственности. Небольшая цена и удобство в использовании будут стимулом уйти от воровства.

Чуть попозже я выложу идеи, которые пришли нам в голову, и которые касаются в основном интерфейса и способа работы редактора (собственно, удобный редактор сейчас наша основная цель). Вы можете критиковать их, высказывать свои мнения и предлагать описания своих придуманных фич в свободной форме, мы будем только рады. Если этот проект будет иметь продолжение, всем участникам обсуждения будем слать беты в подарок. :)
Ну и хотелось бы услышать ваши мнения о том, что вы думаете о таком проекте? Будет ли он иметь успех? Я давно и много читал, в том числе и на этом форуме, баталии о стоимости музыкального ПО и альтернативных вариантах. Ни одна из дешёвых программ, позиционирующихся как музыкальные редакторы, не удовлетворила моих потребностей... Обычно причина - банальное неудобство и непродуманность.
 
Это очень хорошая идея! Я думаю , что у каждого есть "больные мозоли" , которые бы хотелось "вылечить". Могу при необходимости поделиться тем , что бы хотелось видеть в "идеальном" миди хосте.
 
Да уж, задача не из лёгких:suicide2:. Готов внести свои предложения.
Насчёт аудио - если будет редакция по 5 точкам (аля Cubase, Samplitude, Reaper etc.) - уже будет хорошо:good:.
 
Пияно ролл с функцией зума кладите прямо на дорожку - задолбало по окнам скакать
Эффекты и инструменты - цеплять туда-же (или в микшере над дорожкой)
Все (любые) операции должны назначаться на горячие клавиши - чем меньше работы мышью тем лучше
Работа с миди-нотами в пиано ролле должна быть полностью доступна с клавиатуры (поставить ноту, траспонировать вверх-вниз, сдвинуть вперед-назад, изменить velocity, изменить длительность и т.д.) выделить несколько нот (shift+стрелки), удалить, скопировать (несколько раз)...

пока все.. :yes:
 
Audience написал(а):
Пияно ролл с функцией зума кладите прямо на дорожку - задолбало по окнам скакать
Ну это тоже на любителя, я лично почти никогда этим не пользуюсь (особенно при наличии 2-х Wide 19-шек). Неплохой показалась идея в energy XT2 - можно сделать PR закладкой, причём почти на весь экран (а не на половину, как в Сонаре). А вообще насчёт пианоролла - можно посмотреть в energyXT 1.41, уж больно он удобный там.
 
konion написал(а):
по поводу работы с многоканальными VSTi лучше всего отталкиваться от Cubase там все очень хорошо продумано
Только Куба 4-го, чтобы можно было лишние каналы нах рубить. Впрочем, в Сонаре коммутация ещё лучше, ИМХО, жаль, пока нет только Instruments Tracks. Зато такая мелочь как Track Icons значительно облегчает жизнь, врочем как и возможность выборочно и независимо прятать каналы в микшере и в окне трэков.
 
Мне по интерфейсу больше всего нравится Tracktion (именно как миди-секвенсор, для задач вроде "загрузить встшек и наиграть композицию"; редактированием миди я не пользуюсь, поэтому как там с редактированием - не знаю). Соответственно, хотелось бы видеть нечто аналогичное, в частности возможность одним кликом (в трекшене это делается перетаскиванием, на мой взгляд лучше просто кликом в нужном месте) добавить в любое место проекта инструмент или эффект.
Также хотелось бы иметь удобный способ делать layer'ы и split'ы для VSTi, тоже одним кликом и с вводом зон с midi-клавиатуры, а не тыкая в мелкие нарисованные клавиши или вводя вручную буквенно-цифровые обозначения нот (такая, казалось бы, очевидная фича ни в одном из известных мне секвенсоров почему-то не реализована).
Ну и Tracktion'овская фича под названием "rack filters" (тоже ведь очень очевидная вещь - возможность соединять VST инструменты и эффекты между собой как угодно), на мой взгляд, должна присутствовать в каждом уважающем себя секвенсоре.
 
А я б хотел браузер с семплами,чтоб как в ФЛ Студио. :declare:
 
пиано ролл и браузер из фл
варпинг и легкость битматчинга из лайва
упорядочивание плагинов из сонара
non-destructive audio editing из протулз
 
Раз уж не будет полноценной поддержки аудио, то сделайте поддержку внешнего аудио-редактора. Типа как в ACID Pro - выделил трек, обработал его в форже, закрыл форж и далее работаешь с этим треком ужен в эйсиде.
А вообще, ребята, вы сами понимаете на что вы замахнулись?:))
Здесь два варианта - либо сделаете действительно достойный продукт, который попадет в десятку популярных миди хостов ВО ВСЕМ МИРЕ, либо это будет очередная локальная пародия на такой миди хост.
Хочется первый вариант!)))
 
Набор нотн. текста - как Sibelius - с клавиатуры комп-а. Вообще в Sib-e есть много хороших вещей , облегчающих жизнь. Немало аранжировщиков набирают по-быстрому свои работы в Sib-e [ Finale ] , экспортируют .mid , затем доводят в мидихостах
 
Арифметику закладывайте сразу 64-битную
Делайте возможность соединения по rewire с другими хостами чтобы можно было инструменты цеплять - покроете много потребностей
В пиано ролле - при постановке ноты и ее редактировании сделайте чтобы на фортепианной клавиатуре слева обозначалась та нота, которая в данный момент активна, и хорошо бы, чтобы от ноты до клавиатуры ф-но тянулась тоненькая линия (чтобы было видно какая нота редактируется и где она на ф-но)
При редактировании ноты (изменению параметров), естественно, она должна звучать, при перемещении курсора по нотам, так же они должны звучать..
 
Обязательно обратить внимание на функции обеспечивающие уже на первом этапе сочинительства "мидийный кач":
-Не "тормозную" функцию Scale,как в Tyros(e) (с кнопками управления в основном окне...чтобы можно было работать не только с виртуальными,но и с внешними синтами)
-Предельно простую функцию Groove,только не навороченную как в Лоджике (с кнопками управления в основном окне..и только для работы с расширением DNA)
и ещё:
неплохо бы внедрить в прогу редактор Karaoкe,как в Бенд Боксе (песни же частенько капризному клиенту делаем...многие музыканты имеют оплачиваемую работу в этом направлении....),большое текстовое окно (только не как в Cubase) и плеер проигрывания рабочих файлов (в меню File...да чтобы он внешними синтами по миди в Висте безпроблемно командовал...).
Удачи!! (в почти безнадёжном деле..).
p.s.
При написании хелпов желательно обратиться к коллективному,форумному совету (многое в форуме уже есть) с общим разрешением на не указание авторства подсказчиков (нажал на кнопочку-короткая подсказка выплыла....).
Мечтаю о чистой,без VST функций Midi-хост программе (поэтому до сих пор работаю в раннем уже во многом устаревшем Cubase + вспомогательные миди программы,набирая свой "идеал-сетап" как бы одной программы...)
 
Спасибо всем за комментарии, я обязательно отпишусь подробно по некоторым пунктам в скором времени.
 
полюбому пианоролл как фруктовый, и роутинг ризоновский надоть )))))))))))))))))
 
Имхо, пиано рол самый удобный в сонаре, с возможностью наложения дорожек, и возможностью показать-скрыть любые дорожки "галочкой", и редактированием контроллеров внизу окна пиано рола.
 
А блин, идея просто супер.
Ждем с нетерпением, даеш алтернативу
Микшер как в Reason, чтоб висел , и не мешал :good:
Транспорт панель тoже как в Reason, заипал уже он в Нуендо
 
А еще пожелание - чтобы VSTi открывались и загружались так, как в Orion Platinum - указал один раз директорию - и все, не надо никаких сканирований при запуске программы и при установке новых инструментов, как, например, в Sonar или Nuendo.
 
...А вообще, ребята, вы сами понимаете на что вы замахнулись?:)) ...

SilverEye написал(а):
Ну и хотелось бы услышать ваши мнения о том, что вы думаете о таком проекте?

Вот мое мнение: считаю, все это утопией как программист с многолетним стажем. То на одном, то на другом форуме появляются такие темы. Как правило "запалу не хватает", да что там "как правило", всегда! Если бы проект был открытый, у него был бы шанс, малюсенький шансик, что его подхватят другие когда первые авторы бросят, и то при почти невыполнимом условии, что написано достаточно много. Вдвоем с другом... нет, секундочку, программистов из вас только друг, так вот этот друг (пусть с вашей по-совместительству-помощью) будет разрабатывать это лет пятнадцать при условии, что он не будет нигде больше работать.

Хотите хороший совет? Нет, не "Забейте". Порекомендую вот что: напишите для начала какой-нибудь VST-плагин полезный всем и постарайтесь довести работу до конца. Затем посмОтрите какова его популярность, сколько уйдет времени и сил, и многое для вас прояснится.

Но, несмотря на скептицизм, не веря, но надеясь, я желаю вам удачи.
 
  • Like
Реакции: Spray и casper
Ну почему ж только друг. SilverEye тоже программист.

Просто, как мне кажется, удобным это сделать можно. Но не так.

Прочитав ветку, я вижу уже сотню разных мнений и направлений развития продукта. Кучу ненужных пока фишек и прочего. Эти все "желалки" - это конечно хорошо, но ИМХО надо отталкиваться от реальных позиций. А реальность такова - для начала надо написать хотя бы удобный миди-редактор. Кстати, не пианороллом единым... Ну ладно, допустим пусть будет пока только пианоролл. Написать хотя бы удобный пианоролл - всё!

Думаю, этой цели хватит как минимум на год. Ну или на несколько месяцев, если запал действительно очень большой.

Но тут возникает второй момент - у всех желалки разные. Одному нравится "так как во фруктах!", второму "как в сонаре!", третий вообще принимает только древний Cakewalk Pro Audio... Ведь есть много разных стилей. Одному нужен грув, второму надо удобно забивать полифонию и быстро проверять гармонию. Цели у всех разные, и универсальное решение найти будет довольно сложно. Тем более, с таким подходом как сейчас (все высказывают желалки) - с таким подходом далеко не уедешь. Хорошо, что SilverEye у нас сам музыкант - у него есть свои какие-то музыкальные идеи на счет удобства миди-редактирования с точки зрения именно музыканта.

Так вот начинать надо, как мне кажется, именно с них. Товарищ SilverEye, выскажи свои идеи по удобству пианорола, и чем он у вас будет лучше, чем существующие ныне пианоролы в кубе/сонаре/фруктах/итп...

И только после четкой, вполне определенной позиции разработчика "Как это будет устроено" - только после этого можно добавлять свои желалки, немного отклоняя этот вектор развития в более оптимальном направлении. Но решать, что имплементить, а что нет всё равно должен и будет разработчик.

Поэтому надо доказывать - почему всем нам удобнее будет именно так, а не эдак. А не просто "хочу как там".

Вот. Такие мысли. Теперь вкратце действия:

1) SilverEye напишет, чего же такого революционного он там придумал.
2) Мы все дружно это обсудим и отшлифуем до состояния, близкого к идеалу (если это конечно возможно)

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

а как же Reaper например, его вообще один человек пишет. вроде пока успешно :)
 
2 Fine Tune ну может я чуть-чуть преувеличил.. но не за два же года написали Ваш Reaper (впервые услышал, специально в гугле нашел скрин)?

Ну почему ж только друг. SilverEye тоже программист.

И в мыслях не было задевать SilverEye, он сам написал:

SilverEye написал(а):
Я, как вы знаете, музыкант, ну заодно ещё и программист.

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

vicnaum написал(а):
...Ну ладно, допустим пусть будет пока только пианоролл. Написать хотя бы удобный пианоролл - всё!...
- и пусть результаты, написанные в этом суперудобном пианоролле можно было легким движением руки перемещать на дорожки Cubase и других известных хостов (кроме ФЛ, его пользователи все равно ничего не заплатят :) ).
 
кстати
по поводу интерфейса
а почему не сделать открытый интерфейс на основе xml
может конечно я неправ именно по поводу этого формата.. но можно же сделать редактируемый интерфейс. и тогда он будет разным - подвижным для пользователя.
:)
 
Alex Alexeev написал(а):
Если бы проект был открытый, у него был бы шанс, малюсенький шансик, что его подхватят другие когда первые авторы бросят
----
Здесь - не форуме RMM - есть толковые программисты. А что если взять им и написать вместе миди-аудио-хост? А мы бы - те кто в программировании не силен - , думаю, всем миром скинулись бы по копейке на бутерброды работягам.
Только при одном НО - если работа будет вестись планомерно, и программулина, все же, будет готова... И не через 5 лет. А раньше.
Хотя, опять же, даже такой вариант несколько бредовый. Ведь уже давно все есть).
 
Для того, чтоб ваш хост уделал все остальные реализуйте следующее:

1) Зумминг по горизонтали как в Sony Vegas назначенный на колесо прокрутки, независимо от положения кусрора

2) Хорошо бы миди-евенты так же фейдились и кроссфейдились как аудио-евенты в том же Sony Vegas

3) Чтоб была внятная и доступная из всех редакторов (Piano Roll, Event List) кнопка скачкообразного изменения темпа в 2 раза быстрее или медленнее. Как в кейкволке

4) Чтоб при изменении темпа позиция курсора не менялась (ужасно бесит в кубе)

5) Кнопка или горячая клавиша "промотки" (навигации по проекту) вперёд или назад тактами и назначаемыми долями. (В кейкволке тоже такие были)
 

Сейчас просматривают