小编cat*_*h22的帖子

MIDI.js音符持续时间不会改变

由于mudcube MIDI.js的文档在这方面似乎缺乏,我希望有人能够指出我正确的方向.说白了,使用midi.js,你如何调整midi音符的持续时间和结束?

在某些背景下,我创建了一个带有可拖动和可放置音符(jQuery-ui)的音乐人员小部件,可以添加或删除,以形成可以调用播放midi的序列.到目前为止,一切都有效,但是,当我试图用更复杂的时间扩展这个小部件的功能时,我遇到了一些问题.

似乎我只能在设定的持续时间内播放音符,并且尽管我付出了很多努力,却无法实现可能会改变持续时间的变化,例如半音符,四分音符,八个音符等.此外,和这可能是原因之一,MIDI.noteOff对输出没有可感知的影响.人们会认为给定音符将无限播放,直到调用MIDI.noteOff,然而,无论是否调用noteOff,所述音符都会播放然后逐渐消失.

我在这里说,我已经对SO和网络进行了广泛的研究,以便深入研究这个问题.我发现有类似问题的人并应用他们的修复程序,但他们的答案对我不起作用.看看我如何使用javascriptMIDI在Midi中播放任意音符.noteOff似乎无法可靠地工作

我有一系列名为noteSequence的音符,其中每个音符都是具有noteValue(即'C4')和noteDuration属性的对象,这些属性在convertToMidiSequence函数中被转换为midiSequence.一切都适用于旋律序列和和弦,我只想添加持续时间功能.我还应该说调整'delay'变量或noteDuration属性只会增加序列播放前的时间.然后在初始延迟之后,序列以与之前相同的时序播放.

感谢您花些时间来看一下,希望有所帮助.非常感谢.

以下是运行我的MIDI的适用代码:

$(document).ready(function() {
  MIDI.loadPlugin({
    soundfontUrl: GLOBALS.SOUNDFONT_URL,
    instrument: 'acoustic_grand_piano',
    callback: function() {
      var channel = 0,
          instrument = 0,
          velocity = 127,
          delay = 1;
      MIDI.programChange(0, instrument);
    }
  });
});

function playCurrentSequence() {
  playSequence(noteSequence);
}

function playSequence(sequence) {
  var midiSequence = convertToMidiSequence(sequence);
  for (var i = 0; i < midiSequence.length; i++) {
    if (!(midiSequence[i] instanceof Array)) {
      playNote(midiSequence[i], i);
    }
    else {
      playChord(midiSequence[i], i);
    }
  }
}

function playNote(midiNote, notePositionInMeasure) …
Run Code Online (Sandbox Code Playgroud)

html javascript audio midi jquery-ui

5
推荐指数
1
解决办法
861
查看次数

为什么 Chrome Developer Tool 中的 height 属性显示为灰色

当我使用 Chrome 开发者工具检查一个元素时,height 属性是灰色的。从这里

https://developers.google.com/web/tools/chrome-devtools/iterate/inspect-styles/#live-edit-a-do-node

这意味着我无法编辑它。

But my question is why I can't edit it? And how can I find out which style in style set this property? With other properties, I can expand it? but for this greyed out one? I can't expand it.

css google-chrome

5
推荐指数
1
解决办法
2063
查看次数

标签 统计

audio ×1

css ×1

google-chrome ×1

html ×1

javascript ×1

jquery-ui ×1

midi ×1