HISE Logo Forum
    • Categories
    • Register
    • Login
    1. HISE
    2. Christoph Hart
    3. Posts
    • Profile
    • Following 0
    • Followers 77
    • Topics 103
    • Posts 8,317
    • Groups 2

    Posts

    Recent Best Controversial
    • RE: Drift.... and how to design it....

      yes definitely a script envelope that you then compile to a hardcoded envelope.

      Just create a signal that fluctuates around 0.5 (sig2mod!!!) and use bipolar modulation mode so that the center remains in tune.

      posted in General Questions
      Christoph HartC
      Christoph Hart
    • RE: Controlling LFOs

      @Lindon move the time variant modulator into a sound generator, if it's just on the master chain it won't process MIDI messages.

      posted in Feature Requests
      Christoph HartC
      Christoph Hart
    • RE: How to modulate a network parameter

      @Orvillain that‘s the point of 90% of what I was working on the last month, I‘ll show you tomorrow how to set it up.

      posted in ScriptNode
      Christoph HartC
      Christoph Hart
    • RE: Legato, the Achillies heel of HISE.

      oooh is there a way that some kind of analysis of each sample in the map could be done so the sampler is aware of the phase?

      yes, theoretically that would somehow be possible (and I started doing this when working on the integrated legato transition engine which picks up the zero crossings to line up the phase between sustain and transition sample), but if the samples are not pitch & phase locked perfectly this falls apart plus there is a significant complexity of making this work with the streaming engine for a very narrow set of use case - if you squash your samples to be perfectly phaselocked, then it's just a minor step to transform them into wavetables and use the "proper" sound generator concept for the job at hand.

      posted in Feature Requests
      Christoph HartC
      Christoph Hart
    • RE: Controlling LFOs

      @Lindon yup

      posted in Feature Requests
      Christoph HartC
      Christoph Hart
    • RE: Controlling LFOs

      @Lindon You can design your own LFO in scriptnode and add the functionality there.

      You can use this replicate of the HISE LFO as starting point:

      Link Preview Image
      hise_tutorial/ScriptnodeHiseModules at master · christophhart/hise_tutorial

      The Tutorial project for HISE. Contribute to christophhart/hise_tutorial development by creating an account on GitHub.

      favicon

      GitHub (github.com)

      posted in Feature Requests
      Christoph HartC
      Christoph Hart
    • RE: Legato, the Achillies heel of HISE.

      If I'm using Wavetable Synth or Waveform Generators the current legato methods will work?

      Yes, that's what the RefreshMipMap parameter in the wavetable synth is for: it will switch the mip map to the nearest root note when applying a pitch fade during note playback so that the harmonic spectrum is not stuck to the wavetable of the start note.

      The sampler cannot do that because it has no idea of the phase of the sample at any given point.

      posted in Feature Requests
      Christoph HartC
      Christoph Hart
    • RE: Legato, the Achillies heel of HISE.

      Either a way to make generated notes artificial or allow any note to respond to addPitchFade

      Not sure I understand your novel there correctly, but generated notes are always artificial, so why would you want to make them so?

      HiseSnippet 1242.3oc4X1saaaCEGWJIp.1cqXcqXXWRDrKbFxBr9LNKHHe33zYr5Di3z1cWAqDsMQjI0jnylwvdG2iReC1NTxwVtwKv4ftUrMegg4g7OOGR9imik5lJCYYYxTCypWMIgYX9IV8lHTCaNjxEFsO0v7IVcnYJVJovzISRnYYrHCSy0et1fYkMLx+7tCOgFSEgr4lLLdkjGxdAeDWM2Z2i9Adb7YzH1U7QkFs2QsCkhlxX4XHdV2ptQBM7Z5.14T8vVyx36oYCML+FKeG2Puncibb72KHjFv1qOseea2HOufF6Y6tG0qQ.qtug4iZEwUxzdJphkAS5IxnI8FJ+YQgCdEOi+1XltgsQOvyElMZNjGG081MmLCCSqty2pVuXq5YVc3Q7Y1muk8Y4cPlqn7ll4Z2WHY+.BIyRgzFEgzSs5ElxSTy6QGOO1ps.NA6SgylxgRwXMVaeSqlRXDB0NinWyNKEZLSQsf502l.es09UqlxFPhAbncD4.x2Zue+whPEWJHRw4RE6BQssp9qUqLaH4rzNIwzI5tq0POSdvDUoZkhtnQQc4pvgZZnVgrsI9ZOZ6rs1k+VUx66j98K7RwLHJLcxjV2.Kf1QSmk6HUuBSkwwrzB0uW2ZTb48LUXMw3QukktM4FZ7X1rABa8Kdd9nU67LrXCuz.kh1Bt5hD1z1mIiizmS5ee2SeiomXvudY6SoJpFHlZCFWBKUw0gi4orafqfE3QEqSYYWqjIvkv6vN.0JiFGSUKhx5K4S6.1OVfezLhHiqlTNIvCfuqeu78pFhO0JmfVdLt1RhQXm5uiXbZVgO0pU+9rP07.bCqy9Qro.Vc2+jB2+XqdbAK+pQty+x71jWSugQdNSvR0ad12SZ7eeUSimrxowuHTAt+pTpHKQlsvD2iMhekTn2Ela7kYPNH1Oco9zrr8lRZ5R65cGdFrHWpldT03zbr33QxwB0BXv5KdNrwpc0cwaDkF+RxQuwGgxF0+.U13KlZcdDYuzxGO0zh7WTHf2uVGPITCemALktmyyyhVaKxAGPZTeqpUp.IsxjwrcRR4B0rgyyNFxf0mGxowvnOjrYygo7LH20PBOijxGLTsI46Ha9BtHB76La2eMiOREEr9PUT3+iEBVfXqbaL1iOJIl0RbCKFVj4w3mCqp9zwwpastHu1QJ.5QJ3gkSBbISAfy.VZ4XeoKniUJ3+iN2xyN5RVLiVNg1WeDfiLZJrOwPtW7v+SeK875qrJBWhlgI+6s.95+2t.9kxwJtXPGJ.g+Bjm.RO1CpaFx.uKDrXctCy0z2xKZWW2tnvoHJuwe.el1osts4zNsusy+Q7wHZXp7MgEYE0b5Q4Vf0sH+g2p.OEIzlXajmor7Y4Hnn2aBCWbptiPGrBcwJzCqPerBCvJbWrBafU3dOTgUuE.piVoMZkNnU5hVoGZk9nUFfV4tnU1.sRzLjCZFxAMC4flgbPyPNnYHGzLjCZFxAMC4flgbPyPtnYHWzLjKZFxEMC4hlgbQyPtnYHWzLjKZFxEMC4glg7PyPdnYHOzLjGZFxCMC4glg7PyPdnYHOzLjOZFxGMC4ilg7QyP9nYHezLjOZFxGMC4ilg7QyPAnYn.zLT.ZFJ.MCErBLj9Und7XkbTwaRvvnS2V4uULSyVBJ7P44O.uwexUI9bU
      
      posted in Feature Requests
      Christoph HartC
      Christoph Hart
    • RE: Advice for Trimming Sample Tails

      @Chazrox yup 60dB is way to coarse, if you start putting that through any FX chain you're likely to hear the cutoff.

      posted in Newbie League
      Christoph HartC
      Christoph Hart
    • RE: Roadmap to HISE 5

      @d-healey No but if you make a release on GitHub in the repo you linked above I can just link to the release page where people can download it.

      posted in General Questions
      Christoph HartC
      Christoph Hart
    • RE: Roadmap to HISE 5

      Have you looked at the time-domain waveform? This should be visible there too and might give a better clue what went wrong.

      You can also send over the node then I'll look if I can reproduce it but I can't think of anything that I've changed that might cause this.

      posted in General Questions
      Christoph HartC
      Christoph Hart
    • RE: Roadmap to HISE 5

      @griffinboy Yes, that's the entire point of the update - you get complete control over the update rate and how the modulation is applied for each node, but I had to introduce a few breaking changes in the bridge between modulation and nodes for this (eg. the weird behaviour of switching to pan mode when the parameter range crosses zero). I'll write a "migration" guide with the necessary steps for bringing old projects up to speed soon, but in the meantime try changing the ExternalModulation property of the modulated root parameter in your scriptnode network before compiling as I would guess that this is most likely the thing that broke it for you.

      posted in General Questions
      Christoph HartC
      Christoph Hart
    • RE: HISE FX and delay compensation

      @tomekslesicki but then the DAW tells the plugin a wrong information, which I'm pretty sure would cause issues with all plugins.

      I'm just forwarding the call with the specs provided by the DAW and it shouldn't be the plugin's responsibility to care about whether it's an offline bounce and the DAW might be giving you the wrong information.

      posted in General Questions
      Christoph HartC
      Christoph Hart
    • RE: HISE FX and delay compensation

      Of course it is triggering the callback, why shouldn‘t it do it?

      posted in General Questions
      Christoph HartC
      Christoph Hart
    • RE: HISE FX and delay compensation

      @resonant Call this function instead of Console.print in the callback and hope that every DAW supports dynamic changing of the latency.

      posted in General Questions
      Christoph HartC
      Christoph Hart
    • RE: HISE FX and delay compensation

      On a very high level you give the broadcaster an event source (in this case a change to the processing specifications) and then you can add functions (=listeners) that are called whenever the source event occurs. You are free to call the function parameters as you wish, but there is a expected number of parameters for each event source - in this case it's two, and the first parameter will hold the sample rate and the second one the block size.

      Now you've probably copy & pasted this from somewhere (or the broadcaster wizard spat this out) and the function parameters are named component and event (probably from a mouse callback source type), just rename them and address them.

      SampleRateBroadcaster.addListener("sampleRate", "blockSize", function(component, event)
      {
      	Console.print(Engine.getSampleRate());
      });
      

      Also where you put "sampleRate" and "blockSize" in your example, it expects a object and a comment that will show up in the broadcaster map, but both are optional, it's looks a bit misleading.

      So basically you need to do this instead:

      SampleRateBroadcaster.addListener("", "will be called when sample rate changes", function(sampleRate, blockSize)
      {
      	Console.print(sampleRate);
      });
      
      posted in General Questions
      Christoph HartC
      Christoph Hart
    • RE: HISE FX and delay compensation

      @tomekslesicki no you get the samplerate and blocksize as function arguments (which you named component and event).

      posted in General Questions
      Christoph HartC
      Christoph Hart
    • RE: Waterfall Spectrum Display

      The new waterfall display can be styled to match this. There are plenty of examples in the docs including shameless reproductions of the most popular wavetable synths.

      I'll need to polish it a bit, but eg. here's the wavetable display in the Arturia pigments style:

      b22e021d-56b9-400a-bc67-297a43f8889a-image.png

      This is the bitwig style:

      bd2851ea-6f67-4320-a233-0a8de4e28b59-image.png

      so something in between these two...

      posted in General Questions
      Christoph HartC
      Christoph Hart
    • RE: Broadcaster attachment design pattern

      @Orvillain said in Broadcaster attachment design pattern:

      Don't worry about that

      Do worry about that, this might mess up your code because the HiseScript parser might think you're calling into globals.

      This is the same as back when we added a Settings object and everybody and his dog complained about their Settings namespace being trashed...

      At some point I'll need to add more strictness to reserved keywords (eg. I've run into an issue this week where a scriptnode network messed up the entire module tree if you name a parameter Type because that's a reserved attribute for HardcodedFX modules).

      posted in General Questions
      Christoph HartC
      Christoph Hart
    • RE: Synth Group Unison - Instant Update to voice count change

      And this is an expanded example that shows how to use the pitch modulation coming from HISE and combine it with the unisono detune in the clone container:

      HiseSnippet 4158.3oc6c1DajbTEGu6wauqs2M65jrrIHtTRfDdS1LLeaaxg3c8GINrdWqc7tjUQHmxcWyLcbOc2zeX6IHjPhCvkHTP4R.gfSbfSnnHgfKvgHwIj3qKbANgDWhTPbIG.EdU0cOS2yW1SMd10cb4H4cmtqp5WU0+2686UyNY1xwRk35Z4HIO61srIRxWRoZKSuFqz.qaJswpRxWVYSrqGwAEboa0xF65Rzjjkm5koWPdlyIw94ieoagMvlpjNWRR5AV5pjaq2T2qyU2Z4ultgw5XMx15Mi05RKugpk4JVFV9f8LkRNIar5d35j6foMKihzqfcaHI+bJkKTTsj1BZEJTdoJp3JjkpgqUKeQsRkpr3R4KtDtzhUH4JKIe90zz8rbp5g8HtRxm6VVZsp1v5.yfGvCzc020fPeQdopvSN3xqaYnQmhzqJsRCcCsshVnbkjjU1pyx1TAKaWUYScM81Wuyx2braf5zi3KfxYRZdSkv7xG27xEy75iIIGyjNWfI8jJUUczs85bGp8bQkMLgcyZXXeJtoDzVI4emxJVPCL8x1DuGYcG3Es6v7Uxk6FH3WW+Eq4ap5oaYhrLuikG4tlye8Y+VyNyre6YQceqZ0568nOFGKCChSeuMUZ3LrNNuoeycIN2.sO1vmztgvzO4ZpxfWSiukqFLqi0PKyML08tqMwbPBAovkJ3uc+MVE6goaDgWCZmMwwSmZBxqR1GbCB1VlQYUh6ddV1fiPO6YfZwRy2.6kTBQczBuArFjXeit4X5p60Jti3Ilt53ZhOoxV5dpM5uMloO1HrRMIrwPuwmPYsZ0HpdcLvyor9qMYb8h+3mI5wG3Mwhjxd7e9vqXZoQPrKSb0cIN4GR7z+3wMdp8wNdZjS9MTFEGpgFCMOmwPO+otXno.2wDg4mIxFqp2z1frl49DCHlCyFeJHHSMrugWzUSJz1zxzxtgkotZbs08HdN50qSbha68cBcSOOHybmqb0kuGwffciI99RKeacSB1AVmHbtVjejS4028qmUIvbQTuCT5ML5TS1vnIVOex.iTQ41qe2PQO72PsM47G8h2szssLvNz3+q6P9l9DS012+AegO4knwq1nS3tk+AK+0w6SpY4zLLOYzTb4aSpCOy3i81jl1VPXzDx2pMsr7ZnaVOYTvqt7ssrrWyDCqBZwGjsZ.BVfNwk3kXXfgcaq.l2ULrhKykj1ntokCIf3I90Ww20ypYzDfwpV0iXyXBjeckJkxB+T64o+doUfeU7tmLuV5jycJywTi9zLkP6sbplXz8jN2wSkN7bHRijE2VDdJwheLipLrEroUV6POGb9iBh6wPDxPSqviRS6dV9dPXkMwP5wCgfh2wuYU.oRk.lkoIwfVjgbFZTffWmi9ZVnDhoF6EeJ7S3MySesb3MyGcyXURbGh2AVN6whHG92goc.DoaaHxcbiCQdSCCqCVwposdXZCXQgcssrLZEknWNSPKhL6a1zxGdhg1dmbN2hFzqp9aQhlFPU2ai0MniPUeWndHs6ZVEFGFZp7TOf33xdlWPIWV3+fPI2gkz+BqiUgMfVagAJXH2FsDKXej3jUs894fmSw8.BN.fA2V5yKhyMvlgoZS55IKRLrouE1AFCHjNsbrLxSEq7rfLezWA5mLTi5RJa39.5cUwFROfRCS6D6oPa94Bldmm1zYTrpUy.lTRIlrOcrIaTC5cB0oyCdBj42HqrMLQIHUCKS32z7XtHXEzrNAAKAHeScWfmCY2dJ9Umc1W.oQ77g1iYQWbYsrFDBD4P2jQySesG1oNwCtBcnZBovP6RPP5PjmE5MtqqJTUA06CsZvPsNXouw0yhno+fwC6wFT28HG.dGHcZQDZ9pDMztsX2oNtYSbGyBQOPA2DlrKn.0PMgTpncCp0QCr71SHZBZp0oY0DgssMfcKDN5Btf06grX4uoFLYeBTLiefQw5pKZd58zgYOqjFZqdKhiE8Oa.norVZZAyPcKeWTMC15.gsfEL+fGJzNWDvUPbN.zZWGLuDS.aGBVqswQYFHzcBSSXIAxNygNap15rohoydBE11+Nrs+jZsOGSqAEvkMdS5UsMmRjUGHMRH5l47u+67vOsaOmiv9OuBitOzxmVoJa0HdrjsYJL2vyEwjnFDchEfXCM5gKZ2DuiuoKrB.1ZauT58lUYSn.FcaiVRRwbeoFUzq.6dScyvmemP+ahOrqqkaYJNVPPsNsqJHcCVJSTwC6Txff7qPWNck1lbn21VrADlC6Cye5C9hJ22TiTCbIzj5w.BK9pmqeSefRDRGwxZIM7oArL1yz.L4dlFPljANMtfRv.LBSgO3+7+9qexk+vALEjjF3TX5I0T3kogQN41EnoX63Wc439U44yw5ZJ8KhUWtWO7G99iq608BF2Qv85RJVsihmz45BJrxe9rum0zmZ7r1ctWaoR+4+9fkkmhcljjFYmohiaVpfbqcmk5g+jG8YolQ4MoozIc4ConrE1Tja5QmGzQEXO0jaZHtSwUSRI..qoeXwB6rK6HoR3Z8LwJ1Hdi504J4fLjpldaEuF5tgD6t9Nw38somPIvrG47ff14aqQW1oL3NsPEKfbwzij1MK5gV9PIKPiLUcnGPbv3Ty2gRTizqgZAM3.rIbsf2k4tG9rY4CitS4ZYhsJdAkfROOhJS6ck6oTXF1NcLrtBL8KdXx76YpSqaCVaN.x+ByJ08fUo9u.5pW2Da.UmAU0PavqrQ005sULKCAH.rpMZAk0vp5ACsZe5aJT1YmcCn.HGMXQDtgpUycgYDa.CKELXHwrx9YCT+rlafNf7kAK1G1qf8sHzbzVadSD6cu5EnkLML8.TClMTFFL0wFzHss.aIvoPiZXXXnow9YUiFbfbgkjBaWvfEXx2eifZ1bQMfBKo0WVCJDECOamlXCnRLsfxVu9Io53hc1jSpPlCTHNjrctauBj38c3GGg74hauiPZnqDldEVIN.6n0MPWvbi9n.WuCid6nWU201.25V9PYsAGyehqPWjfnTGFcPTq0bWhlFQK3jqCObpDY3jOYhqNrLbWI5efEUYdFSJbktWO6SP0N7JQMp2c9tGliX2eJN28GVoxs27SrSkQvhLoYQFrPa.SgNY0mNLeDcwaH4iX2tWQWTGGhX62Gj+I7XCiFQjlusADKzCBsB4dcBOCt5D3dzxDgb1sSiPC4x3.fv1zyglkr1jPzXGvHNrb2vifq847wtUriZryA.RGOVtHHddv.DbPYc0jtJ.fd7sgRL5+NkNQNL2NGx1b86P1nuE.iNiPxtmDO3ce22cTqa4HRbMUhBuRDaHgkes1AxRzldM+tFjITXrAejDWRg9VzgtGcXFsppdLEB3UuTlm+6cs+1nWNRhovy7M79Sq8LeThfw+n2i9y+9XLE9uev727U+meDaJD6.SOwBjMZmrxG+aG+MBEkapoMoR4mP80iCNf3E6185gjn2ij+wjFJ67iNT1biXp9viQ4j7bXGtQWZ4dL5u+eoai9m8du2utWid4uay+PHeRm+smLpV92Yuk6qkCW+QfybhngmxOnzgKadY3ocRNCdjvCFb53SddvI1T37r+UJNoTNSIk38.O53QSDQ8xJuolqc1n60u296n6cDwRyjHV5HUiyIRBI5w79nPJbLcAe1QNx887MlPtftC3c.fh.mOMgPekDzu4OUyP+Dw3PxyED8zoFH5A5ebZmaNsiJmTjIXkErxBV4TMq7zoFV4OagGewHL27UdLCHOcJAP9yvLwERuLwERMLwEDLwBl3IMSbAASrfIVvDKXhELwiCS7BBl3y5LwESuLwESMLwEELwBl3IMSbQASrfIVvDKXhELwiCS7hBl3y5LwkRuLwkRMLwkDLwBl3IMSbIASrfIVvDKXhELwiCS7RBl3y5LwkSuLwkSMLwkELwBl3IMSbYASrfIVvDKXhELwiASbgbBl3y5LwURuLwURMLwUDLwBl3IMSbEASrfIVvDKXhELwiCSbdAS7Ycl3ERuLwKjZXhWPvDKXhmzLwKHXhELwBlXASrfIdbXhKHXhOqyDuX5kIdwS0LwWN9+KAP7grS.EOg9lUJgJSPEKnhETwBpXAU7XPEWTPEeVmJdozKU7RoGpXwGyNAU7jmJV74rSPEKnhETwBp3whJtjfJ9LHU7UR781QtzDV7bI+h6HW5gKV7QsSvEO44hEeV6DbwBtXAWrfKdr3hKK3hOyyEmOEyEmO8vEK931I3hm7bwhOucBtXAWrfKVvEOVbwhuS6DbwERwbwERObwhOxcBt3IOWr3ybmfKVvEK3hEbwiEWr360NAWbwTLWbwzCW7hBtXAW7DmKdQAWrfKVvEK3hEbwiCWr361NAWboTLWbozCW7RBtXAW7DmKdIAWrfKVvEK3hEbwiCWr362NAWb4TLWb4TCWbwbBtXAW7jlKtXNAWrfKVvEK3hEbwiAWbQw2wcmY3hG3dPezyebrPfJxyQWqGo4xEUtieyUnnytbrKr7jJ5mzHtk7DJUsMz8ppW2D.1O4xct7.qX4RJp3cMH6PNz1Ioq4Uai7GqE8CxI1sSVvxCe+2IYAK+Tksan6hLs7HHrmGwzGVacQdMHHW1TF4YgTA1GhoKbG1MpCwnP5lpNDHBK5fFDSjuqtYcTy.hUBZeKcUhaVzFn2z20C0.qtGQC5Bzc3gUyxAZI9FnZDhAplCgPeHXMrsG8uzBrUjg9dvHls6poxzU0TmWYE5BW3h6WTIe1bnuBZd5e77n40Ms88dA3EWG8bnbYyWn70AefjivETVkrqe81khM0HTyihBLORVpSTwFIc0jO9tZQWK2HpS4nJmihtKoqVLEZv7NgzbVEnkMxRuduBxf1ye1B4Iel2S7kuAFopmpdaGr7ALuFoSd8QOccPl7QO6i6IvJaY.eMFEdlIz3PIcPhmVPZ.mjPrNmeT68EB58X8PKNp8NQD29GOnu8K5vofHhGfczFxiMlfYVpfYZHrkmOLOO4cGZ20WW6E+G28s+UuznoVtlxcf36XC3YosEwQEbvw0IRaDz.VTg0NDZIjaoSjVZ.Dn.Z5hXuZL4QUi0aP31qZUsgrVZSxUse9O9CQ+Rm+0ozUsgoyaurcKKq8Zhc1iFH99aDcjGv3A7AdwBSKKuJYeHl01srY0ErJwcOOKaIo6Y46Aou2D64nSOCDPHWEh6qRVoAsxACWZFfLzL.AuNWTFgpDSsbQGPR3MySesb3My29zSZhUcr1IDHhNgWlcEH3pYXYJaReMJuz9cuS2TWSeGU0jCUOcr.ucrHucrDucrLucrBucbAd63h71wkF0NNaj.HG28LO28r.28rH28rD28rL28rB28bAt64hb2St0PE3VCUfaMTAt0PE3VCUfaMTAt0PE3VCUfaMTAt0PE3VCUjaMTQt0PE4VCUjaMTQt0PE4VCUjaMTQt0PE4VCUjaMTIt0Pk3VCUhaMTIt0Pk3VCUhaMTIt0Pk3VCUhaMTIt0Pk4VCUlaMTYt0Pk4VCUlaMTYt0Pk4VCUlaMTYt0Pk4VCUgaMTEt0PU3VCUgaMTkigFZS30gm0GsVaIoM2Zsf2me40LipMeJo+uNl8PJ
      
      posted in General Questions
      Christoph HartC
      Christoph Hart