User Tag List

Показано с 1 по 10 из 443

Тема: Пишу шедевр для «Вектора 06Ц»

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    Регистрация
    24.08.2012
    Адрес
    г. Волжский
    Сообщений
    458
    Спасибо Благодарностей отдано 
    792
    Спасибо Благодарностей получено 
    268
    Поблагодарили
    103 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Эта невероятная Pb. Что-то я запутался в её вычислении.

    К примеру в миди тексте дано следующее:
    77 On ch=2 n=76 v=127
    77 Pb ch=2 v=8122

    Что означает в канал номер 2 загрузить ноту 76 + применить к этой ноте Pb

    Я так понял параметр v=8122 (уровень громкости) всё же учитывается при конверсии ?
    Иначе на основании чего вычислять Pb ?

    По инструкции:
    1. Это число нужно преобразовать в диапазон от -1 до 1.
    0 - это минус один 8192 - это ноль 16384 - это один
    Всё, что между этими точками - вещественные числа в диапазоне от -1 до 1.

    Т.е. всё что от 0 до 8191 это Pb=-1 ?
    А если ровно 8192 то это Pb=0 ?
    А всё что от 8193 до 16384 это Pb=1 ?

    И тогда получается что в данном случае Pb=-1 т.к. v=8122 т.е. меньше 8192

    Правильно ли я понял ?

    -----------------------------------
    Цитата Сообщение от SegaBoy Посмотреть сообщение
    Всё верно x-code расписал. Из описания выше формула получается

    следующая:
    Код:
    noteFreq * 2 ^ ((pitchBend - 8192) / 8191 * halfToneNum / 12)
    где noteFreq это базовая частота ноты к которой применяем изменение pitchBend, а halfToneNum это

    количество полутонов на которое можно сдвинуть высоту ноты вверх или вниз. В описании выше оно

    указано как ±2, но может быть от ±2 до ±12 (я как раз использую ±12, правда я уже не помню как

    пришёл именно к такому значению).

    noteFreq * 2 ^ ((pitchBend - 8192) / 8191 * halfToneNum / 12)

    noteFreq это понятно взять нужно из таблицы частот нот
    pitchBend=-1 (в данном примере)
    А как понять чему равен halfToneNum ? ±12
    Он зависит от значения Pb ?
    т.е. если Pb=0 тогда соответственно halfToneNum=0
    если Pb=1 тогда соответственно halfToneNum=12
    если Pb=-1 тогда соответственно halfToneNum=-12

    И тогда получается что в данном случае halfToneNum=-12 т.к. Pb=-1

    Правильно ли я понял ?
    -------------------------------------

    В результате получается
    если Pb=0 тогда воздействия на ноту никакого не будет
    если Pb=1 тогда если например была нота до#2-й октавы то она станет до#3-й октавы
    если Pb=-1 тогда если например была нота до#2-й октавы то она станет до#1-й октавы

    Т.е. при конверсии алгоритм такой:
    если Pb=0 тогда пропускаем т.к. ничего не меняется
    если Pb=1 тогда номер ноты=номер ноты+12
    если Pb=-1 тогда номер ноты=номер ноты-12

    Если это так то зачем нужны сложные формулы, если вместо Pb можно было сразу номер ноты записать.

    ====================================
    Ещё вопрос определения ноты.

    Вот таблица 84-х нот (их частот) для Вектора.
    Как считаются ноты ?
    Т.е. n=1 (из миди текста) это соответствует какой ноте из таблицы для Вектора ?
    n=1 это "до" контр октавы или это "си" 4-й октавы ?

    Скрытый текст


    note_table:
    ; контр-октава (12 нот)
    dw 45872,43290,40872,38560,36408,34364,32432,30612,28 902,27273,25729,24311 ;

    до/до#/ре/ре#/ми/фа/фа#/соль/соль#/ля/ля#/си
    ; большая-октава
    dw 22936,21645,20436,19280,18204,17182,16216,15306,14 451,13636,12876,12146 ; до до# ре ре# ми фа

    фа# соль соль# ля ля# си
    ; малая-октава
    dw 11468,10823,10218,9646,9102,8591,8108,7653,7229,68 18,6438,6075 ; до до# ре ре# ми фа фа# соль

    соль# ля ля# си
    ; 1-я октава
    dw 5734,5415,5107,4823,4551,4296,4054,3827,3614,3409, 3219,3036 ; до до# ре ре# ми фа фа# соль

    соль# ля ля# си
    ; 2-я октава
    dw 2867,2708,2554,2412,2275,2147,2027,1913,1805,1705, 1609,1519 ; до до# ре ре# ми фа фа# соль

    соль# ля ля# си
    ; 3-я октава
    dw 1433,1353,1277,1205,1137,1074,1014,957,904,852,804 ,759 ; до до# ре ре# ми фа фа# соль соль# ля

    ля# си
    ; 4-я октава
    dw 717,677,639,602,569,537,507,472,452,426,402,380 ; до до# ре ре# ми фа фа# соль соль# ля ля# си
    [свернуть]
    Последний раз редактировалось metamorpho; 14.08.2020 в 09:14.

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

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

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

Похожие темы

  1. Бейсики для Вектора-06Ц и клонов
    от ivagor в разделе Вектор
    Ответов: 696
    Последнее: 25.10.2025, 02:34
  2. Картотека ПО для Вектора-06ц
    от svofski в разделе Вектор
    Ответов: 719
    Последнее: 04.04.2024, 11:13
  3. Восстановление Вектора-06ц
    от Daniil Chislov 86 в разделе Вектор
    Ответов: 100
    Последнее: 11.03.2021, 00:23
  4. Ответов: 198
    Последнее: 26.04.2020, 13:05
  5. Ответов: 58
    Последнее: 06.07.2019, 23:56

Ваши права

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