Faust Effect Delay Time Sync
-
Hello all!
I have taken the Greyhole example from the faust library and incorporated it into a HISE project.
Successfully.
The delay time seems to be on a scale of seconds, with 1.0 being one second.
Id love to add a button to switch between DAW synced subdivisions (1/8th etc.) and the current Time based option.
Is there a way to potentially achieve this? maybe I could have some math that can convert seconds to subdivisions?
I messed with the Tempo Sync Scriptnode node but Im sure im doing it incorrectly.
I just took the code from the Faust IDE website and created a dll network, im not sure how to edit the actual Faust code.
Thanks!
Mitchell -
The tempo Sync Scriptnode should work fine for this so long as the faust macro is already calculated in seconds. Best practice I found is to link a minmax node between the two (and make sure your minimum values, and skew factor are the same). You can create separate macros on your ScriptFX network for the tempo free, tempo sync, and the button to the TempoSync Scriptnode.
Then you will have to do some separate scripting on your user interface to change the mode of the button for timefree to time sync with a button.
Hope that is clear!
-
I always end up using two different knobs for synced and unsynced time and hide the one that isnโt used.
-
@HISEnberg said in Faust Effect Delay Time Sync:
The tempo Sync Scriptnode should work fine for this so long as the faust macro is already calculated in seconds.
@FatMitchell I guess you have connected
Tempo_sync
node correctly . I have also tried the FAUST Exampleprocess = dm.greyhole_demo;
It is not working with the HISE
tempo_sync
. I have also tried MinMax but don't have any idea how to connect with tempo sync. -
@DabDab A couple of things I try in these occasions is resetting the stepsize on the Faust scriptnode, using a smooth node to control the Faust node, or resetting the step size in the Faust code and "rebuilding parameters for Faust file" and refresh the node.
Also it seems to me that the issue you might be having is that the dm.greyhole_demo is in seconds whereas you need it in milliseconds to control with the tempo_sync? You can convert this using a cable_expr and multiplying by 0.001, then connecting to a minmax, then to the faust node. I did this and it works for me. Conversely, you could try writing your own version of the faust code from the reverbs.lib where you can set the scaling size: https://faustlibraries.grame.fr/libs/reverbs/
Also the license on that code is GPL2, just fyi.
-
@HISEnberg this is what I was looking for...some math!
RE: the license comment, I just find that the Faust effects are cool, just hard to use. I plan on porting some and just putting them in VST format for free for people to fool around with. Not really interested in profiting from and/or selling them.
-
@HISEnberg said in Faust Effect Delay Time Sync:
cable_expr
Can you please correct my script nodes? I am unable connect with tempo sync.
What I am doing wrong ?
-
-
@Hisenberb the absolute lad!!! thank you
-
@Hisenberb Excellent. Thank you dear. :beaming_face_with_smiling_eyes:
-
@HISEnberg Unfortunately not working. I have connected what you have shown. But Faust Time is not being changed. -
@DabDab Strange it seems to be something to do with your cable_expr node, did you press "enter" after writing "input*0.001"? Will the minmax node control the faust delay?
-
@HISEnberg Yes.. I pressed Enter after the code.
Cable_expr value is not controlling minmax value. But Minimum value is controlling faust node DelayTime correctly (upto 1.0 value).
I don't know what am I doing wrong !!
-
@DabDab try putting the min max to 1-1.45
-
@FatMitchell ok, I tried but the problem is tempo sync is not controlling the faust delay time.
-
@DabDab Did you change the minimum and maximum values of the cable_expr node? I typically don't do this. Let me know if this works for ya, it works fine for me:
HiseSnippet 1866.3oc2Y07aabbEeVQMTlxeTmBm1hdhGxA4.WARYW2BzClVe4HjPIBuxx9TMFs6PwAZ2Y1t6rRhos.9POj+BBfu0iIWx8byG6AenH+E31yAHNmxk.j7d6tjbVszqHoUrSKMfgl27l48684Lya6Dpb3QQpPhUsc6GvIVWhZ2Wp6sVOlPR1Zch0UnsYQZdX8TRq1OfEEwcIVVUtGRvp17jjeu7Nqx7XRG9HRDxdJgC+iD9B8HpcZ8gBOuMYt7cE9FbeqVa4njqo7Tw.dpPaPBXNGxNfuMCYaNJwp5FtBsJzVyz7Hh07qpb6a2ScrLk+8DQh8833flDaXiRIuoxyEQLRkrVOgmamA5cDgXQ6LxJTI0JbMZagqXH8QViqlLQ8QqvzdXMWd3UIG7Z9pf2XfjkAjlOERuC01ITDnGMChmKR2RBNmtLvraBkTdIVOitlBXPpW1mcHeyPXvvErzsaz3F0g+65+otwRGsPIqqjaqz7cjKc8E+qKVaw+9h0O8Tc6N14PwDp773gicZzSGV1BWRF6uOO7F0Oh4EyGxHn94soUmLapSpVavnRtkTn2IfmMt7fBRlYC9qGr05LMCcJYz.9B3gZABGq04GAQ3otnZz04QGpUAPLdA+GD4nbi8X57gSXNT1Df8HmODcTxHgtuYN1TDi0nzXrIEhuCsiP6za7XbtwfQvR8SAFyxLuLcitc4N5Q.bd5lOZVSCaL0ogKlkFBxDE9kxFVeyG0brIfeBcTvdPHOfEx2U0wi0eoHlefG+9.FuQ888TNGZK9XdwLjfTHrJxwRN8XRI2KZVRjpdNUbhbeUrVHOnMSGJNAJetcruMTx1guVF5.ZVyg4Poiafiw3BatzMYvO.+xlrIN1JaxlClzH8aat9XU3gItir+lXs.Z6qQuWHueOkG4tddpiWS4GHxBQAGPBsNJu9A8TRgCRJkiAv7t9pXPBYX8CXQ6xDdXLscbDTkvcGoMvbx4YVU1iGFkrwKParL7OHFeakKLU0MYNfUseGltGlrfEdfHSd3xNCiPGATyHDb8CNrK09.3yGUZ7nNzyzgEBm7AUqwBMyYUwnvSZrINBx7lKMRbqn8vYcXdj8PeOtHBJEj84SgKMkUM2OP83n9RGRN7esD7CQQKavwjC57PjLplwtrvC35nrhnRtSpWJwFtkKhHGFD78X9IAgjgpMNyBzTcgXXL.sY3Hfi1BYl9NpDTa1Imh1Jsr07.LGyrbp8g7iSs.lTQizBzcQS.ovVe2XsxGxgRp+QL.R0h.4k2oHPZLk.4Rz1wdZQfm.DRg8mL8VBPXSE.pQ2PhdG2ovVLYP4y9zSaK9mO8oeYIP4JzGHwXRtaxUGOkDDsximbg7FAXuhPdCNl0Pdq4NUVYU39WtCA5koBYPr98gBHMZlb5lIuK.WeX+3CFl7VYJRft.0WH8YmLIIOVmOgLPI6RRdR2fyHfwvAMTAx4bt5PmS1ruApEs.sKKNRm2RdQpKGNzNIpKu0r5OarlupRQe+m+seU686bmWefTCd8iT3G6SJr4mQgv7lgal766ldoyNIuzGrQkI8jRJE082q0DI8mU6Ie0cRyjw4Ju.b0eZ7+fnA9K59OmDcY09WjBWghEhWvun3MReGjzjK6EJ5pB4KmNy4VI0Zz07fcZqgGGcE5AoWuhiWZoPY0eAdAUiT1rUkJ274xKTRt7yKlB8mu9XBhew+81+1RLnlERL29Wfa+zb0hBd2mbsu3aJ.FbWKKixEdDBbW9oN15EiIi5BslNSQUZDx6qcF0XU7yzKH51MN4J8EzryizpV+mO9eTZZUWN2celyg4D+yd9y+5yEweF98Eo9J204APRZgJkyf3KTJ8Lz9Zn32Lj+WJD10hXeL1sggmQmO+rhI1RUDLQpaHmSlwKbVRo2gK8V27l1+p+0eqk4EFJ6sLFucJ2kHN0sWIiWarw0M8uoI4Y6kqGoDZ9ZqGCdZTAE3hoSLEZfYj6DqA4g7rnAidRCYUk5PeVRCFdsa026lN4EoOjcDOoO5Iu++cSF2UE5W+dbIODavVyR5j9+dR6jdvD2I8cbz.D1MjIiBTQ7ll67olaEy4Vmqik4YOkTNtP0aSP8ZZdXv.hqXRrCSlayfw41o1XGkFUJN0KYyAswcmHGPYYmJznSrWD+gBWcullKbD4ULI+ArP2jnSyXoJk8QEdkMFKeiaM3eL8Qr5aguvv4S2eeK1f5bces1.LZKvtltg7HtGjZlfweIjKB2wzSOfZ9bq1JoZPO.G40uOWGJN3.d9CmFmBcWsFOmdHkq059bONKJ2AfejPxYgsStP7LYKl9OHzX8W+FZJbqiEDp++teXgJ+e8GVXxy9f5g+71K9qoPc4Upm3Jq+1wW9l36Q7lPF9LmP0iyZ3ElzegDJfdKS9.3X+Ofw0aRNJ6Ir32hf3CGW7XGGLd82Am9L90rxLrlaNCq4VyvZ98yvZt8Lrl+vLrl+XoqAOoN6M6XLOPnyFI2fzxZv8Kw139i.LEPYI
-
@HISEnberg Thank you so very much.
Your snippet is working fine. I have also got the step what I was missing. -
Ive tried this same setup in my project,
but when i compile it to a dll network and use as a hardcoded masterfx...
I get a predelay sound, before the delay sound. Hard to explain.Its as if there is another dry signal being thrown in the path before the effect.
did you have this problem after you compiled it?
I have tried every routing matrix path i can think of at this point to see if that was the problem but to no avail
-
@jeffd I was having same problem. I thought may be I am missing something. Didn't find any workaround.
-
@DabDab
oh damn,
hmmm.. yeah i cant figure it out. maybe has something to do when faust effects are compiled in the network. it works fine as a scriptfx.I need a decent sounding delay..guess I will look into max/msp rnbo.