HISE Logo Forum
    • Categories
    • Register
    • Login

    Detune/Unison

    Scheduled Pinned Locked Moved Feature Requests
    7 Posts 2 Posters 1.6k 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.
    • M
      MIDIculous
      last edited by

      It would be nice to have a good Detune/Unison for up to 8-voices

      1 Reply Last reply Reply Quote 0
      • Christoph HartC
        Christoph Hart
        last edited by

        You mean playing multiple voices with the same note but different microtuning and panning?

        1 Reply Last reply Reply Quote 0
        • M
          MIDIculous
          last edited by

          Yes...Ideally it would have

          1. Unison - # of Voices
          2. Detune - Detune amount
          3. Spread

          Like Serum

          0_1498938527185_Unison:Detune.png

          1 Reply Last reply Reply Quote 0
          • M
            MIDIculous
            last edited by

            Here is the code from Kontakt. Maybe it can be adapted:

            on init

            set_script_title("Unison X")
            set_ui_height(2)
            message("")
            
            declare polyphonic $pan_L
            declare polyphonic $pan_R
            declare $voice_1
            declare $voice_2
            declare $voice_3
            declare $voice_4
            declare $voice_5
            declare $voice_6
            declare $voice_7
            declare $voice_8
            declare $voice_mod
            
            declare ui_knob $Detune (0,50000,100000)
            declare ui_knob $Spread (0,1000,10)
            declare ui_knob $Voices (1,8,1)
            
            $Voices := 2
            $Detune := 35000
            $Spread := 650
            
            move_control($Voices,2,2)
            move_control($Detune,3,2)
            move_control($Spread,4,2)
            
            make_persistent ($Voices)
            make_persistent ($Detune)
            make_persistent ($Spread)
            
            set_control_help ($Voices,"Voices: Sets the number of voices played for each MIDI note.")
            set_control_help ($Detune,"Detune: Sets the amount of detuning among the voices.")
            set_control_help ($Spread,"Spread: Sets the amount of stereo spread among the voices")
            

            end on

            on note

            {Voice 1}
            ignore_event ($EVENT_ID)
            $voice_1 := play_note($EVENT_NOTE,$EVENT_VELOCITY,0,-1)
            {Voice 2}	
            	if ($Voices > 1)
            		{Voice 1 treatment}
            		change_pan($voice_1,$Spread,0)
            		change_vol($voice_1,-500*$Voices,1)
            		{Voice 2}
            		$voice_2 := play_note($EVENT_NOTE,$EVENT_VELOCITY,0,-1)
            		change_tune($voice_2,$Detune ,0)
            		change_pan($voice_2,-$Spread,0)	
            		change_vol($voice_2,-500*$Voices,1)
            	end if	
            {Voice 3}	
            	if ($Voices > 2)
            		$voice_3 := play_note($EVENT_NOTE,$EVENT_VELOCITY,0,-1)
            		change_tune($voice_3,-$Detune /8 * 4,0)
            		change_vol($voice_3,-500*$Voices,1)
            			if ($Voices = 3)
            			else 	
            			change_pan($voice_3,$Spread,0)
            			end if	
            	end if	
            {Voice 4}	
            	if ($Voices > 3)
            		$voice_4 := play_note($EVENT_NOTE,$EVENT_VELOCITY,0,-1)
            		change_tune($voice_4,$Detune /8 * 4,0)
            		change_pan($voice_4,-$Spread,0)
            		change_vol($voice_4,-500*$Voices,1)
            	end if	
            {Voice 5}	
            	if ($Voices > 4)
            		$voice_5 := play_note($EVENT_NOTE,$EVENT_VELOCITY,0,-1)
            		change_tune($voice_5,-$Detune /8 * 6,0)
            		change_vol($voice_5,-500*$Voices,0)
            			if ($Voices = 5)
            			else 	
            			change_pan($voice_5,$Spread,1)
            			end if	
            	end if	
            {Voice 6}	
            	if ($Voices > 5)
            		$voice_6 := play_note($EVENT_NOTE,$EVENT_VELOCITY,0,-1)
            		change_tune($voice_6,$Detune /8 * 6,0)
            		change_pan($voice_6,-$Spread,0)
            		change_vol($voice_6,-500*$Voices,1)
            	end if	
            {Voice 7}	
            	if ($Voices > 6)
            		$voice_7 := play_note($EVENT_NOTE,$EVENT_VELOCITY,0,-1)
            		change_tune($voice_7,-$Detune /8 * 2,0)
            		change_vol($voice_7,-500*$Voices,1)
            		
            			if ($Voices = 7)
            			else 	
            			change_pan($voice_7,$Spread,0)
            			end if	
            	end if	
            {Voice 8}	
            	if ($Voices > 7)
            		$voice_8 := play_note($EVENT_NOTE,$EVENT_VELOCITY,0,-1)
            		change_tune($voice_8,$Detune /8 * 2,0)
            		change_pan($voice_8,-$Spread,0)
            		change_vol($voice_8,-500*$Voices,1)
            	end if	
            

            end on

            1 Reply Last reply Reply Quote 0
            • Christoph HartC
              Christoph Hart
              last edited by

              Do you need the unisono for polyphonic sounds or just monophonic (If I decipher the KONTAKT script correctly, it just stores monophonic data)? Also should it work in conjunction with a glide script (this would make event handling a bit more trickier).

              1 Reply Last reply Reply Quote 1
              • M
                MIDIculous
                last edited by

                Yea it should be for Polyphonic instruments and work with Glide....

                1 Reply Last reply Reply Quote 0
                • Christoph HartC
                  Christoph Hart
                  last edited by

                  FYI, I've just pushed a change that allows unisono voices (until now voices with the same notenumber were killed).

                  Just call Synth.setShouldKillRetriggeredNotes(false) on the synth you want to enable unisono.

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

                  37

                  Online

                  1.7k

                  Users

                  11.7k

                  Topics

                  101.9k

                  Posts