Bypassing Samplers ( 2 Method And What Is Your Solution )



  • Hey Folks

    There are 2 Ideas to Bypass the samplers:
    First One is To Connect A Button to The Samplers Enable/Disable Button.
    And Second One Is To Use A Midi Muter, And Mute The Incoming Signal.

    Here Is The What Happens!
    On First, You Can Clearly Hear A Noise And Less Than A Second Of All Engine Mute.
    On the Second Idea, The Sampler Is Kinda In Use And Adds Maybe A Few Percents On CPU

    What's Your Best Solution?

    Is No Midi In, Mean The Samplers Is Kinda Bypassed?



  • @Natan said in Bypassing Samplers ( 2 Method And What Is Your Solution ):

    Hey Folks

    There are 2 Ideas to Bypass the samplers:
    First One is To Connect A Button to The Samplers Enable/Disable Button.
    And Second One Is To Use A Midi Muter, And Mute The Incoming Signal.

    Here Is The What Happens!
    On First, You Can Clearly Hear A Noise And Less Than A Second Of All Engine Mute.
    On the Second Idea, The Sampler Is Kinda In Use And Adds Maybe A Few Percents On CPU

    What's Your Best Solution?

    Is No Midi In, Mean The Samplers Is Kinda Bypassed?

    option 3. Put a Simple Gain in the Sampler FX, and set it = -100dB when muted.



  • @Lindon Haha Thanks Lindon 🙏
    My Concern Is To Achieve Best Solution In Terms Of CPU Usage



  • Best Solution In Terms Of CPU Usage

    Midi muter, and set the sampler's voices to Amount 1 and Soft Limit 1.



  • @d-healey Thank you Sir 🙏

    Mine is Set To 64 At The Moment, Is That Too High?

    And What is The Api For The voices Amount And Soft Limit?
    Thank You



  • @d-healey Is This Good?
    And what is The Best number for VoiceLimit?

    const var Sampler1 = Synth.getChildSynth("Sampler1");
    const var MidiMuter = Synth.getMidiProcessor("MidiMuter");
    
    const var Button1 = Content.getComponent("Button1");
    
    
    inline function onButton1Control(component, value)
    {
    	if (value)  
        {
            Sampler1.setAttribute(Sampler1.VoiceLimit,64);
            Sampler1.setAttribute(Sampler1.VoiceAmount,64);
            MidiMuter.setAttribute(MidiMuter.ignoreButton,0); 
        }
        else
        {
            Sampler1.setAttribute(Sampler1.VoiceLimit,1);
            Sampler1.setAttribute(Sampler1.VoiceAmount,1); 
            MidiMuter.setAttribute(MidiMuter.ignoreButton,1); 
        }
    };
    
    Content.getComponent("Button1").setControlCallback(onButton1Control);
    
    
    HiseSnippet 1321.3oc4X0raabCDlqkYPjRjaRPNzKEXgPOHC3ZH433XffhHKY6.iFYKn0Is2BnWQIQ3cIWvkqaTM7o9B0Gg9Hk2f1g6OZ4pJHKqh5925CVyPNC+lY39MiTOovkFFJjHqxmOIfhrdL1YBWMtyXBiiN4Pj0F3tjPEUZmnp8j.RXHc.xxpza0JrJuNJ94yuoMwivco4pPnOHXtz2w7Ypbs8Z8cLOuiICnmy7M18tsNwUv6H7DQ.dJgafBHtWRFQOkn21ZXj0CNZ.SIjNJhhFhrVusXvDmwhejmr+OvBYW3Q0BMQNfiRTervafFw5Oi5Ll4MnWVbGhPV3d4YgRIYgmi6xFvlpOOa7j3ErysvLeXs1hfWyUDdVFva8D38TriqjEnxWQisGgOgCEpgDnDXBqj8hV6mKg6HfcvUa6StjdrDDlZQ8l6r+V16r+lutZE8ePkHTYeEQZ6P7C7nxl1eqc7UisGQUwnLVpdsr0qoMM2Lcdpaj9higcExp0qMcO0RN1bqaGoTBt9Lyfr9TE9ABNHTuV550xfKi6w3T6gQbWESvsE7zcnMWJ7p6lY6Vf+8hnaVsx0UqTlMztdhrsc0J1vy0I+S+jEYaGRUGnTR1E.VqOUa9c6s1aWMPtK1cfuHhmX3T6llNJZXtZ1HtPRShrsZr4qsiM8ljSl5ER+SDBMWwH.ryt5JFBMMBgahqj2R0V60zJZGhm2E.+P8YK053v3dvoBE8Ld8MqbckxUtoh8rKMb3bWK0YP3N2k0LWxEYXcdj+ETY1ssrMBuBWji3AKGGgaRdwXiB9Ibl5r.ZpbNKRy4vhfRSrZ9jTDBaUEylrQJaRRZDw.mTFmlSQwv2jjG89SNjnHYNB7IbNATohoCGqCoWA2MRnoJiOjFdoRDDu2zpIjAVhi8SlMQlXJf9izg.orXPjGQUjoV2dJcAnzTfRTS6wCYpIlQ1cf9twboumaheIg6Sw8XJ2wyGuqMG7BEf+pwaZyvp3iFNj5pxA653i+gUsy2pAkuJAJOC6njThOiOJkLJFOUvYTS2uymzSR8DjANrexXa+Zq1QP9RVT6uzxfzz7rRQdeZ.knfxugMOrU+9uUJhBl0pO+l3KKmKA9OHUXtvYbJj2UlwXGoHLbHDNw9JzbodQxQ5bUtl9zqnxvh5NMxGp8bNzgAlVxxBT89PptVyb6R.N9BusFeJMNmDWugg1hkaNi7NyH+hYj2cF4WNi7dyH+pb4jDZWRf9lgdnwYXbqrbLtfC5QfP1X7x1rQScdx1KRwX3zo47XbY3iYk+dxUzgBougJGpRAU0PC2MmwBev+dlZMEdOBOcLfz4UykK.nREATokCPKro2ZKQSuMvlCmLamuT2cK93KvCYexQE4dod3hv4z97dq8UokiC9VpckyvnCSey+H9U.kGnQiwmA82GRh7TYZKR+1UvEAiEblaQBFfvXzHpzD6yMffwGA9sbMOuUepGkDZjO+5VuCF6mHKxadmxEMW9bwhpWeINAt15dF1+2XriR+ueriEk51HcnCa3zkp+gWmeLNtMosdpl+tfZeQjtuV1DCXXrBGXTJWp4vEqo4YSjank0.xgxGDK7avS5hMylDQuXyrEQtYtBhszOG+sUrJQ45NuwSS6Ay33YdkNDFXSCIXZg6ET5SbkhO5lzNQi0GFqAPIO9m5pLtqV1d5W+BiarcCjOzt7itt5WD9FHCOea1YEr4EqfM6tB17xUvl8VAad0JXy9KzF8jJGDoD9IjjfhdGkbwx5noWrJg9c.qo6upB
    


  • @Natan

    Mine is Set To 64 At The Moment, Is That Too High?

    If you want the minimal cpu usage set it to 1 and 1. If you're using the sampler (not bypassed) then set it to whatever you need to set it to depending on how many voices you expect to be playing at any one time. If it's a monophonic instrument with short release then 16 is probably fine if it's a complex polyphonic instrument then 256 might be necessary.



  • @Natan You know I always have to do this

    inline function onButton1Control(component, value)
    {
    	Sampler1.setAttribute(Sampler1.VoiceLimit, 63 * value + 1);
    	Sampler1.setAttribute(Sampler1.VoiceAmount, 63 * value + 1);
    	MidiMuter.setAttribute(MidiMuter.ignoreButton, !value);
    };
    


  • @d-healey said in Bypassing Samplers ( 2 Method And What Is Your Solution ):

    @Natan You know I always have to do this

    inline function onButton1Control(component, value)
    {
    	Sampler1.setAttribute(Sampler1.VoiceLimit, 63 * value + 1);
    	Sampler1.setAttribute(Sampler1.VoiceAmount, 63 * value + 1);
    	MidiMuter.setAttribute(MidiMuter.ignoreButton, !value);
    };
    

    Haha That's Very Simple And Short 🙂
    Is This Or What I Wrote Impact The Performance?



  • @Natan No won't make a difference.



  • @d-healey Great,Thanks A Ton Sir.

    Is This Still Create Noise Sounds?
    The Answer Is NO 🙂 Thanks A Ton Sir


Log in to reply
 

9
Online

1.5k
Users

4.6k
Topics

42.1k
Posts