Git Product home page Git Product logo

Comments (11)

everythingwillbetakenaway avatar everythingwillbetakenaway commented on June 12, 2024
  1. 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.

  2. 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.

telephon avatar telephon commented on June 12, 2024
  1. If each time you call ~mainCaller a new note starts, via noteParser, 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 for doneActions.

  2. maybe you are talking about a different line of code? I meant headno.set(defjamHead.value(0))});, which won't work.

from dx7-supercollider.

everythingwillbetakenaway avatar everythingwillbetakenaway commented on June 12, 2024
  1. 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.

  2. 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.

telephon avatar telephon commented on June 12, 2024

thank you for the replies.

Well, I'm not sure. Somehow this is a little hard to get.

In any case:

  1. There is a doneAction that frees the synth before it, for example. But it seems you are only having one single LFO synth anyhow.
  2. headno.set(something) will never do anything. set if it is a synth always has pairs of key and value.

from dx7-supercollider.

everythingwillbetakenaway avatar everythingwillbetakenaway commented on June 12, 2024
  1. 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.
  2. 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.

telephon avatar telephon commented on June 12, 2024
  1. 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?
  2. 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 for headno.

from dx7-supercollider.

everythingwillbetakenaway avatar everythingwillbetakenaway commented on June 12, 2024
  1. 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

  2. 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.

telephon avatar telephon commented on June 12, 2024
  1. when I have some time i'll propose a solution. It's notso difficult.
  2. If your function returns an array of pairs, you can use set(*func.value)

from dx7-supercollider.

everythingwillbetakenaway avatar everythingwillbetakenaway commented on June 12, 2024
  1. 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.
  2. I will try it!! It will be especially useful while implementing parameter modulation functions. Thanks!

from dx7-supercollider.

vivid-synth avatar vivid-synth commented on June 12, 2024

@telephon I'd be interested to see this solution!

from dx7-supercollider.

telephon avatar telephon commented on June 12, 2024

no time now, but later yes ...

from dx7-supercollider.

Related Issues (7)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.