Comments (11)
-
Yes, I forgot that one to comment out. So in this case, LFO head stays there all the time. I tried to write another function to check if there are any open notes to close LFO but failed. So for the time being, it stays like that. But I think it's ok because LFO synth is a very efficient one, it reads waves from the table, so it only eats 30 ugen, and for me it's okay.
-
This is related to the line here:
https://github.com/everythingwillbetakenaway/DX7-Supercollider/blob/master/DX7.scd#L666
I comment out "onFree{betass= 0}" because it was was not working with rapid preset changes. Originally I don't use it as a rapid preset-caller. I implemented it deep inside my sequencer, and it works flawlessly there, and you can modulate parameters real-time. But when I made this project public I had to leave out the parameter modulation function because I was not sure about how to present it. I will add that feature next month and I will change this line to a working one.
Thanks for the yesterday additions. I didn't know the "#" trick. Cheers.
from dx7-supercollider.
-
If each time you call
~mainCaller
a new note starts, vianoteParser
, then it is likely that a lot of synths will build up and you run into an efficiency problem, won't it? There are simple and good solutions for this, if you want to solve it. One synth can free another synth: check the helpfile fordoneActions
. -
maybe you are talking about a different line of code? I meant
headno.set(defjamHead.value(0))});
, which won't work.
from dx7-supercollider.
-
But synths that build up are not LFO/head right? They are all "Synth(\DX7," so these are the nodes you want to hear. I couldn't find any DoneAction function to release the group if it is the last node in the group.
-
What I tried to mention here is that this line of code is not working because betass is never 0. I comment out the function which makes betass = 0, and this is related to real-time parameter modulation implementation. I will add in the next version.
from dx7-supercollider.
thank you for the replies.
Well, I'm not sure. Somehow this is a little hard to get.
In any case:
- There is a doneAction that frees the synth before it, for example. But it seems you are only having one single LFO synth anyhow.
headno.set(something)
will never do anything.set
if it is a synth always has pairs of key and value.
from dx7-supercollider.
- At total one LFO synth should be open at all cases. Are you having lots of infEfx nodes opened? It is really important because it was the problem I encountered and changed betass function in order to solve that problem.
- But headno is a synth so it should change the values. Maybe I have to double check when I am implementing parameter modulation function. Thanks for looking into details.
from dx7-supercollider.
- no, it's just one, so that is fine. The way it's written out could be a bit simpler, but whatever. So the DX7 has only one LFO section but multiple voices, right?
- Look, if you write
~synth = Synth(\default);
and then try to set its controls:~synth.set(440)
this won't work, you have to write:~synth.set(\freq, 440)
. Same forheadno
.
from dx7-supercollider.
-
Yes, perfect and yes you are right DX7 has one main LFO/Env global modulation section. So I cloned it in the same manner. But the problem of copying of DX7 scheme is that this grouping of "LFO Global->Opened notes" works correctly for only one preset. When you call, another preset opened nodes might dictate new LFO Global parameters so it might change the existing sound. Most presets are mild on global LFO, so this effect is not audible. But if you need one preset without changing, I recommend calling one preset only or making a clone of the entire project in different .scd files like: Synth(\DX7-2 , Synth(\DX7-3
-
Yes, I understand your point but, defjamHead.value(0), calls one big function and it returns lots of parameters. Then it becomes like set(\freq, 440, \amp, 10). But you might also be right that this might only work like Synth(\default,defjamHead.value(0)) style and not set. Weirdly I was using an instance called setControls. But some SC versions don't use it anymore, and I switched it to "set" and it updates global LFO parameters, so for me, it is working.
from dx7-supercollider.
- when I have some time i'll propose a solution. It's notso difficult.
- If your function returns an array of pairs, you can use
set(*func.value)
from dx7-supercollider.
- Great, I am open to new solutions. But it is not possible to merge two synths. Because it will increase CPU load and also some functions can only be implemented in this way.
- I will try it!! It will be especially useful while implementing parameter modulation functions. Thanks!
from dx7-supercollider.
@telephon I'd be interested to see this solution!
from dx7-supercollider.
no time now, but later yes ...
from dx7-supercollider.
Related Issues (7)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dx7-supercollider.