在javascript中将字符串转换为音高表示法

时间:2017-08-27 10:22:18

标签: javascript notation pitch

我有前任。字符串 t0 表示 0 位置的高音谱号。 音高表示法是 B4

所以 t1 = C5 t-1 = A4 t-2 = G4 ......

我应该在数组中创建每个字符串来映射所有音符,还是可以轻松完成? THX。

2 个答案:

答案 0 :(得分:0)

我的音乐理论绝对不符合标准,但如果我得到你要求的东西,更多的是如何识别音符本身和转换成不同的格式。

您绝对不需要映射所有笔记。我会创建一个音符阵列,然后计算八度音和基音的偏移量。从那里,它是一个简单的数组查找和字符串连接,以获得八度音程。

这样的事情:

var notes = ['B','C','D','E','F','G','A'];
function stringtopitch(input)
{
    // get the base value
    num = parseInt(input.substr(1));
    mod = 0
    // correct for octaves as needed and identify them
    while (num < 0) { num+=7; mod -=1; }
    while (num > 7) { num-=7; mod +=1; }
    return notes[num] + (mod+4);
}

答案 1 :(得分:0)

这是你正在寻找的吗?

&#13;
&#13;
var sConn : WideString; 
begin 
     sConn := PromptDataSource(Form1.Handle, ''); 
end;
&#13;
&#13;
&#13;