Fun to learn about everyone here!
Casey, 27, Los Angeles
Film Composer, Producer, and Programmer
Fun to learn about everyone here!
Casey, 27, Los Angeles
Film Composer, Producer, and Programmer
Feature Request:
Algorithmic Time Stretching for Samples
Hey folks!
This seems to be a hot topic with the new FileSystem API, so for those who need a starting place for building a custom mini-preset browser in HiseScript, here's a simple snippet showing how to achieve the most basic steps for:
HiseSnippet 2295.3ocsZ0ziaabFd3tKCrjsRrcC5odfXOoscqhVWmzFajZ48q1MwqWUK6Ew0wMlhbzpIhhi.GpcsRvhZfdnWxk.zS8TAxgh.TTTzeAEnsW5ugV.+SH28A224CRNbHor1EwBvFly7Ny6y6Gyy7Ny3tQTOLiQiPV0t+rIXj0kr6MKLd3VCcIgn81FYcA6tQXFNFs4rItLF1GYYs7uf2qUsUPhee6s1zMvMzCm0DBcHk3guCYLINq0tc9HRPvtt936SFqI806rmGMbKZ.cJfjksail35Mx8H7cc4hsjMx5M1wmDSi5E6FiYHqU1j5Oq2P5IgR4OjvH8Cv7O1.0ClHYy6RC74Hl2JZqgj.+tIVLCAyR2L6eYo8+116S7Iosm4GtrnCmrQn6OrVZdvaCc30dwgmkF7VQBuqX2yKhLINqGN1tn8dgw3nAtPHPGVRYQKc5aYuEEjHLt0X2Q3cifORGQy2qc60cd21sW6lMp2n967NNbYinALmXpSerCy8XruCIzYhHQnQcHVwhcN1MxoW.waD7W93HmOvIQGGgi2hNdBMD9n4pZxrJWEYidSr6zXxfoAaNMNlFV4LXH2pRfJf513AjPLywMHvwKA1tg9NdPK8gjHly.ZjB4N8inmvvQMpGB4ULHGC6HSt2T1gyWzntC7KChxtuCA9rJzkIh.X7wm0TKFWVAt1Rgnlzvr9U8kLPS0ySgjBKRUliS1PvTnX1Q4.xTpWErfLBo3UCnTQxfRZSU.hz9WX0evjXBz7BfBkjoforY69j3.7BLWB4JYlj8x4rtOkK8qHkISvUmmkdvn4BoCFkyAevnpctGLRywVlp1hShGLW0IEImJkMUsZk8WZLcBcxz.fxLaAQy7B.Kw6pjgkrJ9XB9jIzHX47LmA3XugjviDD.CHP3SrzlyVEOD67.XQsJQ0mDg8.J5YxIlDF.DGNClF5wSLJEIIzA7eATfQQgf6JTwGnh2+RftI.VXIfRVjkAVR5nySHzbURLdLa000muVeFkD1b0OAn2TC7TcGgIdKgDooWRnZcHhFLEWhAHTL.8TQ4g3D7rVK1j.RrDD2rTSufUGPc8ULGf2uoXhdjP6ONIRx+kkbbHuOVS4zkHxo2b91ZE7Sy2hICbZpZMOlYFyVyEFFlLTyG.EXeDZNYnR4OCZNc46Ba1ZsVVNbZvLiIRlNDieZFsc9b3TeXpsIh6YS55NGYFqWybpxuSfPplCbCX34Hn2P2viv9MMEYNTHZKhVD+aNdpEMxNGCXNfe9vonCTW2Q33oQglw1bkYcC8By3gTIBWaciwXVX0MLKISarYdzEfcpvxce2X27dPM.l5B4R0RqGcuoIxxOHidSXPqeppNQnd4igYjkBQYcgb1KwtGPEiPFM+ep3436k.xDQGK1HQr0BaFCn2JV8nZMQh4UR3LOaSIQS9hndhom6xUBp0X1FYr76NTulo5JtOjyWTuVM8E+7c.zlbnDZe9mrlEf55Nq9CaIGDrcUbDmwxXxR1M7QOl2C2q1T3sROv.aMn8Z5a0MYJanPnVwzdwQfau4FBRBPN3OJeh1HfY9z5EMUiMexFPQSlKvYvp0HI+QNqVhGHGF4SyiZ+Xwlg2lcP+OCpzfu8eofdNLmpUIkC8BnTTcF+PiFyiNhEXMaZZcRDrCsBfBsUAHylscdJPoxJ3aU1+4CTsHLQ2U5hJrAsPmEUFWP0rbpFa9cofQFBbVvnpeZcGytFLnz9TTVA7otjt42YQz7FXyvoi6iiR1vHQP3v64uc.6puc.8KuvSVDtlfzv8BIPwD3vpty.jpxcDxZIEp.QiE2cvapt6.I2Jh3irZXqw1hDvleqLVHzy+5I+uagpZJjrrho3J1FbuYSSxUAgdvdaC4Z7azPAO.xSvQwDt2vZa7wDOr79MpYuMlMJlNQfe0NvHq5R02H41ObCwABs+V14N.O5oo58eD0YlNHNg3GOTu2gXxQCytbpN+1N8OJ4Jnp8Fu7kuTzLuTnhsxKyMqUFa5I4a8Z7lgV9c7lsr0rjZ4sj631WYIeekk3jbWDhSYpYPn2maP1V+cKSioC0zXP62YhaDnPMMa5p3VF+ZsxqVz.HB0i744tcNTwPQIYBW01rLcczumd33i6H0dCwPbTRSX6SGCJwMBD0Zo7FI5gc3Lm6oN2C+5sdklnoW4mmyRpUokbI6rZ2zrgm3UgMvOquR5BftHFNylgNnunDzWUAZr+gpSCq.dVYvU47exS5jGj+IhIHedzYGjhS9grVydyHWW2w02hRC5EOcvfr+00pu6zvQy1mFNBOCMkgEvDhz5K7788kqwzz0kpZ4+2ytvYrpLm6sMLaTAytyCVrUMYfMgbQ2.RZKOGwW9k+w1kvQjz7wIaAXsr0JKBcwUrMtOJM69Yali5yvtcdRgbxqWztKyyJy2eS878agvvVatJnOmXVFxups4gNKPxk8Qdn+79Ef96uXPWO.8Ue0e3uURnX3P5KJF2fF9m7VKRKttZ8+kryRvQKFS4ErkmmW2v+05F9cLL7m8qNuFtDiqXCJybIsAc6hAcI0n7nxUF29tF9WvVovytITjyntcx6anieD5rVsP97j+8+4EkUCve9u7eOoJBhxoRrVt53PkUtos1+P8.gIUO52XZHOqaw.glGRG223F+qGThIdu68Munn4LZzWWfF+hmghHqvhdVvq1h9nE1ht8s+qkYQe3G96KgI3gO7aFjXmbVrTD6nfLZQ3subJRJVf200Lzu8y6bdJxSyPk37GnoOp3Job1KLoXkRq0q3iNdY68o97KYK+6gxeDXUGvZ0bO7H+wECYj3Y5OR7qkGIcQg6Ur6Rh8FVNdWpD7xOA0qY7pdx4F16LX.bf7Lvth8te7q+2WFcOJj.Gdz9twQDHMz9tSG2CR18v.RBA5R9QUARU9PEe2l+M2yzCG5K9.NOzKUctA+aKUmajzIZrqWD8SSdZVvodAQK.lBEuseM684e6rQxwFssa2pMZLwm7oddbWwOFvd4i4Zmiw7SNGi45miw7tmiw7dmiw7SOGi4mM2wv+u4vsmFSGKWl.MzcGww2sr1IjWomHiD8+gi7rcn
Hope this is helpful!
A few extra things to consider:
Hello HISE fam!
We're thrilled to share Lunacy's first product, CUBE, a virtual instrument in 3D space, built almost entirely with HISE.
This product has been in development for nearly two years and we couldn't have done it without this amazing forum and community. A huge thanks to @Christoph-Hart for developing this incredible open-source platform and for his help in debugging the product. Also, a big thanks to @d-healey for providing our impulse responses for the engine.
We really appreciate everyone's help and are looking forward to growing the HISE platform!
Find out more about the product here.
Rock on!
The Lunacy Team
_L.
Hi HISE fam! We're super excited to share that CUBE was just entered in PluginBoutique's Plugin World Cup 2022. If you have a chance and want to support us, give us a vote today on Instagram here:
https://www.instagram.com/stories/pluginboutique/2977272411587025508/
https://www.instagram.com/stories/beatport/2977273235581877169/
We'd greatly appreciate it
@beatskilz I hear you, but the product is actually 99% HISE Script (about 45k lines of it!), and the only part that isn't HISE is purely visual, not audio-related, so you could absolutely build the entire plugin with just HISE script if you didn't include the OpenGL graphics. We actually had a full version of the plugin built in HISE with just vector graphics at one point.
My point is simply to praise the HISE platform for its flexibility, and in particular, its DSP. You can do a remarkable number of things without needing any custom JUCE modules. But to satiate your semantic nitpicking, I just edited my original post to say "almost entirely with HISE".
And welcome to the forum! I see you joined yesterday and you're off to a good start
@MikeB said in Lunacy Audio presents CUBE:
How did you make the gui. Images or Vector or combination?
The 3D graphics are neither Image nor Vector. It's all OpenGL with JUCE, which means it's a real 3D interactive interface, not a vector illusion. This was the one element of the UI for which we had to add some custom HISE integrations. Fortunately, our graphics engineer is a total guru, so he was able to build a completely custom OpenGL interface in JUCE and then hook it up to HISE for interactivity.
Do you want to report a little about the genesis and the development ?
Sure! We come from the world of Kontakt development, but we were looking to make something more scalable and custom, so HISE was the perfect solution. I've always had a serious fascination with the intersection of visual technology and music production, so CUBE is our solution for blending those two worlds in a really fun, useful, and interactive way. All of us at Lunacy are professional composer and producers in Los Angeles, so we were able to record top musicians from around the city for the instrument, which was also a huge step in building the product. The graphical development, however, was very tricky, as it's really hard to get those graphics to work across all machines, but after many months of debugging we finally got there!
@danh said in Audio Loop Player problems..:
@casey-kolb is that how you can drag an audio file into the samplers in Cube? I wanted to ask you about that!
That's right! We're working on adding dynamic SFZ imports too, so you could load full sample maps with multiple audio files just by dragging and dropping. Opens up a ton of possibilities for users :)
@Christoph-Hart said in HISE Compatibility with Windows 11 and Cubase 12:
@Casey-Kolb Yes this is a deliberately optimization in HISE that ensures that the CPU usage is as low as possible. By enforcing this all the modulators can run at 8x times lower than audio rate so it saves huge amounts of CPU. Try setting the
HISE_EVENT_RASTER
to 1 and compare the CPU usage.There is absolutely no reason not to use a buffer size other that's not a multiple of eight except for ignorance on the end user's part (or lack of better knowledge).
It deals with varying buffer sizes pretty well (REAPER for example splits up buffers at the loop point), but if the buffer size isn't dividable by eight, you will get periodic crackling, so I shut down the processing and show the error message in the overlay.
I might add a way of catching and displaying these messages when the overlay isn't disabled, but apart from that there's nothing to be done - except for setting
HISE_EVENT_RASTER
to 1 and explaining every user why the CPU has increased in your last update.
Ok, so this is becoming such an annoying issue and looks so sloppy compared to other VSTs. It's probably our most serious issue and will continue to be even with an error notice.
I think we need a better solution here that allows the plugin to work even when the buffer size is not set to a multiple of 8. I know I can set the HISE_EVENT_RASTER
to 1, but shouldn't it be possible to maintain the efficiency of multiple of eight buffer sizes but still allow sound and switch to the less efficient processing when the buffer size is set to a value that's not a multiple of 8?
I'm constantly getting complaints about users not being able to get sound out of their plugin either due to the audio driver settings or buffer size settings, and the users always say CUBE is the only plugin with this issue. Surely there's a better way here right? Ideally it just always works, but the user will experience more CPU usage when using a bad buffer setting.
@Christoph-Hart said in Codesigning - Windows:
Ok, I will list you the order of events that I went through when trying to acquire a code-signing certificate:
I'm at about step 6 here and I think I'm going to give up. Agreed, probably not worth it.
Bug: Undo for ScriptPanels (would allow undo for all controls if this is fixed)
I just set the flags in HISE before exporting
HISE_USE_OPENGL_FOR_PLUGIN=1
@Sawer We added two custom functions to the HISE scripting API for getting and setting the tags for individual presets. This allows us to look through all the available presets, make a database of the tags, and then sort them based on which tags are selected. Those functions aren't publicly available, but they're fairly easy to add :)
@orange It was a corrupted .jucer file. All good!
@d-healey Ah I see. I'm speaking with a VAT accountant today, so I'll report back ;)
@lindon We worked with Christoph to develop a new way to use audio files on the fly with the Sampler instead of the Audio Loop Player, which had too many bugs to be worth fixing. Now you can use Samplers for everything, including user audio. Christoph set up a quick tutorial here.
@danh The button is definitely more satisfying. I agree haha
@d-healey I feel your pain. I spent a week trying to figure out why the new Develop branch was completely incompatible with CUBE. Every time I would open it, I'd get like 30 errors with no explainable cause and the whole interface was broken. Turns out x === undefined
now always returns false in HISE, and all I had to do was change it to x == undefined
or use isDefined()
Welp, it's August, so "08" by JUCE time, and this just broke all of my licensing systems lol. Time for an update to Math.round()