Haha the easter bunny has delivered.
-
@iamlamprey said in Haha the easter bunny has delivered.:
I'm not actually sure how that code works, since the docs only ask for 2 params, you could try different combinations of the [], "" and 0.0 lol
Engine.playBuffer(var bufferData, var callback)
Does it work for you?
Docs show 3 parameters for me
-
@d-healey said in Haha the easter bunny has delivered.:
Does it work for you?
ustk's code above works for me in the context of the Loris Toolkit's preview waveform panel, it was crashing on mouse up, now it fades out the audio/stops playback on mouseup.
Docs show 3 parameters for me
Ah I always refer to https://docs.hise.audio/scripting/scripting-api/engine/index.html#playbuffer , the HISE api has 3
I'm not sure why the buffer isn't stopping for you, I think this might be turning into a @Christoph-Hart problem..
-
@iamlamprey Probably a Linux thing. I'll see if I can spot anything in the debugger.
-
@Christoph-Hart said in Haha the easter bunny has delivered.:
@iamlamprey I'm currently extending the Loris API to include the more advanced functions like collate, distill and sift (love the names), they do address the problem of having too many partials, but as David said, if you reduce them to a common denominator the sound gets a bit more static.
Would these extra functions be hard for me to implement? I know you're busy with the MIR stuff atm
-
@iamlamprey also waiting for it! Fingers crossed
-
New commit does what I was trying to do much better:
//make a var outside the rebuild function's scope var frequencies; // probably use a better name lorisManager.analyse(CURRENT_FILE, rootFreq); // line 125 in LorisProcessor.js frequencies = lorisManager.createSnapshot(CURRENT_FILE, "frequency", 0.1); // new method
the string parameters are "frequency", "gain", "phase" and "bandwidth", the time parameter is in seconds
The method returns an array you can inspect:
Once the dilate stuff is ready (if it's not already, i haven't checked) it should be pretty simple to reconstruct the sound in a SNEX node, I think the real CPU struggle will be polyphony...
-
@iamlamprey even monophonic would be good..
-
I haven't been able to get this working lately on my Apple Silicon system (tried native and Rosetta). I did try the latest release dylibs as well as pulling the source and compiling myself. In both cases it's getting caught on:
So getting the "Can't open Loris DLL" message ultimately. I even tried signing the dylibs to avoid that quagmire... so the files are accessible anyway.
I've verified it's trying the correct path on my system, the files are in place.
I was able to build the toolkit project despite this, but it's complaining about function pointers when trying anything.
Would love to get Loris working again. Any ideas?
-
Hi guys, I finally have some time to try loris but when loading the test project, HISE crashes and I get this error in Xcode :
// Yes, I know it's legal for a unix pathname to contain a backslash, but this assertion is here // to catch anyone who's trying to run code that was written on Windows with hard-coded path names. // If that's why you've ended up here, use File::getChildFile() to build your paths instead. jassert ((! p.containsChar ('\\')) || (p.indexOfChar ('/') >= 0 && p.indexOfChar ('/') < p.indexOfChar ('\\')));
Ok I understant whant that means but I have no clue about how to solve it...
It happens on PC tooI'm on the commit from July 18th
-
@Christoph-Hart I'm attempting to compile the loris toolbox project but I'm getting some errors about
snex::jit::String
.In file included from /media/dave/Work/Tools/HISE/hi_scripting/hi_scripting_01.cpp:95, from ../../JuceLibraryCode/include_hi_scripting_01.cpp:9: /media/dave/Work/Tools/HISE/hi_scripting/scripting/api/ScriptLorisManager.cpp:143:63: error: ‘snex::jit::String’ has not been declared 143 | juce::var ScriptLorisManager::createEnvelopes(juce::var file, snex::jit::String parameter, int harmonicIndex) | ^~~~ /media/dave/Work/Tools/HISE/hi_scripting/scripting/api/ScriptLorisManager.cpp:143:11: error: no declaration matches ‘juce::var hise::ScriptLorisManager::createEnvelopes(juce::var, int, int)’ 143 | juce::var ScriptLorisManager::createEnvelopes(juce::var file, snex::jit::String parameter, int harmonicIndex) | ^~~~~~~~~~~~~~~~~~ In file included from /media/dave/Work/Tools/HISE/hi_scripting/hi_scripting_01.cpp:64, from ../../JuceLibraryCode/include_hi_scripting_01.cpp:9: /media/dave/Work/Tools/HISE/hi_scripting/scripting/api/ScriptLorisManager.h:76:9: note: candidate is: ‘juce::var hise::ScriptLorisManager::createEnvelopes(juce::var, juce::String, int)’ 76 | var createEnvelopes(var file, String parameter, int harmonicIndex); | ^~~~~~~~~~~~~~~ /media/dave/Work/Tools/HISE/hi_scripting/scripting/api/ScriptLorisManager.h:38:7: note: ‘class hise::ScriptLorisManager’ defined here 38 | class ScriptLorisManager: public ConstScriptingObject, | ^~~~~~~~~~~~~~~~~~ In file included from /media/dave/Work/Tools/HISE/hi_scripting/hi_scripting_01.cpp:95, from ../../JuceLibraryCode/include_hi_scripting_01.cpp:9: /media/dave/Work/Tools/HISE/hi_scripting/scripting/api/ScriptLorisManager.cpp:156:67: error: ‘snex::jit::String’ has not been declared 156 | juce::var ScriptLorisManager::createEnvelopePaths(juce::var file, snex::jit::String parameter, int harmonicIndex) | ^~~~ /media/dave/Work/Tools/HISE/hi_scripting/scripting/api/ScriptLorisManager.cpp:156:11: error: no declaration matches ‘juce::var hise::ScriptLorisManager::createEnvelopePaths(juce::var, int, int)’ 156 | juce::var ScriptLorisManager::createEnvelopePaths(juce::var file, snex::jit::String parameter, int harmonicIndex)
Also I notice that the latest version of tool box doesn't work in the latest version of HISE. It always synthesises 0 partials, and the preview playback doesn't work with the short samples (cymbals for instance), but does with the longer ones.
-
@Christoph-Hart Loris toolbox is still broken
-
what happened to Loris? if i uncheck Preserve Noise it just synthesizes nothing now
i haven't touched HISE in 6 months so I'm not sure which commit(s) to rollback to get everything playing nice
-
@iamlamprey yeah it's broken, see my post above
-
@d-healey reverting to the 2.0 version of Loris fixed it for me, thankfully i had that backed up
let me know if you need the dll
-
@iamlamprey Do you have the link?
-
@d-healey I think I will have to include loris with a preprocessor flag into HISE directly. This entire DLL thing is not working, it‘s a pain for Faust and the DSP networks but necessary, however here it‘s just annoying.
-
https://github.com/christophhart/loris-tools/releases
version 2.0 is the one that worked for me -- if you get the error about declaring const in an inline function, change it to a regular function and everything should work afterwards
-
@iamlamprey Just got around to testing this, 2.0 worked for me too.
-
@d-healey sweet. have you figured out what the createEnvelopes() method is for? like can we attach that to an adsr or something
https://docs.hise.audio/scripting/scripting-api/lorismanager/index.html#createenvelopes
-
@iamlamprey I haven't used it, but if you search this page for the word envelope I think it may give some explanation - http://www.cerlsoundgroup.org/Loris/LorisModelingInC.html