HISE Logo Forum
    • Categories
    • Register
    • Login

    Constant Audio - Tape/Vinyl Emulation

    Scheduled Pinned Locked Moved General Questions
    tapeemulationaudio playerloop player
    18 Posts 5 Posters 1.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • trillbillyT
      trillbilly
      last edited by

      Hello Once Again HISE Forum,

      Im looking for a way to have a constant loop of audio for a tape & vinyl emulator. I feel like I can do something like this in the Loop Player, but how could I get it to be engaged at all times without the need to engage MIDI?

      My hope is to allow the selection of different recorded noise types (tape hisses, vinyl distortions, etc) that can be enabled and disabled.

      Any help or direction is appreciated!

      ustkU 2 Replies Last reply Reply Quote 1
      • ustkU
        ustk @trillbilly
        last edited by

        @trillbilly You'll necessarily have to trigger a MIDI note somewhere in your code, like in a button callback...
        Synth.addNoteOn and Synth.addNoteOff are what you need.

        Can't help pressing F5 in the forum...

        trillbillyT DanHD 2 Replies Last reply Reply Quote 0
        • trillbillyT
          trillbilly @ustk
          last edited by

          @ustk forgive me, I'm not at my computer.

          So I could do a button callback that is linked to a specific midi number? When this button is engaged, it would turn the audio on and disengaged turns the audio off.

          This sounds like it could be just done in a sampler then? And I could just use the "combobox Preset window" to switch sample maps to change the sound.

          I'll be back in the studio tonight to do some trial and error. I appreciate it!

          ustkU 1 Reply Last reply Reply Quote -1
          • ustkU
            ustk @trillbilly
            last edited by

            @trillbilly Yep, just do this:

            inline function onButton1Control(component, value)
            {
            	if (value)
            		Synth.addNoteOn(1, 60, 60, 0);
            	else
            		Synth.addNoteOff(1, 60, 0);
            };
            Content.getComponent("Button1").setControlCallback(onButton1Control);
            
            HiseSnippet 1090.3oc6X07iaSDEebRl15.rhVUgfaVUbHKprD2VVPpGZ17UUDa1M6lkJPpRUyZ+Rxnc7LF6waaDpnJDG4.h+M3L24+H3NGfYrchcZMgfKezUhHsqx6Mu2L+l2626MyjQABGHLTDfLLOYtOfLdc734b4rNyHTNZPWjwV3gjPIDXknp8beRXH3hLLpdesBCyZn3O+x8ZSXDtCjoBgdff5.6S8nxLsiZ8ITFqOwENg5ky56zZfif2QvDQJ7TE2D4SbNiLENfnMqBFYbodtToHXrjHgPjQs1B24imIdLOw9GPComx.sfMZrZhRT2Wvb0HV+cTmYTl6nE66PDx.OJKJTMIJbc7PpKco9rnwaFOfUlG4iGFUVG7rKI7LxAuZIv6p3wNATeY1HZr8Z3AbUhZBQkBxCqDaQU9dCbGgxBtbGOxYP+.kvROZrayl2zR8usua850obFkCVSh3NRpfaI3sijRA2VOAABVCGgmufqlpaZcNgEAaW+KqaRmX0HUxzLlFsCw08.gDNj2vVO6I+oWCSfEBufYSlrvNsMO8t0W.3ofryhkrwMRAyM1dmPs9XH0gvXmp3KMddrplnb6iTzDi25Ost0yOjBAEMV5bwffBGVSjCVmiM3QdmBA4iVZCUYzUoLWZynLNIgkbFJ3C3T4g9PpbFoxt.REJMtpoWoHTYpLlbsUJ4JIJhnpIwDmFRQwvOeAN5SGzkHIKlH0bpVGeHPR0aGitv4pF.IrVSbWH7LovO11zjIx3xavx9jkK4yHslms9tsdL0UNSUCarqABMCnSmI0ResZPI7DotpXz9684ev3SNbjp0yKTJoJnEtQLhb0pbcqszAT4wUJmzkL7Ppbd9Ve+EJ8aVXoegYoMDtWEOhJclULdqT.dUYq+owaZiz2.2axDvQlA1Z39eVY6ZVNnbkDnbY7ABZHDChqk7cq6CbHPGLs+iNX6m90u5G1zC1723C1LpVpSJVkUly9BN1n1+Amp82O09kuRr5lA2+jCdMWfwwTOeFzieNvTs4RIScgIjHlbg1UISCEbg+LAm5jm+bLHCnSmBA4wdgan8jR0wZYZtdqiAFPByQvd2V6qNtlDnhSPIiE1adrXc4q2Fm.WKcEf0+2A8UsNnk7dmoz+qgGIXySHy8oL0UGiAjINQvdMuN.g5G.eQDvcxhhe2O15nEBa+ve9dqReeuVGEQXYQ8m8vu8a1qM0WvHAaTFo7r8ZaHs4svK2TWj355LyEG79N3zjtkNXewA2agO5U.vdrHRR4SGRTG2ntEM9fHuwpqg3.Jfx4pGgousbE8KBRjapk0.ZLvciE9M0mzAs0xFoCZuXv+UVCOhSf3QNIuUQWidkXMp8MO9WGvDOTKas7IJXbycZh7T2q4QNN5lluuJ9TrO2pD9b6R3ycJgOeXI7Y2R3yGUBe9305i9Jk6EIEdI7ekhQ8hepngQONQwjiKEP+N2K77B.
            

            Can't help pressing F5 in the forum...

            trillbillyT 2 Replies Last reply Reply Quote 0
            • DanHD
              DanH @ustk
              last edited by

              @ustk could a timer start the NoteOn without the user having to actually click anything?

              DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
              https://dhplugins.com/ | https://dcbreaks.com/
              London, UK

              d.healeyD 1 Reply Last reply Reply Quote 0
              • ustkU
                ustk @trillbilly
                last edited by

                @DanH

                @trillbilly said in Constant Audio - Tape/Vinyl Emulation:

                that can be enabled and disabled.

                Can't help pressing F5 in the forum...

                1 Reply Last reply Reply Quote 0
                • d.healeyD
                  d.healey @DanH
                  last edited by

                  @danh Yes. Also if the button is saved in preset it could also start the note as soon as the preset is loaded.

                  Libre Wave - Freedom respecting instruments and effects
                  My Patreon - HISE tutorials
                  YouTube Channel - Public HISE tutorials

                  trillbillyT 1 Reply Last reply Reply Quote 0
                  • trillbillyT
                    trillbilly @d.healey
                    last edited by

                    @d-healey @DanH yes, the timer option would work perfectly for this if it would allow instant playback when a Preset is selected.

                    Once I'm able to get to the studio today I'll pull up the documentation and play around with it.

                    Thanks for the help!

                    1 Reply Last reply Reply Quote 0
                    • trillbillyT
                      trillbilly @ustk
                      last edited by

                      @ustk super appreciate you! Thanks for this

                      ustkU 1 Reply Last reply Reply Quote 0
                      • ustkU
                        ustk @trillbilly
                        last edited by

                        @trillbilly If you want it to play or not depending on the selected preset then a button is the choice to make

                        Can't help pressing F5 in the forum...

                        DanHD trillbillyT 2 Replies Last reply Reply Quote 0
                        • DanHD
                          DanH @ustk
                          last edited by

                          @ustk agree, as @d-healey said save it in the correct postition and it will play as soon as the plugin loads, and then you can toggle it on and off at will

                          DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                          https://dhplugins.com/ | https://dcbreaks.com/
                          London, UK

                          1 Reply Last reply Reply Quote 0
                          • trillbillyT
                            trillbilly @ustk
                            last edited by

                            @ustk @DanH ahhh, sorry, I misunderstood what was said. I got it now. Thanks again!

                            1 Reply Last reply Reply Quote 0
                            • trillbillyT
                              trillbilly @ustk
                              last edited by

                              @ustk I've got it close to working. It is indeed turning the Noise FX on and off, but it is also effecting all other sampler. When I turn the button on and off, it turns each sampler on and off, not just the one generating the noise.

                              Here is how I have is coded:

                              const var Sampler5 = Synth.getSampler("Sampler5");
                              
                              inline function onButton1Control(component, value)
                              {
                              	if (value)
                              		Synth.addNoteOn(1, 60, 60, 0);
                              	else
                              		Synth.addNoteOff(1, 60, 0);
                              };
                              Content.getComponent("Button1").setControlCallback(onButton1Control);
                              

                              Am I missing something to control only "Sampler 5" with this funtion?

                              LindonL 1 Reply Last reply Reply Quote 0
                              • LindonL
                                Lindon @trillbilly
                                last edited by

                                @trillbilly said in Constant Audio - Tape/Vinyl Emulation:

                                @ustk I've got it close to working. It is indeed turning the Noise FX on and off, but it is also effecting all other sampler. When I turn the button on and off, it turns each sampler on and off, not just the one generating the noise.

                                Here is how I have is coded:

                                const var Sampler5 = Synth.getSampler("Sampler5");
                                
                                inline function onButton1Control(component, value)
                                {
                                	if (value)
                                		Synth.addNoteOn(1, 60, 60, 0);
                                	else
                                		Synth.addNoteOff(1, 60, 0);
                                };
                                Content.getComponent("Button1").setControlCallback(onButton1Control);
                                

                                Am I missing something to control only "Sampler 5" with this funtion?

                                you need to put this in a Script processor attached to Sampler 5

                                HISE Development for hire.
                                www.channelrobot.com

                                trillbillyT 1 Reply Last reply Reply Quote 0
                                • trillbillyT
                                  trillbilly @Lindon
                                  last edited by

                                  @lindon Thanks, I got it working just after I posted.

                                  Now my issue is only allowing Noise FX samplemaps show in the NoiseFX Combobox. Right now, it shows all samplemaps for all Samplers.

                                  Is there a way to tell HISE which samplemaps to load in a particular combobox?

                                  ustkU 1 Reply Last reply Reply Quote 0
                                  • ustkU
                                    ustk @trillbilly
                                    last edited by

                                    @trillbilly you need to filter the samplemaps using some string operations. It will be easier if you name properly your samplemaps. then you can filter with "if samplemap name contains NOISE", or whatever you want.

                                    Can't help pressing F5 in the forum...

                                    trillbillyT 2 Replies Last reply Reply Quote 0
                                    • trillbillyT
                                      trillbilly @ustk
                                      last edited by

                                      @ustk Yes, I have all the sample maps for noise lead with NSE. Im out of the studio today but I will get back to this tomorrow and see if I can figure it out.

                                      Thanks again!

                                      1 Reply Last reply Reply Quote 0
                                      • trillbillyT
                                        trillbilly @ustk
                                        last edited by

                                        @ustk I guess Im a bit confused how the "If" function works. Should I be adding it directly beneath wear I am calling for the samplemaps list?

                                        Here is my original code:

                                        inline function onNoisecmboxControl(component, value)
                                        {
                                        	Sampler1.loadSampleMap(sampleMaps[value-1]);
                                        
                                        };
                                        
                                        Content.getComponent("Noisecmbox").setControlCallback(onNoisecmboxControl);
                                        

                                        I've messed around with various "If" functions directly below "Sampler1" and have had no success. Where am I going wrong? Should I be doing a separate callback to the "Noisecmbox" ?

                                        1 Reply Last reply Reply Quote 0
                                        • First post
                                          Last post

                                        55

                                        Online

                                        1.7k

                                        Users

                                        11.7k

                                        Topics

                                        101.9k

                                        Posts