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

时间:2014-12-23 15:11:03

标签: javascript html5 web-audio

我正在尝试学习timbre.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>

1 个答案:

答案 0 :(得分:1)

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>