Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript NodeJS-转换MTC(Midi时间码)";“第四条信息”;转换为全职代码字符串_Javascript_Node.js_Hex_Midi_Timecodes - Fatal编程技术网

Javascript NodeJS-转换MTC(Midi时间码)";“第四条信息”;转换为全职代码字符串

Javascript NodeJS-转换MTC(Midi时间码)";“第四条信息”;转换为全职代码字符串,javascript,node.js,hex,midi,timecodes,Javascript,Node.js,Hex,Midi,Timecodes,这就是我的问题。我正在NodeJS中编写一个脚本,它将接收MTC或MIDI时间码信号,并最终触发所述时间码中某些点的不同内容 我目前遇到的问题是,我正在使用的当前时间码时钟程序将MIDI时间码消息作为“四分之一帧”消息发送。简单地说,它以十六进制格式发送八条连续消息,这些消息共同构成hh:mm:ss:ff(小时、分钟、秒、帧)格式。如果第一条消息为00,则表示帧编号的单位数字为0(仍为十六进制);如果第二条消息为15,则表示帧的十位数为5。这是一个非常狡猾的解释,所以 我设法找到了另一个同样的S

这就是我的问题。我正在NodeJS中编写一个脚本,它将接收MTC或MIDI时间码信号,并最终触发所述时间码中某些点的不同内容

我目前遇到的问题是,我正在使用的当前时间码时钟程序将MIDI时间码消息作为“四分之一帧”消息发送。简单地说,它以十六进制格式发送八条连续消息,这些消息共同构成hh:mm:ss:ff(小时、分钟、秒、帧)格式。如果第一条消息为00,则表示帧编号的单位数字为0(仍为十六进制);如果第二条消息为15,则表示帧的十位数为5。这是一个非常狡猾的解释,所以

我设法找到了另一个同样的StackOverflow问题,只是提供的代码是C#,我不知道如何用我有限的知识将其转换为JavaScript


提前感谢

有一个名为JZZ.js的库,它允许将顺序MTC转换为时间码。 可在以下位置获得代码片段:

代码:

var master = JZZ.SMPTE();                // master clock
var slave = JZZ.SMPTE();                 // slave clock
var sender = JZZ.Widget();               // sending port
var receiver = JZZ.Widget();             // receiving port
receiver._receive = function(msg) {
  if (slave.read(msg))                   // print and consume the MTC messages
    console.log(master.toString(), ' ==> ', msg.toString(), ' ==> ', slave.toString());
  else _emit(msg);                       // forward all other MIDI messages
};
sender.connect(receiver);
master.reset(24, 7, 39, 59);             // 7:40 it arrives...
for (var n = 0; n < 25; n++) {
  sender.mtc(master);
  master.incrQF();
}
07:39:59:00  ==>  f1 00 -- MIDI Time Code  ==>  00:00:00:00
07:39:59:00  ==>  f1 10 -- MIDI Time Code  ==>  00:00:00:00
07:39:59:00  ==>  f1 2b -- MIDI Time Code  ==>  00:00:00:00
07:39:59:00  ==>  f1 33 -- MIDI Time Code  ==>  00:00:00:00
07:39:59:01  ==>  f1 47 -- MIDI Time Code  ==>  00:00:00:01
07:39:59:01  ==>  f1 52 -- MIDI Time Code  ==>  00:00:00:01
07:39:59:01  ==>  f1 67 -- MIDI Time Code  ==>  00:00:00:01
07:39:59:01  ==>  f1 70 -- MIDI Time Code  ==>  00:00:00:01
07:39:59:02  ==>  f1 02 -- MIDI Time Code  ==>  07:39:59:02
07:39:59:02  ==>  f1 10 -- MIDI Time Code  ==>  07:39:59:02
07:39:59:02  ==>  f1 2b -- MIDI Time Code  ==>  07:39:59:02
07:39:59:02  ==>  f1 33 -- MIDI Time Code  ==>  07:39:59:02
07:39:59:03  ==>  f1 47 -- MIDI Time Code  ==>  07:39:59:03
07:39:59:03  ==>  f1 52 -- MIDI Time Code  ==>  07:39:59:03
07:39:59:03  ==>  f1 67 -- MIDI Time Code  ==>  07:39:59:03
07:39:59:03  ==>  f1 70 -- MIDI Time Code  ==>  07:39:59:03
07:39:59:04  ==>  f1 04 -- MIDI Time Code  ==>  07:39:59:04
07:39:59:04  ==>  f1 10 -- MIDI Time Code  ==>  07:39:59:04
07:39:59:04  ==>  f1 2b -- MIDI Time Code  ==>  07:39:59:04
07:39:59:04  ==>  f1 33 -- MIDI Time Code  ==>  07:39:59:04
07:39:59:05  ==>  f1 47 -- MIDI Time Code  ==>  07:39:59:05
07:39:59:05  ==>  f1 52 -- MIDI Time Code  ==>  07:39:59:05
07:39:59:05  ==>  f1 67 -- MIDI Time Code  ==>  07:39:59:05
07:39:59:05  ==>  f1 70 -- MIDI Time Code  ==>  07:39:59:05
07:39:59:06  ==>  f1 06 -- MIDI Time Code  ==>  07:39:59:06