音色.js键盘输入似乎不起作用

Timbre.js keyboard input doesn't seem to work

本文关键字:不起作用 输入 js 键盘 音色      更新时间:2023-09-26

我正在尝试学习音色.js javascript库。 在项目页面上,有一个使用键盘输入更改振荡器音高的功能预览,但是一旦将代码复制到我计算机上的新HTML文档中,它就不再起作用。 不过,项目页面中更简单的代码片段一旦复制就可以正常工作。

项目页面在这里: http://mohayonao.github.io/timbre.js/PragmaSynth.html

这是代码:

<script src="timbre.js"></script>
<script>
var VCO = T("saw", {freq:880, mul:0.2}).play();
var keydict = T("ndict.key");
var midicps = T("midicps");
T("keyboard").on("keydown", function(e) {
  var midi = keydict.at(e.keyCode);
  if (midi) {
    VCO.freq.value = midicps.at(midi);
  }
}).start();
</script>
似乎对于

T('keyboard')T('ndict.key'),您需要包含一个名为keyboard.js的额外脚本,可以在此处找到。 http://mohayonao.github.io/timbre.js/src/extras/keyboard.js

所以你的代码看起来像这样。

<script src="timbre.js"></script>
<script src="keyboard.js"></script>
<script>
var VCO = T("saw", {freq:880, mul:0.2}).play();
var keydict = T("ndict.key");
var midicps = T("midicps");
T("keyboard").on("keydown", function(e) {
  var midi = keydict.at(e.keyCode);
  if (midi) {
    VCO.freq.value = midicps.at(midi);
  }
}).start();
</script>