mosaicode/extensions/javascript/blocks/webaudio/MIDI/Midi 2 Freq.json

33 lines
1.1 KiB
JSON

{
"source": "JSON",
"data": "BLOCK",
"version": "0.0.1",
"type": "javascript.MIDI.midi2freq",
"language": "javascript",
"extension": "webaudio",
"help": "midi to freq",
"label": "Midi 2 Freq",
"color": "#24D3C1",
"group": "MIDI",
"codes": [
{
"name": "declaration",
"code": "\n// block_$id$ = $label$\nvar $port[frequency]$ = [];\n\nvar $port[midi_value]$ = function(value){\n value = (value < 0) ? 0 : value;\n value = (value >127) ? 127 : value;\n var arg = ((parseFloat(value) - 69.0) / 12.0);\n result = Math.pow(2.0, arg) * 440.0;\n for (var i = 0; i < $port[frequency]$.length ; i++){\n $port[frequency]$[i](result);\n }\n return true;\n };\n"
}
],
"properties": [],
"ports": [
{
"conn_type": "input",
"name": "midi_value",
"label": "Midi Value",
"type": "javascript.float"
},
{
"conn_type": "output",
"name": "frequency",
"label": "Frequency",
"type": "javascript.float"
}
]
}