33 lines
1.1 KiB
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"
|
|
}
|
|
]
|
|
} |