everythingwillbetakenaway / dx7-supercollider Goto Github PK
View Code? Open in Web Editor NEWMy accurate Yamaha DX-7 clone. Programmed in Supercollider.
License: GNU General Public License v3.0
My accurate Yamaha DX-7 clone. Programmed in Supercollider.
License: GNU General Public License v3.0
Example:
(
a = ("./DX7.scd").loadRelative.wrapAt(-1);
// Note On 80 message with velocity value 100 and preset value 10000
a.value(80, 100, 10002);
)
Very cool project!
Really wanting to play around but could not figure out what app I'm supposed to open this in. The extensions are associated with image editing and tax software, lol. How are you running this bad boy?
Something in the LFO section seems to be wrong:
FreeSelf
normally frees when triggered, so when the gate
is set to 1
-- do you really wnat that?
https://github.com/everythingwillbetakenaway/DX7-Supercollider/blob/master/DX7.scd#L304
Setting a Synth's controls is in pairs, not sure if this will ever work here:
https://github.com/everythingwillbetakenaway/DX7-Supercollider/blob/master/DX7.scd#L666
As I'm not sure how it is supposed to work exactly, I didn't give an alternative, just point this out.
Thanks again for publishing this, btw.!
Also putting this on supercollider's repo (supercollider/supercollider#3466)
If you add s.dumpOSC
to the example code, you'll see that it's not creating InfEfx
with all the args it requires:
[ 9, "InfEfx", 1001, 2, 1000, "lfo_speed", 4.80054, "lfo_wave", 4,"lfo_phase", 1.5708, "envTrig", 0, "envTrig", 1, "pitchCons", 0.297928, "lfoGet1", 0, "lfoGet2", 1, "tameM", 1, "tameC", 0, "lfo_delay", 1.72212, "lfo_amd", 0 ]
This is missing pitch
, gate
, lfo_pmd
, and more (these are args without defaults).
This may be causing supernova to segfault.
When running your code I get this error:
`ERROR: syntax error, unexpected VAR, expecting NAME or WHILE
in interpreted text
line 268 char 4:
var lfo, pitchenv, output, randomlfo, multiPitch, lfoAmp;
^^^`
After getting this warning I replaced all occurrences of the asInt
method with asInteger
and then the warning disappeared and all functionality was there. After getting this warning I replaced all occurrences of the asInt
method with asInteger
and then the warning disappeared and all functionality was there.
Works a few times then I get and error
I load the DX function.
( // init
// Server.killAll
s.boot;
~mainCaller = ("./DX7.scd").loadRelative.wrapAt(-1);
)
(
~patt = Pbind(
\degree, Rest, // make pattern silent
\dur, Pseq([1,3,7,2], inf),
\note, Pseq([50,52,64], inf),
\vel, Pseq([80,50,10,127], inf),
\preset, Pseq([2333,3355,33556], inf),
\put, Pfunc({|values|
~mainCaller.value(
values.note,
values.vel,
values.preset)
})
).play(TempoClock(65/60*4));
)
~patt.stop;
~patt.pause;
~patt.resume;
~patt.free;
After a few runs I get this error. I think it is writing to the DX.afx file.
Not sure. HELP
ERROR: Message 'at' not understood.
RECEIVER:
nil
ARGS:
Integer 0
PATH: /Applications/SuperCollider/DX7-Supercollider-master/example.scd
PROTECTED CALL STACK:
Meta_MethodError:new 0x10b52df80
arg this = DoesNotUnderstandError
arg what = nil
arg receiver = nil
Meta_DoesNotUnderstandError:new 0x10b52ff40
arg this = DoesNotUnderstandError
arg receiver = nil
arg selector = at
arg args = [ 0 ]
Object:doesNotUnderstand 0x1097627c0
arg this = nil
arg selector = at
arg args = nil
a FunctionDef 0x10faa7808
sourceCode = ""
arg item = 0
Integer:do 0x10dfd1940
arg this = 145
arg function = a Function
var i = 0
a FunctionDef 0x10faa7938
sourceCode = ""
arg x = 64
arg y = 10
arg z = 33556
a FunctionDef 0x10e560840
sourceCode = ""
Function:prTry 0x10b888640
arg this = a Function
var result = nil
var thread = a Routine
var next = nil
var wasInProtectedFunc = false
CALL STACK:
DoesNotUnderstandError:reportError
arg this =
Nil:handleError
arg this = nil
arg error =
Thread:handleError
arg this =
arg error =
Thread:handleError
arg this =
arg error =
Thread:handleError
arg this =
arg error =
Object:throw
arg this =
Function:protect
arg this =
arg handler =
var result =
Environment:use
arg this =
arg function =
var result = nil
var saveEnvir =
< FunctionDef in Method Pbind:embedInStream >
arg i = 10
var name = 'put'
var stream =
var streamout = nil
Integer:forBy
arg this = 0
arg endval = 11
arg stepval = 2
arg function =
var i = 10
var j = 5
Pbind:embedInStream
arg this =
arg inevent =
var event =
var sawNil = false
var streampairs = [*12]
var endval = 11
Routine:prStart
arg this =
arg inval =
^^ The preceding error dump is for ERROR: Message 'at' not understood.
RECEIVER: nil
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.