Haha the easter bunny has delivered.
-
@d-healey oh I thought it was just the real-time capability that was GPL only, not everything...
-
@ustk The entire library, as far as I know there is no specific real-time stuff and based on what Christoph was saying earlier it wouldn't be fast enough for real-time processing.
Now you have another great reason to use the GPL for your software :)
-
-
@d-healey Since I just need a partial list it might not be the simpler tool anyway.
And if the sampler can draw them it should be possible. I reckon there's a 2DSpectrum thingy in the FFT already so getting a data object should be pretty simple to add for "who is not me" :)EDIT: In fact, I'm sure it's already there because we can get all bins from an FFT, I just have to somehow filter out the one I need...
-
@ustk I use audacity and then export the list to csv, open in a spreadsheet, and filter the data. Might be too slow though if you have a lot of samples
-
@d-healey Yeah but remember it has to be doable in a compiled project in the end ;)
-
@ustk cant you use Loris in HISE to generate the SDIF file and then some other (not open source) process to read the partials from the SDIF?
-
@Lindon what format is the SDIF file?
-
@Lindon Don't you know what an SDIF file is, Lindon? Because... well... I don't... :)
-
@ustk its the partials analysis produced by loris analyse - essentially the sines and their envelopes that (when combined) re-generate your original audio...
-
@Lindon A nice idea indeed, if it's authorised by the license
-
@ustk you can also build an open source analyser app that stores the data in a format that you can define yourself so you don‘t have to come up with an SDIF parser.
-
@Christoph-Hart I just need to get the harmonics from any FFT solution so let stay simple, especially since Hise probably has everything I need at some modifications away :)
-
-
@ustk said in Haha the easter bunny has delivered.:
It crashes on mac with a mouseUp in the upper previewPanel so I changed this
Engine.playBuffer("", "", 0.0);
into this
Engine.playBuffer([], "", 0.0);
I had the same issue on Windows, thanks for the easy fix :)
-
I've written a temporary method for the Save button, for those of you just as impatient as me :) :
const var SuffixLabel = Content.getComponent("SuffixLabel"); inline function onSaveButtonControl(component, value) { if (value) { //Grab suffix local suffix = SuffixLabel.get("text"); local fileName = LorisProcessor.CURRENT_FILE.toString(1); local audioFilesDirectory = FileSystem.getFolder(FileSystem.AudioFiles); //Write buffer to audio local bufferToWrite = LorisProcessor.ooo; local fileToExport = audioFilesDirectory.getChildFile(fileName + "_" + suffix + ".wav"); local isMultiChannel = isDefined(bufferToWrite[0].length); if (!isMultiChannel) fileToExport.writeAudioFile([bufferToWrite], Engine.getSampleRate(), 16); else fileToExport.writeAudioFile(bufferToWrite, Engine.getSampleRate(), 16); } }; Content.getComponent("SaveButton").setControlCallback(onSaveButtonControl);
-
@iamlamprey yeah, go open source! Now do a realtime synthesizer next.
-
@iamlamprey Thanks for that!
@Christoph-Hart This is amazing. I've just been playing with the pitch lock and my dynamic layers crossfade perfectly without any noticeable chorusing. I didn't even make much of an attempt to line them up, I just auto-trimmed the starts and dropped in some loop points.
-
@Christoph-Hart said in Haha the easter bunny has delivered.:
Now do a realtime synthesizer next.
Any suggestions on optimizing the number of partials? I don't think I can do 2000 lol
-
@hisefilo is our additive synthesis expert I think - last time I looked at his published stuff he was using only about 8 partials to get something viable, so you could "optimise" down to this, build an additive synthesis engine to utilise these, and then keep adding partials until you are happy.
Of course "build an additive synthesis engine" is a 5-word description of a HUGE job...