HISE Logo Forum
    • Categories
    • Register
    • Login
    1. HISE
    2. Orvillain
    3. Posts
    O
    • Profile
    • Following 1
    • Followers 0
    • Topics 45
    • Posts 339
    • Groups 0

    Posts

    Recent Best Controversial
    • RE: What is the process for writing my own module (not scriptnode)

      @Christoph-Hart

      Hey Christoph, when trying to compile your script here, I get:

      > Create files
      > Sorting include dependencies
      > Copying third party files
      > Compiling dll plugin
      Re-saving file: C:\Users\avern\Desktop\blah\DspNetworks\Binaries\AutogeneratedProject.jucer
      Finished saving: Visual Studio 2022
      Finished saving: Xcode (macOS)
      Finished saving: Linux Makefile
      Compiling 64bit  blah ...
      MSBuild version 17.10.4+10fbfbf2e for .NET Framework
      
        Main.cpp
        include_hi_dsp_library_01.cpp
        include_hi_dsp_library_02.cpp
        include_hi_tools_01.cpp
        include_hi_tools_02.cpp
        include_hi_tools_03.cpp
        include_juce_audio_formats.cpp
        include_juce_core.cpp
        include_juce_data_structures.cpp
        include_juce_dsp.cpp
        include_juce_events.cpp
        include_juce_graphics.cpp
      !C:\Users\avern\Desktop\blah\DspNetworks\ThirdParty\data_node.h(75,4): error C2593: 'operator []' is ambiguous [C:\Users\avern\Desktop\blah\DspNetworks\Binaries\Builds\VisualStudio2022\blah_DynamicLibrary.vcxproj]
      !C:\Users\avern\Desktop\blah\DspNetworks\ThirdParty\data_node.h(76,4): error C2593: 'operator []' is ambiguous [C:\Users\avern\Desktop\blah\DspNetworks\Binaries\Builds\VisualStudio2022\blah_DynamicLibrary.vcxproj]
      !C:\Users\avern\Desktop\blah\DspNetworks\ThirdParty\data_node.h(77,4): error C2593: 'operator []' is ambiguous [C:\Users\avern\Desktop\blah\DspNetworks\Binaries\Builds\VisualStudio2022\blah_DynamicLibrary.vcxproj]
      !C:\Users\avern\Desktop\blah\DspNetworks\ThirdParty\data_node.h(78,4): error C2593: 'operator []' is ambiguous [C:\Users\avern\Desktop\blah\DspNetworks\Binaries\Builds\VisualStudio2022\blah_DynamicLibrary.vcxproj]
      !C:\Users\avern\Desktop\blah\DspNetworks\ThirdParty\data_node.h(81,4): error C2593: 'operator []' is ambiguous [C:\Users\avern\Desktop\blah\DspNetworks\Binaries\Builds\VisualStudio2022\blah_DynamicLibrary.vcxproj]
      	C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.40.33807\include\bit(11): warning STL4038: The contents of <bit> are available only with C++20 or later. [C:\Users\avern\Desktop\blah\DspNetworks\Binaries\Builds\VisualStudio2022\blah_DynamicLibrary.vcxproj]
      
      

      The lines causing this error are:

      hise::JSONObject obj;
      
      // write the values into the JSON object
      obj["magnitude"] = magnitude;
      obj["RMS"] = rms;
      obj["length"] = length;
      obj["numChannels"] = channels;
      
      // just attach the current knob position so you know it's working.
      obj["knobValue"] = value;
      

      I have just update to the latest develop. This SHA:
      03c420c1d12f7a4457a8b497a6b78bc49d250e85

      Explicitly casting like this did result in the compile working:

      			// write the values into the JSON object
      			obj[String("magnitude")] = magnitude;
      			obj[String("RMS")] = rms;
      			obj[String("length")] = length;
      			obj[String("numChannels")] = channels;
      			
      
      			// just attach the current knob position so you know it's working.
      			obj[String("knobValue")] = value;
      
      posted in C++ Development
      O
      Orvillain
    • RE: UI Design - AI?

      They're all crap quite honestly.

      posted in Presets / Scripts / Ideas
      O
      Orvillain
    • RE: Hise with latest Faust 2.79.3 compilation failed

      @StephanS Clean the build folder and try again.

      posted in General Questions
      O
      Orvillain
    • RE: is it possible to load a .wav into memory for processing with faust

      @Christoph-Hart Right, understood! I thought you could! My bad.

      posted in General Questions
      O
      Orvillain
    • RE: SNEX simple delay example?

      @Christoph-Hart Vundabarrrrrrr!!! high five

      posted in Scripting
      O
      Orvillain
    • RE: SNEX simple delay example?

      @Christoph-Hart Aye, gotcha! Totally get it now. And that's what sfloat does right? "smoothed float" ???

      Griffin was talking about SNEX. I wasn't talking about SNEX, other than to say it is more complicated than just doing it directly in scriptnode.

      It seemed to me that this was inherent to the jdelay and another delay was required, but I guess not!! Thanks for clearing it up.

      posted in Scripting
      O
      Orvillain
    • RE: SNEX simple delay example?

      @griffinboy said in SNEX simple delay example?:

      I'm sorry you're mistaken.

      You can create polyphonic and smooth modulating delays in snex for sure. It's just dsp.

      You're mistaken about what I have said. I have said no such thing.

      posted in Scripting
      O
      Orvillain
    • RE: is it possible to load a .wav into memory for processing with faust

      @Christoph-Hart A Faust node can process what has been loaded into a previous node right?

      IE: Load sound content into a SNEX node using ExternalData, and then add a Faust node immediately after it to process it like you would any effect ???

      Unless I am deeply misunderstanding the OP's needs ?? Could be. Haven't slept much!!

      posted in General Questions
      O
      Orvillain
    • RE: SNEX simple delay example?

      @iamlamprey Recreate my network above. Throw it on a sine-tone generator. Play some notes, mono or poly, doesn't matter. Then while the delay is decaying away, turn the delay time knob.

      You'll hear it crackling.

      So if we already know the jdelay will crackle just when moving the knob around manually, without any special network going on, then we know that converting a midi note number into a frequency, and then frequency into milliseconds, and then connecting that mod source to the delay time .... is simply not going to work.

      My advice would be something along the lines of using a clone container, so that each individual voice in your synth has its own delay line.

      posted in Scripting
      O
      Orvillain
    • RE: is it possible to load a .wav into memory for processing with faust

      I was wrong, edited out bad info to save people hassle in the future

      posted in General Questions
      O
      Orvillain
    • RE: SNEX simple delay example?

      @iamlamprey SNEX or Scriptnode???

      A SNEX based delay is totally doable, but much much much more involved than using Scriptnode nodes.

      This is literally the super crappiest delay you could ever hope to put together:
      2d5ee822-b337-449f-9509-edfc2f0f1870-image.png

      But hopefully it helps you with the send and recieve positioning.

      posted in Scripting
      O
      Orvillain
    • RE: more advanced wavetable playback?

      @griffinboy To what degree? I understand how to put together a basic biquad, and I understand hermite interpolation. I know the basics of running an STFT across a signal and breaking it up into frames, windowing the signal, and retrieving magnitude and phase data for each window. But that's about it!

      posted in General Questions
      O
      Orvillain
    • RE: more advanced wavetable playback?

      @griffinboy So if I don't go that way, I'm more or less just stuck with the basic index interpolation offered by the wavetable synth module you reckon??

      I don't really understand the underlying DSP principles behind wavetable synthesis to be honest, so I guess it is biting off more than I can chew.

      posted in General Questions
      O
      Orvillain
    • more advanced wavetable playback?

      So it seems to me - unless I am reading it wrong - the wavetable synthesizer in the module tree basically only supports gain modulation, pitch modulation, and table index modulation. There aren't any mod destinations for table phase/voice phase, or anything more advanced that you'd see in something like Serum or Pigments.

      And furthermore, the LFO modulator in the module tree is always monophonic and applies to all current voices of any sound generator. Am I understanding that right???

      So how would I buiild something a little more advanced? ScriptNode and custom c++ nodes for Wavetable playback??

      posted in General Questions
      O
      Orvillain
    • RE: What is the process for writing my own module (not scriptnode)

      @griffinboy said in What is the process for writing my own module (not scriptnode):

      @ustk

      Right sure.
      Yes, you could drop a filter on the audio, but you misunderstand how aliasing works. Aliasing reflects downwards, creating low harmonics. It doesn't just create high harmonics. So even lowpass filtering the signal won't remove aliasing.

      You NEED to oversample if you want to filter out aliasing. It's not a case of it 'helping' but it's a way of raising the nyquist so that when you apply the filter, there are no alias harmonics already present, having reflected downwards.

      Also, filtering the drawn waveform is the same as filtering the buffer. The waveform is the buffer... Samples along the x axis, y value is the value of each sample.

      @griffinboy out of interest... what about avoiding aliasing when downsampling?? I had assumed that a solid biquad lowpass would cover this, but maybe not??

      posted in C++ Development
      O
      Orvillain
    • RE: Wavetable Creation in 2025 - Can't get interpolation...

      Heya, can someone help me sanity check something?

      I grabbed some single cycle wavetables from:
      https://www.adventurekid.se/akrt/waveforms/adventure-kid-waveforms/

      They come as individual wav files, that are 44.1kHz sample-rate, and are 600 samples long.

      The sine wave one I've picked has 12 files. Meaning a total length of 7200.

      I've stitched them together in Reaper, and I have confirmed that the file is indeed 7200 samples long.

      I've then dragged that into a sampler, created a sample map where the file spans the entire keyboard, but there are no velocity layers. I've set the root note to D1 as specified in the readme for the samples.

      When I try to use this file/sample map with the Wavetable creator, the resample mode does not work.

      I am assuming this is because the individual wavetables are 600 samples long, and thus not a power of 2 number.

      I can use one of the other analysis modes, but since it has 12 files I get a kind of FFT spectral noise-burst at the end of the file when I select a slice amount that is higher than my file amount. I assume that means I should not use 12 files, and I should crop my file selection to 8, or even duplicate the first few files to hit 16??

      Typically speaking, what are the most ideal specs for wavetable files in order to make this process as smooth as possible??? I would assume that the resample analysis mode is the cleanest ??

      posted in General Questions
      O
      Orvillain