Эта невероятная 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
Правильно ли я понял ?
-----------------------------------
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 ; до до# ре ре# ми фа фа# соль соль# ля ля# си
[свернуть]





Ответить с цитированием