Важная информация

User Tag List

Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 18 из 18

Тема: AY на PC с использованием DLL

  1. #11
    Member Аватар для lavstudio
    Регистрация
    04.02.2005
    Адрес
    Питер / Россия
    Сообщений
    81
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shiru
    Мне пока не очень ясно, как можно сделать управление AY через midi. Плагин, наверное, должен иметь редактор AYшных инструментов, загрузку-выгрузку их; + полифонию (по чипу на голос, тогда можно сделать условный чип - один тональник, шум, огибающая). Была-бы чёткая концепция...
    1. Делается VSTi. Описание стандарта можно найти в сети. Ключевые слова : Steinberg, VST, VSTi.

    2. Да, загрузка/выгрузка инструментов должна быть.
    3. Полифония - опциональная. Режим "реальный спектрум" (3 square + 1 noise + 1 envelope) отдельно.
    4. Орнаменты. Нужен модуль арпеджиатора, в котором рисуется фактура орнамента. Если на вход пришёл аккорд (2 и более звуков одновременно) - обыгрывается выбранным орнаментом.
    5. Поскольку VSTi плагины предназначены для одновременного их использования, с многоканальной (в смысле - несколько миди-входов и несколько шин в микшере) можно не заморачиваться. Человек откроет в секвенсоре такое количество AYEmulator_VSTi, сколько пожелает.

  2. #12
    Master
    Регистрация
    16.01.2005
    Сообщений
    615
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от lavstudio
    3. Полифония - опциональная. Режим "реальный спектрум" (3 square + 1 noise + 1 envelope) отдельно.
    Как в этом случае управлять нужными каналами? Т.е., вот есть у нас midi-канал, с сообщениями о начале-конце ноты и её параметрах. И есть три тона, шум, огибающая. Как определить, информация о какой ноте должна управлять тоном, шумом, огибающей? Раскидать на разные midi-каналы? Использовать нестандартные сообщения? Как точно передавать значение шума, частоту огибающей? Или в режиме реального AY (не спектрума, всё-же) - тоже используются AY-инструменты? Всё равно, пока не возникает чёткого понимания, как добиться тех-же (а лучше - более гибких) возможностей управления AY по midi так, как это возможно в AY-трекерах.
    Цитата Сообщение от lavstudio
    4. Орнаменты. Нужен модуль арпеджиатора, в котором рисуется фактура орнамента. Если на вход пришёл аккорд (2 и более звуков одновременно) - обыгрывается выбранным орнаментом.
    Т.е., орнаменты - отдельно от инструмента? Как в таком случае выбирать нужный орнамент? Для одновременно пришедших двух и более звуков выбор орнамента не нужен, т.к. можно определить по этим звукам, какой орнамент потребуется (пришло до и ми - значит, 0 и 4). Хотя тут тоже проблема - а если нужен не 0 4, а 4 0?

    Есть и более глобальный вопрос. Орнаменты и сэмплы в Спектрумовских AY-трекерах завязаны на частоту прерываний (смена состояния регистров раз в прерывание). В vsti-плагине можно обойти это ограничение (сделать любую частоту смены состояний, что позволит создавать более сложные инструменты). Но непонятно, от чего тогда отталкиваться орнаменту. Видимо, его надо усложнить - задавать не просто смещения в полутонах, но и длительность между каждым таким смещением.

  3. #13
    Member
    Регистрация
    17.06.2005
    Адрес
    Москва
    Сообщений
    59
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А почему бы просто тупо не забить 5 каналов, что на первых трёх жёстко тон, на четвёртом шум, ну и на последнем огибающая? Единственная непонятка тут будет с огибающей - там же надо ещё сделать что-то типа auto-envelope из ZX-трекеров, чтобы к определённой ноте делалась звучащая "в тему" огибающая. Но "в тему" звучит очень много вариантов(те самые циферки возле "auto-envelope") и у каждого свой тембр... Дык как эти самые варианты переключать? Опять придётся делать нестандартные миди-команды. Ну в порядке бреда - вылавливать из нот аккорды и заменять аккорд на похоже звучащую огибающую. Например отлично помню, что auto-envelope 3:2 звучит похоже на гитарные квинты.

  4. #14
    Member Аватар для lavstudio
    Регистрация
    04.02.2005
    Адрес
    Питер / Россия
    Сообщений
    81
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shiru
    Как в этом случае управлять нужными каналами? Т.е., вот есть у нас midi-канал, с сообщениями о начале-конце ноты и её параметрах. И есть три тона, шум, огибающая. Как определить, информация о какой ноте должна управлять тоном, шумом, огибающей? Раскидать на разные midi-каналы? Использовать нестандартные сообщения? Как точно передавать значение шума, частоту огибающей? Или в режиме реального AY (не спектрума, всё-же) - тоже используются AY-инструменты? Всё равно, пока не возникает чёткого понимания, как добиться тех-же (а лучше - более гибких) возможностей управления AY по midi так, как это возможно в AY-трекерах.
    Делается так. Отойдём от 3-канальности AY, главное - получить "родной" тембр. Плагин имеет 16 миди-входов, что, соответственно, даст 16 сэмплов. В любом секвенсоре можно один и тот же VSTi повесить одновременно на несколько MIDI TRACKs.
    Соотвественно - с каждого канала - свой сэмпл.

    Т.е., орнаменты - отдельно от инструмента? Как в таком случае выбирать нужный орнамент? Для одновременно пришедших двух и более звуков выбор орнамента не нужен, т.к. можно определить по этим звукам, какой орнамент потребуется (пришло до и ми - значит, 0 и 4). Хотя тут тоже проблема - а если нужен не 0 4, а 4 0?

    Есть и более глобальный вопрос. Орнаменты и сэмплы в Спектрумовских AY-трекерах завязаны на частоту прерываний (смена состояния регистров раз в прерывание). В vsti-плагине можно обойти это ограничение (сделать любую частоту смены состояний, что позволит создавать более сложные инструменты). Но непонятно, от чего тогда отталкиваться орнаменту. Видимо, его надо усложнить - задавать не просто смещения в полутонах, но и длительность между каждым таким смещением.

    Рисункок орнамента должен показывть последовательный ход обыгрывания. Т.к. вариантов обыгрывания трезвучия до-ми-соль (например), может быть много.
    Например,
    0
    +4
    +7
    0
    +4
    +7
    и т.д.

    или

    0
    0
    +4
    +4
    +7
    +7
    и т.д.

    или
    0
    +12
    +4
    +16
    +7
    +19
    и т.д.

    Вот эти рисунки и нужно продумать.

    Можно пойти методом, какой используется в некоторых плагинах. Аккорд задаётся в 1-ой октаве, например, а его особенности управляются нотками 4-ой октавы - неиграемыми, но управляющими. (например, по уже расписанной карте орнаментов (которые в плагине пользователь нарисует сам)).






    Минимальная временная единица смены ноток в орнаменте должна быть как на спектруме - 1/50 сек. Если делать иначе - потеряется спектрумское звучание.

  5. #15
    Master
    Регистрация
    16.01.2005
    Сообщений
    615
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от lavstudio
    Минимальная временная единица смены ноток в орнаменте должна быть как на спектруме - 1/50 сек. Если делать иначе - потеряется спектрумское звучание.
    С этим тоже может быть проблема. Темп композиции не обязательно будет кратный 1/50 секунды, а в этом случае могут неверно отрабатывать орнаменты.

    С огибающей пока вообще непонятно. Её ведь отдельно не сделаешь, она должна работать в паре с тональником...

    Цитата Сообщение от lavstudio
    Рисункок орнамента должен показывть последовательный ход обыгрывания. Т.к. вариантов обыгрывания трезвучия до-ми-соль (например), может быть много.
    Спасибо за подробное пояснение, но я в курсе См. мой 'плагин' orgen для Vortex Tracker (хотя там не очень наглядное редактирование получилось) - http://bulba.at.kz/orgen_v04.7z

  6. #16
    Member Аватар для lavstudio
    Регистрация
    04.02.2005
    Адрес
    Питер / Россия
    Сообщений
    81
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Shiru
    С этим тоже может быть проблема. Темп композиции не обязательно будет кратный 1/50 секунды, а в этом случае могут неверно отрабатывать орнаменты.
    Главное -- тембр получить нужный. Можно добавить колёсико тонкой настройки частоты. Для 1/50 это уже всё равно будет звучать не как нота отдельно, а как аккорд. По-моему -- не проблема.

    С огибающей пока вообще непонятно. Её ведь отдельно не сделаешь, она должна работать в паре с тональником...
    А тут всё просто = делать в плагине "соединялки" -- "это звучит с этим". Получается единый тембр. Просто как добавочный осцилятор, и всё.

    Спасибо за подробное пояснение, но я в курсе См. мой 'плагин' orgen для Vortex Tracker (хотя там не очень наглядное редактирование получилось) - http://bulba.at.kz/orgen_v04.7z
    Гляну. Только можно это без 7z выложить? В нормальном зипе?
    Или на lav(собakа)lavstudio.com залить.

  7. #16
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #17
    Master
    Регистрация
    16.01.2005
    Сообщений
    615
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от lavstudio
    Гляну. Только можно это без 7z выложить? В нормальном зипе?
    Или на lav(собakа)lavstudio.com залить.
    Это Сергей так выложил, у него почти всё на сайте в 7z... Ок, залил в мыло в zip'е.

  9. #18
    Activist Аватар для Raider
    Регистрация
    24.06.2005
    Адрес
    novosibirsk
    Сообщений
    266
    Записей в дневнике
    5
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Max Savin
    Да и кстати, почему заморачиваться на чужие DLL-ки, лучше использовать уже готовые решения например winmm.dll или mpeg.dll - проигрывают файлы форматов поддержка коих прописана в Винде с помощью всяких кодеков - гемора просто меньше, чем заново велосипед изобретать. Сделай лучше DLL (или ActiveX) коли ты свой эмулятор чипа на С писал !!! ZX-маны тебе будут благодарны за это, и глядишь Памятник при жизни поставят !!!
    Ну да, гемора меньше. Как раз в этой мелкософтной требухе, которая на COM построена гемора немеряно. Особенно тем, кто взялся за это в первый раз. Уж поверь.

    Гемор в том, чтобы
    а) Нужно читать доку чтобы понят ьконцепцию АПИ
    б) разобраться и прочитать доку на десятки интерфейсов
    в) построить первый stub
    г) понять почему не работают некоторые программы и пофиксить баги (подсказка - не все так просто, многого ты не знал, а оно на самом деле было)
    Alex Raider, Flash inc. 1992-1997 Новосибирск

Страница 2 из 2 ПерваяПервая 12

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •