Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
ece14b9599 |
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -1 +0,0 @@
|
|||||||
*.wav filter=lfs diff=lfs merge=lfs -text
|
|
9
hack-dict.js
Normal file
9
hack-dict.js
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
outlets = 4
|
||||||
|
|
||||||
|
function hack(s, v){
|
||||||
|
var djNum = s[12];
|
||||||
|
if (typeof v == "string" && v.slice(0, 3) == "obj")
|
||||||
|
return;
|
||||||
|
outlet(parseInt(djNum), "param", s.slice(16), v);
|
||||||
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
|
|
||||||
}
|
|
@ -1,10 +1,10 @@
|
|||||||
inlets = 2
|
inlets = 2
|
||||||
outlets = 4;
|
outlets = 3;
|
||||||
|
|
||||||
|
|
||||||
var jpieces = {};
|
|
||||||
var presets = [];
|
var presets = [];
|
||||||
var hsspiece = {};
|
var hsspiece = {};
|
||||||
var outdict = new Dict("HSSPieces");;
|
var outdict = new Dict;
|
||||||
var points = [[0.5, 0.5], [1., 0.], [1., 1.], [0., 1.], [0., 0.]];
|
var points = [[0.5, 0.5], [1., 0.], [1., 1.], [0., 1.], [0., 0.]];
|
||||||
var net = new Dict;
|
var net = new Dict;
|
||||||
var title;
|
var title;
|
||||||
@ -29,39 +29,21 @@ var DJsterParams = {
|
|||||||
"tempo" : [20, 200, "log"],//
|
"tempo" : [20, 200, "log"],//
|
||||||
"timesig_denominator" : [1, 5, "enum"],//
|
"timesig_denominator" : [1, 5, "enum"],//
|
||||||
"timesig_numerator" : [1, 12, "linear"],//
|
"timesig_numerator" : [1, 12, "linear"],//
|
||||||
"tonic_pitch" : [12, 108, "enum"],//
|
"tonic_pitch" : [12, 108, "linear"],//
|
||||||
};
|
};
|
||||||
|
|
||||||
//
|
|
||||||
function dictionary(d)
|
function dictionary(d)
|
||||||
{
|
{
|
||||||
net.name = d;
|
net.name = d;
|
||||||
hsspiece[title]["networkData"] = JSON.parse(net.stringify());
|
hsspiece[title]["networkData"] = JSON.parse(net.stringify());
|
||||||
outdict.parse(JSON.stringify(hsspiece));
|
outdict.parse(JSON.stringify(hsspiece));
|
||||||
//outlet(0, "dictionary", outdict.name);
|
outlet(0, "dictionary", outdict.name);
|
||||||
}
|
|
||||||
|
|
||||||
function readPiece(path)
|
|
||||||
{
|
|
||||||
outdict.import_json(path);
|
|
||||||
jpieces = JSON.parse(outdict.stringify());
|
|
||||||
var keys = outdict.getkeys();
|
|
||||||
for (var i = 0; i < keys.length; i++) outlet(3, keys[i]);
|
|
||||||
outlet(1, outdict.get("DefaultSetting::1::networkData");
|
|
||||||
outlet(1, predict(0.5, 0.5);
|
|
||||||
outlet(0, 0.5, 0.5;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getSection(section)
|
|
||||||
{
|
|
||||||
outlet(1, outdict.get(section + "::1::networkData");
|
|
||||||
outlet(1, predict(0.5, 0.5);
|
|
||||||
outlet(0, 0.5, 0.5;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function writePiece()
|
function writePiece()
|
||||||
{
|
{
|
||||||
outdict.export_json(this.patcher.filepath + "HSSPiece.json");
|
var path = this.patcher.getnamed("machineLearning").subpatcher().getnamed("path").getvalueof();
|
||||||
|
net.export_json(path + "HSSPiece.json");
|
||||||
}
|
}
|
||||||
|
|
||||||
function anything()
|
function anything()
|
||||||
@ -75,7 +57,7 @@ function anything()
|
|||||||
hsspiece[title] = {};
|
hsspiece[title] = {};
|
||||||
var slots = presets[i].get("pattrstorage::slots").getkeys();//number of slots here
|
var slots = presets[i].get("pattrstorage::slots").getkeys();//number of slots here
|
||||||
post("slots", slots, "\n");
|
post("slots", slots, "\n");
|
||||||
outlet(1, "clear_data");
|
outlet(1, "clear");
|
||||||
for (var j = 0; j < slots.length; j++){
|
for (var j = 0; j < slots.length; j++){
|
||||||
hsspiece[title][j + 1] = {};
|
hsspiece[title][j + 1] = {};
|
||||||
var trainingData = [];
|
var trainingData = [];
|
||||||
@ -85,6 +67,7 @@ function anything()
|
|||||||
delete data["Djster.µbus[" + p + "]::meters"];
|
delete data["Djster.µbus[" + p + "]::meters"];
|
||||||
for (var param in DJsterParams) {
|
for (var param in DJsterParams) {
|
||||||
var val = data["Djster.µbus[" + p + "]::" + param];
|
var val = data["Djster.µbus[" + p + "]::" + param];
|
||||||
|
//post("params", hsspiece[title][j + 1]["Djster.µbus[" + p + "]::" + param], "\n");
|
||||||
switch (DJsterParams[param][2]) {
|
switch (DJsterParams[param][2]) {
|
||||||
case "linear" :
|
case "linear" :
|
||||||
trainingData.push(scale(val, DJsterParams[param][0], DJsterParams[param][1], 0., 1.));
|
trainingData.push(scale(val, DJsterParams[param][0], DJsterParams[param][1], 0., 1.));
|
||||||
@ -93,19 +76,17 @@ function anything()
|
|||||||
trainingData.push(scale(val, DJsterParams[param][0], DJsterParams[param][1], 0., 1.));
|
trainingData.push(scale(val, DJsterParams[param][0], DJsterParams[param][1], 0., 1.));
|
||||||
break;
|
break;
|
||||||
case "enum" :
|
case "enum" :
|
||||||
trainingData.push(j/5);
|
trainingData.push(0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//var val = data["hub::instrument::instrument-" + (p + 1)];
|
var val = data["hub::instrument::instrument-" + (p + 1)];
|
||||||
trainingData.push(j/5);
|
trainingData.push(0);
|
||||||
var val = data["hub::src::src" + (p + 1)];
|
|
||||||
trainingData.push(scale(val[0], 0, 127, 0., 1.));
|
|
||||||
trainingData.push(scale(val[1], 0, 127, 0., 1.));
|
|
||||||
}
|
}
|
||||||
//post("data", JSON.stringify(data), "\n");
|
//post("data", JSON.stringify(data), "\n");
|
||||||
hsspiece[title][j + 1] = data;
|
hsspiece[title][j + 1] = data;
|
||||||
outlet(1, "data_point", points[j].concat(trainingData));
|
outlet(1, points[j].concat(trainingData));
|
||||||
|
outlet(1, "addPat");
|
||||||
}
|
}
|
||||||
outlet(1, "train", 10000);
|
outlet(1, "train", 10000);
|
||||||
}
|
}
|
||||||
@ -114,13 +95,10 @@ function anything()
|
|||||||
function list()
|
function list()
|
||||||
{
|
{
|
||||||
var vector = arrayfromargs(arguments);
|
var vector = arrayfromargs(arguments);
|
||||||
var src = [];
|
|
||||||
var currentPiece = this.patcher.getnamed("currentPiece").getvalueof();
|
|
||||||
var keys = Object.keys(DJsterParams);
|
var keys = Object.keys(DJsterParams);
|
||||||
for (var i = 0; i < 4; i++) {
|
for (var i = 0; i < 4; i++) {
|
||||||
for (var j = 0; j < vector.length/4; j++) {
|
for (var j = 0; j < vector.length/4; j++) {
|
||||||
var k = j + i * vector.length/4;
|
var k = j + i * vector.length/4;
|
||||||
//post("vector", j, "\n");
|
|
||||||
switch (j) {
|
switch (j) {
|
||||||
case 3 : //log
|
case 3 : //log
|
||||||
case 17 :
|
case 17 :
|
||||||
@ -128,32 +106,20 @@ function list()
|
|||||||
outlet(2, "Djster.µbus[" + i + "]::" + keys[j], val);
|
outlet(2, "Djster.µbus[" + i + "]::" + keys[j], val);
|
||||||
break;
|
break;
|
||||||
case 13 : //enum
|
case 13 : //enum
|
||||||
//val = "Major";
|
val = "Major";
|
||||||
post(vector[k], Math.floor(vector[k]/0.2 + 1), "\n");
|
outlet(2, "Djster.µbus[" + i + "]::" + keys[j], val);
|
||||||
outlet(2, "Djster.µbus[" + i + "]::" + keys[j], jpieces[currentPiece][parseInt(vector[k]/0.2 + 1)]["Djster.µbus[" + i + "]::scale"]);
|
|
||||||
break;
|
break;
|
||||||
case 16 :
|
case 16 :
|
||||||
//val = "2 2 2";
|
val = "2 2 2";
|
||||||
outlet(2, "Djster.µbus[" + i + "]::" + keys[j], jpieces[currentPiece][parseInt(vector[k]/0.2 + 1)]["Djster.µbus[" + i + "]::meter"]);
|
outlet(2, "Djster.µbus[" + i + "]::" + keys[j], val);
|
||||||
break;
|
break;
|
||||||
case 18 :
|
case 18 :
|
||||||
//val = "4"
|
val = "4"
|
||||||
outlet(2, "Djster.µbus[" + i + "]::" + keys[j], jpieces[currentPiece][parseInt(vector[k]/0.2 + 1)]["Djster.µbus[" + i + "]::timesig_denominator"]);
|
outlet(2, "Djster.µbus[" + i + "]::" + keys[j], val);
|
||||||
break;
|
break;
|
||||||
case 21 :
|
case 21 :
|
||||||
val = "4"
|
val = "4"
|
||||||
outlet(2, "hub::instrument::instrument-" + (i + 1), jpieces[currentPiece][parseInt(vector[k]/0.2 + 1)]["hub::instrument::instrument-" + (i + 1)]);
|
outlet(2, "hub::instrument::instrument-" + (i + 1), val);
|
||||||
break;
|
|
||||||
case 22 :
|
|
||||||
src[0] = scale(vector[k], 0, 1, 0, 127);
|
|
||||||
break;
|
|
||||||
case 23 :
|
|
||||||
src[1] = scale(vector[k], 0, 1, 0, 127);
|
|
||||||
outlet(2, "hub::src::src" + (i + 1), src);
|
|
||||||
break;
|
|
||||||
case 1 : case 9 : case 10 : case 14 : case 15 : case 19 : case 20 :
|
|
||||||
var val = Math.round(scale(vector[k], 0, 1, DJsterParams[keys[j]][0], DJsterParams[keys[j]][1]));
|
|
||||||
outlet(2, "Djster.µbus[" + i + "]::" + keys[j], val);
|
|
||||||
break;
|
break;
|
||||||
default : //linear
|
default : //linear
|
||||||
var val = scale(vector[k], 0, 1, DJsterParams[keys[j]][0], DJsterParams[keys[j]][1]);
|
var val = scale(vector[k], 0, 1, DJsterParams[keys[j]][0], DJsterParams[keys[j]][1]);
|
||||||
|
28
lfogui.html
Normal file
28
lfogui.html
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
We start with a basic html 'page' that is the size of the jweb object,
|
||||||
|
but has no scrollbars nor floating content.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<link rel="stylesheet" href="./src/lfogui.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div id="lfo-container"></div>
|
||||||
|
<script src="./src/moment.js"></script>
|
||||||
|
<script src="./src/react.js"></script>
|
||||||
|
<script src="./src/react-dom.js"></script>
|
||||||
|
<script src="./src/common.js"></script>
|
||||||
|
<script src="./src/enums.js"></script>
|
||||||
|
<script src="./src/modulators.js"></script>
|
||||||
|
<script src="./src/lfogui.js">
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
Loading…
Reference in New Issue
Block a user