⠀
This commit is contained in:
		
							parent
							
								
									53e2ce235c
								
							
						
					
					
						commit
						fafbfc306c
					
				
					 11 changed files with 0 additions and 0 deletions
				
			
		
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							|  | @ -0,0 +1,57 @@ | |||
| desc:XFSJ.O_ENORD_IDIM_O_MIDI_DRONE_O.JSFX | ||||
| 
 | ||||
| slider1:0<0,15,1{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}>O_LENAHC_O_CHANEL_O | ||||
| slider2:57<0,127,1{C0,C#0,D0,D#0,E0,F0,F#0,G0,G#0,A0,A#0,B0,C 1,C#1,D1,D#1,E1,F1,F#1,G1,G#1,A1,A#1,B1,C2,C#2,D2, D#2,E2,F2,F#2,G2,G#2,A2,A#2,B2,C3,C#3,D3,D#3,E3,F3 ,F#3,G3,G#3,A3,A#3,B3,C4,C#4,D4,D#4,E4,F4,F#4,G4,G #4,A4,A#4,B4,C5,C#5,D5,D#5,E5,F5,F#5,G5,G#5,A5,A#5 ,B5,C6,C#6,D6,D#6,E6,F6,F#6,G6,G#6,A6,A#6,B6,C7,C# 7,D7,D#7,E7,F7,F#7,G7,G#7,A7,A#7,B7,C8,C#8,D8,D#8, E8,F8,F#8,G8,G#8,A8,A#8,B8,C9,C#9,D9,D#9,E9,F9,F#9 ,G9,G#9,A9,A#9,B9,C10,C#10,D10,D#10,E10,F10,F#10,G 10}>O_ETON_O_NOTE_O | ||||
| slider3:127<1,127,1>O_YTICOLEV_O_VELOCITY_O | ||||
| slider4:0<0,1,1>O | ||||
| 
 | ||||
| @init | ||||
| ext_noinit = 1; | ||||
| prevNote = -1; | ||||
| prevChannel = -1; | ||||
| playing = -1; | ||||
| 
 | ||||
| @slider | ||||
| channel = slider1; | ||||
| note = slider2; | ||||
| slider3 | 0 != velocity ? | ||||
| ( | ||||
| velocity = slider3 | 0; | ||||
| playing = -1; | ||||
| ); | ||||
| 
 | ||||
| play = slider4; | ||||
| 
 | ||||
| @block | ||||
| function DoNoteOff(n, v, c) | ||||
| ( | ||||
| midisend(0, 0x80 | c, n | (v << 8)); | ||||
| midisend(0, 0x90 | c, n ); | ||||
| ); | ||||
| 
 | ||||
| note != prevNote || channel != prevChannel ? | ||||
| ( | ||||
| !(prevNote < 0) ? | ||||
| ( | ||||
| DoNoteOff(prevNote, prevVelocity, prevChannel); | ||||
| ); | ||||
| 
 | ||||
| prevNote = note; | ||||
| prevChannel = channel; | ||||
| 
 | ||||
| playing = -1; | ||||
| ); | ||||
| 
 | ||||
| playing != play ? | ||||
| ( | ||||
| play ? | ||||
| ( | ||||
| midisend(0, 0x90, note | (velocity << 8)); | ||||
| prevVelocity = velocity; | ||||
| ) | ||||
| : | ||||
| ( | ||||
| DoNoteOff(note, prevVelocity, channel); | ||||
| ); | ||||
| playing = play; | ||||
| ); | ||||
|  | @ -0,0 +1,9 @@ | |||
| desc:XFSJ.O_EULAV_O_VALUE_O.JSFX | ||||
| slider1:1<1,128,1>O_1_EULAV_O_VALUE_1_O | ||||
| slider2:0<0,24000,0.00001>O_2_EULAV_O_VALUE_2_O | ||||
| slider3:1<1,128,1>O_3_EULAV_O_VALUE_3_O | ||||
| slider4:0<0,174149.75,1>O_4_EULAV_O_VALUE_4_O | ||||
| @block | ||||
| 
 | ||||
| SLIDER2=SLIDER1*1.31884765625*69; | ||||
| //SLIDER4=SLIDER3*1.31884765625*69; | ||||
|  | @ -0,0 +1,29 @@ | |||
|      | ||||
|      | ||||
|      | ||||
|      | ||||
| desc:XFSJ.O_ROTARENEG_ESION_TEVLEV_O_VELVET_NOISE_GENERATOR_O.JSFX | ||||
| 
 | ||||
| slider1:    -11.313708498984760390413509793678    <    -181.01933598375616624661615669884    ,    0    ,    2.8284271247461900976033774484194    >O_LEVEL_EMULOV_ESION_O_NOISE_VOLUME_LEVEL_O | ||||
| 
 | ||||
| @sample | ||||
|      | ||||
|      | ||||
|      | ||||
|      | ||||
|     O_LEVEL_EMULOV_O_VOLUME_LEVEL_O    =    2    ^    (    SLIDER1    /    6    )    ;     | ||||
|      | ||||
|     O_ESION_O_NOISE_O    =    (    FLOOR    (    RAND    (    2    )    )    -    0.5    )    *    4    ; | ||||
|      | ||||
|     O_ESION_TEVLEV_O_VELVET_NOISE_O    =    O_ESION_O_NOISE_O*O_LEVEL_EMULOV_O_VOLUME_LEVEL_O    ;     | ||||
|      | ||||
|      | ||||
|      | ||||
|      | ||||
|     SPL0    =    O_ESION_TEVLEV_O_VELVET_NOISE_O    ;     | ||||
|      | ||||
|     SPL1    =    O_ESION_TEVLEV_O_VELVET_NOISE_O    ;     | ||||
|      | ||||
|      | ||||
|      | ||||
|      | ||||
|  | @ -0,0 +1,51 @@ | |||
| desc:XFSJ.O_KCOLC_DOIREP_EMIT_NOITAREBREVER_LACIRTEMYS_LAINEGNOC_O_CONGENIAL_SYMETRICAL_REVERBERATION_TIME_PERIOD_CLOCK_O.JSFX | ||||
| 
 | ||||
| slider1:1<0,4096,0.1>O_ANAVRINIRAP_DENIATA_ADUB_ECNIS_RATS_DNUORA_SDOIREP_EMIT_NOITATOR_YRATENALP_ELOHW_O_WHOLE_PLANETARY_ROTATION_TIME_PERIODS_AROUND_STAR_SINCE_BUDA_ATAINED_PARINIRVANA_O | ||||
| slider2:1<1,366,0.1>O_RATS_DNUORA_DOIREP_EMIT_NOITATOR_YRATENALP_ELOHW_TSAL_ECNIS_DOIREP_EMIT_NOITATOR_RALOP_YRATENALP_FO_REBMUN_TNERUC_O_CURENT_NUMBER_OF_PLANETARY_POLAR_ROTATION_TIME_PERIOD_SINCE_LAST_WHOLE_PLANETARY_ROTATION_TIME_PERIOD_AROUND_STAR_O | ||||
| slider3:0<0,23,0.1>O_DOIREP_EMIT_NOITATOR_RALOP_YRATENALP_ELOHW_FO_STRAP_389497457074439_32_FO_REBMUN_TNERUC_O_CURENT_NUMBER_OF_23_934470754794983_PARTS_OF_WHOLE_PLANETARY_POLAR_ROTATION_TIME_PERIOD_O | ||||
| slider4:0<0,59,0.1>O_DOIREP_EMIT_NOITATOR_RALOP_YRATENALP_ELOHW_FO_STRAP_996782542860_6341_FO_REBMUN_TNERUC_O_CURENT_NUMBER_OF_1436_068245287699_PARTS_OF_WHOLE_PLANETARY_POLAR_ROTATION_TIME_PERIOD_O | ||||
| slider5:0<0,59,0.1>O_DOIREP_EMIT_NOITATOR_RALOP_YRATENALP_ELOHW_FO_STRAP_49162717490_46168_FO_REBMUN_TNERUC_O_CURENT_NUMBER_OF_86164_09471726194_PARTS_OF_WHOLE_PLANETARY_POLAR_ROTATION_TIME_PERIOD_O | ||||
| 
 | ||||
| slider7:3<-24,24,1>O_TRATS_TNUOC_DOIREP_EMIT_NOITATOR_RALOP_YRATENALP_ELOHW_FO_STRAP_389497457074439_32_FO_REBMUN_TFIHS_ENOZ_O_ZONE_SHIFT_NUMBER_OF_23_934470754794983_PARTS_OF_WHOLE_PLANETARY_POLAR_ROTATION_TIME_PERIOD_COUNT_START_O | ||||
| slider8:-3<-24,24,1>O_DOIREP_EMIT_NOITATOR_RALOP_YRATENALP_ELOHW_FO_STRAP_389497457074439_32_FO_REBMUN_TESFO_O_OFSET_NUMBER_OF_23_934470754794983_PARTS_OF_WHOLE_PLANETARY_POLAR_ROTATION_TIME_PERIOD_O | ||||
| 
 | ||||
| slider10:0<0,86164.09471726194,0.1>O_DOIREP_EMIT_NOITATOR_RALOP_YRATENALP_ELOHW_NI_STRAP_49162717490_46168_FO_REBMUN_O_NUMBER_OF_86164_09471726194_PARTS_IN_WHOLE_PLANETARY_POLAR_ROTATION_TIME_PERIOD_O | ||||
| slider11:0<0,365.2421986,0.1>O_RATS_DNUORA_DOIREP_EMIT_NOITATOR_YRATENALP_ETOHW_REP_SDOIREP_EMIT_NOITATOR_RALOP_YRATENALP_FO_REBMUN_O_NUMBER_OF_PLANETARY_POLAR_ROTATION_TIME_PERIODS_PER_WHOTE_PLANETARY_ROTATION_TIME_PERIOD_AROUND_STAR_O | ||||
| slider12:0<0,31470763.394911396337701284,0.1>O_RATS_DNUORA_DOIREP_EMIT_NOITATOR_YRATENALP_ELOHW_NI_DOIREP_EMIT_NOITATOR_RALOP_YRATENALP_ELOHW_FO_STRAP_49162717490_46168_FO_REBMUN_O_NUMBER_OF_86164_09471726194_PARTS_OF_WHOLE_PLANETARY_POLAR_ROTATION_TIME_PERIOD_IN_WHOLE_PLANETARY_ROTATION_TIME_PERIOD_AROUND_STAR_O | ||||
| slider13:0<0,31470763.394911396337701284,0.1>O_DETRATS_RATS_DNUORA_DOIREP_EMIT_NOITATOR_YRATENALP_ELOHW_TSAL_ECNIS_RATS_DNUORA_DOIREP_EMIT_NOITATOR_YRATENALP_ELOHW_NI_DOIREP_EMIT_NOITATOR_RALOP_YRATENALP_ELOHW_FO_STRAP_49162717490_46168_FO_REBMUN_TNERUC_O_CURENT_NUMBER_OF_86164_09471726194_PARTS_OF_WHOLE_PLANETARY_POLAR_ROTATION_TIME_PERIOD_IN_WHOLE_PLANETARY_ROTATION_TIME_PERIOD_AROUND_STAR_SINCE_LAST_WHOLE_PLANETARY_ROTATION_TIME_PERIOD_AROUND_STAR_STARTED_O | ||||
| 
 | ||||
| slider15:84.406022589954030768899117092091000289089388918088900852079<0,168.812045179908061537798234184182000578178777836177801704158,0.1>O_DOIREP_EMIT_NOITATOR_RALOP_YRATENALP_ELOHW_FO_STRAP_49162717490_46168_MORF_DOIREP_EMIT_NOITAREBREVER_LACIRTEMYS_LAINEGNOC_O_CONGENIAL_SYMETRICAL_REVERBERATION_TIME_PERIOD_FROM_86164_09471726194_PARTS_OF_WHOLE_PLANETARY_POLAR_ROTATION_TIME_PERIOD_O | ||||
| slider16:0<0,1020.8260018335364975934838948538,0.1>O_DOIREP_EMIT_NOITATOR_RALOP_YRATENALP_ELOHW_REP_SDOIREP_EMIT_NOITAREBREVER_LACIRTEMYS_LAINEGNOC_O_CONGENIAL_SYMETRICAL_REVERBERATION_TIME_PERIODS_PER_WHOLE_PLANETARY_POLAR_ROTATION_TIME_PERIOD_O | ||||
| slider17:0<0,372848.73329772850159438766679008,0.1>O_RATS_DNUORA_DOIREP_EMIT_NOITATOR_YRATENALP_ELOHW_REP_SDOIREP_EMIT_NOITAREBREVER_LACIRTEMYS_LAINEGNOC_O_CONGENIAL_SYMETRICAL_REVERBERATION_TIME_PERIODS_PER_WHOLE_PLANETARY_ROTATION_TIME_PERIOD_AROUND_STAR_O | ||||
| 
 | ||||
| slider19:0<0,31470763.394911396337701284,0.1>O_RATS_DNUORA_DOIREP_EMIT_NOITATOR_YRATENALP_ELOHW_TSAL_ECNIS_SDOIREP_EMIT_NOITAREBREVER_LACIRTEMYS_LAINEGNOC_FO_REBMUN_O_NUMBER_OF_CONGENIAL_SYMETRICAL_REVERBERATION_TIME_PERIODS_SINCE_LAST_WHOLE_PLANETARY_ROTATION_TIME_PERIOD_AROUND_STAR_O | ||||
| slider20:0<0,1020.8287521833442514877722077870336349418412685467230187797107418,0.1>O_DOIREP_EMIT_NOITATOR_RALOP_YRATENALP_ELOHW_TSAL_ECNIS_SDOIREP_EMIT_NOITAREBREVER_LACIRTEMYS_LAINEGNOC_FO_REBMUN_O_NUMBER_OF_CONGENIAL_SYMETRICAL_REVERBERATION_TIME_PERIODS_SINCE_LAST_WHOLE_PLANETARY_POLAR_ROTATION_TIME_PERIOD_O | ||||
| 
 | ||||
| 
 | ||||
| @block | ||||
| SLIDER15=84.406022589954030768899117092091000289089388918088900852079; | ||||
| O_ANAVRINIRAP_DENIATA_ADUB_ECNIS_RATS_DNUORA_SDOIREP_EMIT_NOITATOR_YRATENALP_ELOHW_O_WHOLE_PLANETARY_ROTATION_TIME_PERIODS_AROUND_STAR_SINCE_BUDA_ATAINED_PARINIRVANA_O=FLOOR(TIME()/(86164.09471726194*365.2421986))+1970+543; | ||||
| O_DETRATS_RATS_DNUORA_DOIREP_EMIT_NOITATOR_YRATENALP_ELOHW_TSAL_ECNIS_RATS_DNUORA_DOIREP_EMIT_NOITATOR_YRATENALP_ELOHW_NI_SDOIREP_EMIT_NOITATOR_RALOP_YRATENALP_ELOHW_FO_STRAP_6891242_563_FO_REBMUN_TNERUC_O_CURENT_NUMBER_OF_365_2421986_PARTS_OF_WHOLE_PLANETARY_POLAR_ROTATION_TIME_PERIODS_IN_WHOLE_PLANETARY_ROTATION_TIME_PERIOD_AROUND_STAR_SINCE_LAST_WHOLE_PLANETARY_ROTATION_TIME_PERIOD_AROUND_STAR_STARTED_O=FLOOR(TIME_PRECISE()/(86164.09471726194*365.2421986)); | ||||
| O_DOIREP_EMIT_NOITATOR_RALOP_YRATENALP_ELOHW_FO_STRAP_389497457074439_32_FO_REBMUN_TNERUC_O_CURENT_NUMBER_OF_23_934470754794983_PARTS_OF_WHOLE_PLANETARY_POLAR_ROTATION_TIME_PERIOD_O=FLOOR((TIME_PRECISE()-(O_DETRATS_RATS_DNUORA_DOIREP_EMIT_NOITATOR_YRATENALP_ELOHW_TSAL_ECNIS_RATS_DNUORA_DOIREP_EMIT_NOITATOR_YRATENALP_ELOHW_NI_SDOIREP_EMIT_NOITATOR_RALOP_YRATENALP_ELOHW_FO_STRAP_6891242_563_FO_REBMUN_TNERUC_O_CURENT_NUMBER_OF_365_2421986_PARTS_OF_WHOLE_PLANETARY_POLAR_ROTATION_TIME_PERIODS_IN_WHOLE_PLANETARY_ROTATION_TIME_PERIOD_AROUND_STAR_SINCE_LAST_WHOLE_PLANETARY_ROTATION_TIME_PERIOD_AROUND_STAR_STARTED_O*(86164.09471726194*365.242198)))/86164.09471726194); | ||||
| O_DOIREP_EMIT_NOITATOR_RALOP_YRATENALP_ELOHW_FO_STRAP_389497457074439_32_FO_REBMUN_TESFO_O_OFSET_NUMBER_OF_23_934470754794983_PARTS_OF_WHOLE_PLANETARY_POLAR_ROTATION_TIME_PERIOD_O=FLOOR((TIME_PRECISE()/3600)+SLIDER8)%24; | ||||
| O_DOIREP_EMIT_NOITATOR_RALOP_YRATENALP_ELOHW_FO_STRAP_389497457074439_32_FO_1_O_1_OF_23_934470754794983_PARTS_OF_WHOLE_PLANETARY_POLAR_ROTATION_TIME_PERIOD_O=FLOOR(TIME_PRECISE()/3600); | ||||
| O_DOIREP_EMIT_NOITATOR_RALOP_YRATENALP_ELOHW_FO_STRAP_996782542860_6341_FO_REBMUN_TNERUC_O_CURENT_NUMBER_OF_1436_068245287699_PARTS_OF_WHOLE_PLANETARY_POLAR_ROTATION_TIME_PERIOD_O=FLOOR((TIME_PRECISE()-O_DOIREP_EMIT_NOITATOR_RALOP_YRATENALP_ELOHW_FO_STRAP_389497457074439_32_FO_1_O_1_OF_23_934470754794983_PARTS_OF_WHOLE_PLANETARY_POLAR_ROTATION_TIME_PERIOD_O*3600)/60); | ||||
| O_DOIREP_EMIT_NOITATOR_RALOP_YRATENALP_ELOHW_FO_STRAP_49162717490_46168_FO_REBMUN_TNERUC_O_CURENT_NUMBER_OF_86164_09471726194_PARTS_OF_WHOLE_PLANETARY_POLAR_ROTATION_TIME_PERIOD_O=(TIME_PRECISE()-O_DOIREP_EMIT_NOITATOR_RALOP_YRATENALP_ELOHW_FO_STRAP_389497457074439_32_FO_1_O_1_OF_23_934470754794983_PARTS_OF_WHOLE_PLANETARY_POLAR_ROTATION_TIME_PERIOD_O*3600-O_DOIREP_EMIT_NOITATOR_RALOP_YRATENALP_ELOHW_FO_STRAP_996782542860_6341_FO_REBMUN_TNERUC_O_CURENT_NUMBER_OF_1436_068245287699_PARTS_OF_WHOLE_PLANETARY_POLAR_ROTATION_TIME_PERIOD_O*60); | ||||
| SLIDER1=FLOOR(TIME()/(86164.09471726194*365.2421986))+1970+543; | ||||
| SLIDER2=((TIME_PRECISE()-(O_DETRATS_RATS_DNUORA_DOIREP_EMIT_NOITATOR_YRATENALP_ELOHW_TSAL_ECNIS_RATS_DNUORA_DOIREP_EMIT_NOITATOR_YRATENALP_ELOHW_NI_SDOIREP_EMIT_NOITATOR_RALOP_YRATENALP_ELOHW_FO_STRAP_6891242_563_FO_REBMUN_TNERUC_O_CURENT_NUMBER_OF_365_2421986_PARTS_OF_WHOLE_PLANETARY_POLAR_ROTATION_TIME_PERIODS_IN_WHOLE_PLANETARY_ROTATION_TIME_PERIOD_AROUND_STAR_SINCE_LAST_WHOLE_PLANETARY_ROTATION_TIME_PERIOD_AROUND_STAR_STARTED_O*(86164.09471726194*365.242198)))/86164.09471726194)+1; | ||||
| SLIDER3=((TIME_PRECISE()/3600)+SLIDER8)%24; | ||||
| SLIDER4=((TIME_PRECISE()-O_DOIREP_EMIT_NOITATOR_RALOP_YRATENALP_ELOHW_FO_STRAP_389497457074439_32_FO_1_O_1_OF_23_934470754794983_PARTS_OF_WHOLE_PLANETARY_POLAR_ROTATION_TIME_PERIOD_O*3600)/60); | ||||
| SLIDER5=O_DOIREP_EMIT_NOITATOR_RALOP_YRATENALP_ELOHW_FO_STRAP_49162717490_46168_FO_REBMUN_TNERUC_O_CURENT_NUMBER_OF_86164_09471726194_PARTS_OF_WHOLE_PLANETARY_POLAR_ROTATION_TIME_PERIOD_O; | ||||
| 
 | ||||
| SLIDER8=SLIDER7-6; | ||||
| 
 | ||||
| SLIDER10=(86164.098903691 + 86164.09053083288) /2; | ||||
| SLIDER11=365.2421986; | ||||
| SLIDER12=SLIDER10*SLIDER11; | ||||
| SLIDER13=TIME_PRECISE(); | ||||
| 
 | ||||
| SLIDER16=SLIDER10/SLIDER15; | ||||
| SLIDER17=( (SLIDER10*SLIDER11) )/SLIDER15; | ||||
| 
 | ||||
| SLIDER19=TIME_PRECISE()/SLIDER15; | ||||
| SLIDER20=(SLIDER19- (SLIDER16* (O_DOIREP_EMIT_NOITATOR_RALOP_YRATENALP_ELOHW_FO_STRAP_389497457074439_32_FO_REBMUN_TNERUC_O_CURENT_NUMBER_OF_23_934470754794983_PARTS_OF_WHOLE_PLANETARY_POLAR_ROTATION_TIME_PERIOD_O) ) ); | ||||
|  | @ -0,0 +1,89 @@ | |||
| desc:XFSJ.O_SOITAR_DOIREP_EMIT_NOITAREBREVER_LACIRTEMYS_LAINEGNOC_O_CONGENIAL_SYMETRICAL_REVERBERATION_TIME_PERIOD_RATIOS_O.JSFX | ||||
| 
 | ||||
| slider1:84.406022589954030768899117092091000289089388918088900852079<0,84.406022589954030768899117092091000289089388918088900852079,84.406022589954030768899117092091000289089388918088900852079>O_DOIREP_EMIT_SDNOCES_NOITAREBREVER_LACIRTEMYS_LAINEGNOC_O_CONGENIAL_SYMETRICAL_REVERBERATION_SECONDS_TIME_PERIOD_O | ||||
| slider2:84406.022589954030768899117092091000289089388918088900852079<0,84406.022589954030768899117092091000289089388918088900852079,84406.022589954030768899117092091000289089388918088900852079>O_DOIREP_EMIT_SDNOCESILIM_NOITAREBREVER_LACIRTEMYS_LAINEGNOC_O_CONGENIAL_SYMETRICAL_REVERBERATION_MILISECONDS_TIME_PERIOD_O | ||||
| slider3:4<0,16,1>O_SEMIT_NOISIVID_DOIREP_EMIT_O_TIME_PERIOD_DIVISION_TIMES_O | ||||
| slider4:0<0,65536,2>O_REDIVID_DOIREP_EMIT_O_TIME_PERIOD_DIVIDER_O | ||||
| slider5:0<0,84.406022589954030768899117092091000289089388918088900852079,0.0012879336943047184870742663130507049604658415057081436287243499755859375>O_EMIT_DOIREP_SDNOCES_DEDIVID_O_DIVIDED_SECONDS_PERIOD_TIME_O | ||||
| slider6:0<0,84406.022589954030768899117092091000289089388918088900852079,1.2879336943047184870742663130507049604658415057081436287243499755859375>O_EMIT_DOIREP_SDNOCESILIM_DEDIVID_O_DIVIDED_MILISECONDS_PERIOD_TIME_O | ||||
| 
 | ||||
| slider8:1/84.406022589954030768899117092091000289089388918088900852079<1/84.406022589954030768899117092091000289089388918088900852079,1/84.406022589954030768899117092091000289089388918088900852079,1/84.406022589954030768899117092091000289089388918088900852079>O_YCNEUQERF_ZTREH_DOIREP_EMIT_SDNOCES_NOITAREBREVER_LACIRTEMYS_LAINEGNOC_O_CONGENIAL_SYMETRICAL_REVERBERATION_SECONDS_TIME_PERIOD_HERTZ_FREQUENCY_O | ||||
| slider9:9<0,32,1>O_SEMIT_NOITACILPITLUM_O_MULTIPLICATION_TIMES_O | ||||
| slider10:0<0,4294967296,2>O_REILPITLUM_YCNEUQERF_ZTREH_DOIREP_EMIT_SDNOCES_NOITAREBREVER_LACIRTEMYS_LAINEGNOC_O_CONGENIAL_SYMETRICAL_REVERBERATION_SECONDS_TIME_PERIOD_HERTZ_FREQUENCY_MULTIPLIER_O | ||||
| slider11:233.19426026766320302265108363156006547095178535253046321384708783<0,24845.999558443856198006338735969793955318674925348268352885528015,0.0118474958221644669523269361190651864792436003329030362858226432>O_YCNEUQERF_ZTREH_DEILPITLUM_DOIREP_EMIT_SDNOCES_NOITAREBREVER_LACIRTEMYS_LAINEGNOC_O_CONGENIAL_SYMETRICAL_REVERBERATION_SECONDS_TIME_PERIOD_MULTIPLIED_HERTZ_FREQUENCY_O | ||||
| 
 | ||||
| slider13:233.19426026766320302265108363156006547095178535253046321384708783<0,24845.999558443856198006338735969793955318674925348268352885528015,0.0118474958221644669523269361190651864792436003329030362858226432>O_YCNEUQERF_ZTREH_4A_O_A4_HERTZ_FREQUENCY_O | ||||
| 
 | ||||
| slider15:0<0,2,0.00000001>O_ZREH_044_MORF_ETAR_TFIHS_HCTIP_4A_O_A4_PITCH_SHIFT_RATE_FROM_440_HERTZ_O | ||||
| slider16:0<-2400,2400,0>O_ZREH_044_MORF_TFIHS_STNEC_4A_O_A4_CENTS_SHIFT_FROM_440_HERZ_O | ||||
| 
 | ||||
| slider18:2<1,4,1>O_REWOP_NOISIVID_SENOT_GNITFIHS_O_SHIFTING_TONES_DIVISION_POWER_O | ||||
| slider19:5<-81,81,1>O_YCNEUQERF_ZTREH_DEILPITLUM_DOIREP_EMIT_SDNOCES_NOITAREBREVER_LACIRTEMYS_LAINEGNOC_MORF_SENOT_DETFIHS_O_SHIFTED_TONES_FROM_CONGENIAL_SYMETRICAL_REVERBERATION_SECONDS_TIME_PERIOD_MULTIPLIED_HERTZ_FREQUENCY_O | ||||
| slider20:0<0,1625,0.00000001>O_REILPITLUM_GNITFIHS_O_SHIFTING_MULTIPLIER_O | ||||
| slider21:0<0,82712638677.012146,0.00000001>O_GNITFIHS_ENOT_RETFA_YCNEUQERF_ZTREH_DEILPITLUM_DOIREP_EMIT_SDNOCES_NOITAREBREVER_LACIRTEMYS_LAINEGNOC_MORF_SENOT_DETFIHS_O_SHIFTED_TONES_FROM_CONGENIAL_SYMETRICAL_REVERBERATION_SECONDS_TIME_PERIOD_MULTIPLIED_HERTZ_FREQUENCY_AFTER_TONE_SHIFTING_O | ||||
| 
 | ||||
| slider23:0<0,0,0>O_ZREH_044_MORF_ETAR_TFIHS_HCTIP_ENOT_DETFIHS_O_SHIFTED_TONE_PITCH_SHIFT_RATE_FROM_440_HERTZ_O | ||||
| slider24:0<-2400,2400,0>O_ZREH_044_MORF_TFIHS_STNEC_ENOT_DETFIHS_O_SHIFTED_TONE_CENTS_SHIFT_FROM_440_HERZ_O | ||||
| 
 | ||||
| slider26:0<0,0,0>O_MUCAV_NI_DEEPS_THGIL_DNOCES_REP_SRETEM_O_METERS_PER_SECOND_LIGHT_SPEED_IN_VACUM_O | ||||
| slider27:0<0,0,0>O_MUCAV_NI_DEEPS_THGIL_DNOCES_REP_SRETEMILI_O_MILIMETERS_PER_SECOND_LIGHT_SPEED_IN_VACUU_O | ||||
| 
 | ||||
| slider29:0<0,0,0>O_XEDNI_EVITCARFER_RIA_O_AIR_REFRACTIVE_INDEX_O | ||||
| slider30:0<0,0,0>O_RIA_NI_DEEPS_THGIL_DNOCES_REP_SRETEM_O_METERS_PER_SECOND_LIGHT_SPEED_IN_AIR_O | ||||
| slider31:0<0,0,0>O_RIA_NI_DEEPS_THGIL_DNOCES_REP_SRETEMILI_O_MILIMETERS_PER_SECOND_LIGHT_SPEED_IN_AIR_O | ||||
| 
 | ||||
| slider33:0<0,0,0>O_DOIREP_EMIT_REP_ECNATSID_RETEM_MUCAV_NI_EGASAP_THGIL_O_LIGHT_PASAGE_IN_VACUM_METER_DISTANCE_PER_TIME_PERIOD_O | ||||
| slider34:0<0,0,0>O_DOIREP_EMIT_REP_ECNATSID_RETEMILIM_MUCAV_NI_EGASAP_THGIL_O_LIGHT_PASAGE_IN_VACUM_MILIMETER_DISTANCE_PER_TIME_PERIOD_O | ||||
| slider35:0<0,0,0>O_DOIREP_EMIT_REP_ECNATSID_RETEM_RIA_NI_EGASAP_THGIL_O_LIGHT_PASAGE_IN_AIR_METER_DISTANCE_PER_TIME_PERIOD_O | ||||
| slider36:0<0,0,0>O_DOIREP_EMIT_REP_ECNATSID_RETEMILIM_RIA_NI_EGASAP_THGIL_O_LIGHT_PASAGE_IN_AIR_MILIMETER_DISTANCE_PER_TIME_PERIOD_O | ||||
| 
 | ||||
| slider38:12<0,64,1>O_SEMIT_NOISIVID_ECNATSID_O_DISTANCE_DIVISION_TIMES_O | ||||
| slider39:0<0,0,0>O_REDIVID_ECNATSID_O_DISTANCE_DIVIDER_O | ||||
| 
 | ||||
| slider41:0<0,0,0>O_DOIREP_EMIT_REP_ECNATSID_RETEM_MUUCAV_NI_EGASAP_THGIL_DEDIVID_O_DIVIDED_LIGHT_PASAGE_IN_VACUUM_METER_DISTANCE_PER_TIME_PERIOD_O | ||||
| slider42:<0,0,0>O_DOIREP_EMIT_REP_ECNATSID_RETEMILIM_MUUCAV_NI_EGASAP_THGIL_DEDIVID_O_DIVIDED_LIGHT_PASAGE_IN_VACUUM_MILIMETER_DISTANCE_PER_TIME_PERIOD_O | ||||
| slider43:0<0,0,0>O_DOIREP_EMIT_REP_ECNATSID_RETEM_RIA_NI_EGASAP_THGIL_DEDIVID_O_DIVIDED_LIGHT_PASAGE_IN_AIR_METER_DISTANCE_PER_TIME_PERIOD_O | ||||
| slider44:0<0,0,0>O_DOIREP_EMIT_REP_ECNATSID_RETEMILIM_RIA_NI_EGASAP_THGIL_DEDIVID_O_DIVIDED_LIGHT_PASAGE_IN_AIR_MILIMETER_DISTANCE_PER_TIME_PERIOD_O | ||||
| 
 | ||||
| @slider | ||||
| SLIDER1=84.406022589954030768899117092091000289089388918088900852079; | ||||
| SLIDER2=SLIDER1*1000; | ||||
| SLIDER4=9^SLIDER3; | ||||
| SLIDER5=SLIDER1/SLIDER4; | ||||
| SLIDER6=SLIDER2/SLIDER4; | ||||
| 
 | ||||
| SLIDER8=1/84.406022589954030768899117092091000289089388918088900852079; | ||||
| 
 | ||||
| SLIDER10=9^SLIDER9; | ||||
| SLIDER11=SLIDER8*SLIDER10; | ||||
| 
 | ||||
| SLIDER13=19683*SLIDER8; | ||||
| 
 | ||||
| SLIDER15=SLIDER13/440; | ||||
| SLIDER16=(1200* (LOG10(SLIDER13)/LOG10(2)) ) - (1200* (LOG10(440)/LOG10(2)) ); | ||||
| 
 | ||||
| SLIDER20=9^(SLIDER19/9^SLIDER18); | ||||
| SLIDER21=SLIDER11*SLIDER20; | ||||
| 
 | ||||
| SLIDER23=SLIDER21/440; | ||||
| SLIDER24=(1200* (LOG10(SLIDER21)/LOG10(2)) ) - (1200* (LOG10(440)/LOG10(2)) ); | ||||
| 
 | ||||
| SLIDER26=299792458; | ||||
| SLIDER27=299792458*1000; | ||||
| 
 | ||||
| SLIDER29=1.0003; | ||||
| SLIDER30=SLIDER26/SLIDER29; | ||||
| SLIDER31=SLIDER27/SLIDER29; | ||||
| 
 | ||||
| SLIDER33=(1/SLIDER21)*SLIDER26; | ||||
| SLIDER34=(1/SLIDER21)*SLIDER27; | ||||
| SLIDER35=(1/SLIDER21)*SLIDER30; | ||||
| SLIDER36=(1/SLIDER21)*SLIDER31; | ||||
| 
 | ||||
| SLIDER39=9^SLIDER38; | ||||
| 
 | ||||
| SLIDER41=SLIDER33/SLIDER39; | ||||
| SLIDER42=SLIDER34/SLIDER39; | ||||
| SLIDER43=SLIDER35/SLIDER39; | ||||
| SLIDER44=SLIDER36/SLIDER39; | ||||
| 
 | ||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							|  | @ -0,0 +1,11 @@ | |||
| [CENTER] | ||||
| [SIZE=8] | ||||
| [URL=HTTP://ARCHIVE.IS/STASH.REAPER.FM/v/48971/XFSJ.O_EDUTILPMA_YWAW_O_WAWY_AMPLITUDE_O.JSFX]O[/URL] | ||||
| 
 | ||||
| [URL=HTTP://ARCHIVE.IS/2024.07.20-062807/https://gitea.lolumi.com/O/O/src/commit/edf6cff6281906782a85031d6c01eec6d7494eb1/%F0%96%A3%A0%E2%9A%AA%E1%97%A9%E2%88%A3%E2%86%80%E1%A8%9F%E1%97%A9%E2%9A%AA%F0%94%97%A2%E2%9A%AA%F0%9F%9E%8B%E2%9A%AA%F0%94%97%A2%E2%9A%AA%E1%97%A9%E1%A8%9F%E2%86%80%E2%88%A3%E1%97%A9%E2%9A%AA%F0%96%A3%A0/%F0%96%A3%A0%E2%9A%AA%E1%97%B1%E1%97%B4%E1%B4%A5%E1%97%A9%E1%97%AF%E2%9C%A4%EA%97%B3%E2%93%84%E1%94%93%E1%94%95%E2%9A%AA%F0%94%97%A2%E2%9A%AA%F0%9F%9E%8B%E2%9A%AA%F0%94%97%A2%E2%9A%AA%E1%94%93%E1%94%95%E2%93%84%EA%97%B3%E2%9C%A4%E1%97%AF%E1%97%A9%E1%B4%A5%E1%97%B1%E1%97%B4%E2%9A%AA%F0%96%A3%A0/%F0%96%A3%A0%E2%9A%AA%E1%B4%A5%E1%97%B1%E1%97%B4%DF%A6%E1%97%A9%E1%97%B1%E1%97%B4%E1%B4%A5%F0%96%A3%93%E1%94%93%E1%94%95%E2%93%84%E2%9C%BB%E1%91%90%E1%91%95%E2%93%84%E1%91%90%E1%91%95%E2%9A%AA%F0%94%97%A2%E2%9A%AA%F0%9F%9E%8B%E2%9A%AA%F0%94%97%A2%E2%9A%AA%E1%91%90%E1%91%95%E2%93%84%E1%91%90%E1%91%95%E2%9C%BB%E2%93%84%E1%94%93%E1%94%95%F0%96%A3%93%E1%B4%A5%E1%97%B1%E1%97%B4%E1%97%A9%DF%A6%E1%97%B1%E1%97%B4%E1%B4%A5%E2%9A%AA%F0%96%A3%A0/%F0%96%A3%A0%E2%9A%AA%EA%95%A4%EA%97%B3%E1%94%93%E1%94%95%E1%92%8D%E1%92%90%E2%9A%AA%F0%94%97%A2%E2%9A%AA%F0%9F%9E%8B%E2%9A%AA%F0%94%97%A2%E2%9A%AA%E1%92%8D%E1%92%90%E1%94%93%E1%94%95%EA%97%B3%EA%95%A4%E2%9A%AA%F0%96%A3%A0/X%EA%9F%BB%C6%A7%E1%92%90.%F0%96%A3%A0%E2%9A%AA%E1%97%B1%E1%97%B4%E2%86%80%E1%91%8E%E2%9C%A4%E2%B5%99%E1%99%81%DF%A6%E1%99%8F%E1%97%A9%F0%96%A3%93%E1%A8%9F%E1%97%AF%E1%97%A9%E1%97%AF%E2%9A%AA%F0%94%97%A2%E2%9A%AA%F0%9F%9E%8B%E2%9A%AA%F0%94%97%A2%E2%9A%AA%E1%97%AF%E1%97%A9%E1%97%AF%E1%A8%9F%F0%96%A3%93%E1%97%A9%E1%99%8F%DF%A6%E1%99%81%E2%B5%99%E2%9C%A4%E1%91%8E%E2%86%80%E1%97%B1%E1%97%B4%E2%9A%AA%F0%96%A3%A0.JSFX]O[/URL] | ||||
| [URL=HTTP://ARCHIVE.IS/STASH.REAPER.FM/v/48971/XFSJ.O_EDUTILPMA_YWAW_O_WAWY_AMPLITUDE_O.JSFX]O[/URL]⠀⠀[URL=HTTP://ARCHIVE.IS/2024.07.20-062807/https://gitea.lolumi.com/O/O/src/commit/edf6cff6281906782a85031d6c01eec6d7494eb1/%F0%96%A3%A0%E2%9A%AA%E1%97%A9%E2%88%A3%E2%86%80%E1%A8%9F%E1%97%A9%E2%9A%AA%F0%94%97%A2%E2%9A%AA%F0%9F%9E%8B%E2%9A%AA%F0%94%97%A2%E2%9A%AA%E1%97%A9%E1%A8%9F%E2%86%80%E2%88%A3%E1%97%A9%E2%9A%AA%F0%96%A3%A0/%F0%96%A3%A0%E2%9A%AA%E1%97%B1%E1%97%B4%E1%B4%A5%E1%97%A9%E1%97%AF%E2%9C%A4%EA%97%B3%E2%93%84%E1%94%93%E1%94%95%E2%9A%AA%F0%94%97%A2%E2%9A%AA%F0%9F%9E%8B%E2%9A%AA%F0%94%97%A2%E2%9A%AA%E1%94%93%E1%94%95%E2%93%84%EA%97%B3%E2%9C%A4%E1%97%AF%E1%97%A9%E1%B4%A5%E1%97%B1%E1%97%B4%E2%9A%AA%F0%96%A3%A0/%F0%96%A3%A0%E2%9A%AA%E1%B4%A5%E1%97%B1%E1%97%B4%DF%A6%E1%97%A9%E1%97%B1%E1%97%B4%E1%B4%A5%F0%96%A3%93%E1%94%93%E1%94%95%E2%93%84%E2%9C%BB%E1%91%90%E1%91%95%E2%93%84%E1%91%90%E1%91%95%E2%9A%AA%F0%94%97%A2%E2%9A%AA%F0%9F%9E%8B%E2%9A%AA%F0%94%97%A2%E2%9A%AA%E1%91%90%E1%91%95%E2%93%84%E1%91%90%E1%91%95%E2%9C%BB%E2%93%84%E1%94%93%E1%94%95%F0%96%A3%93%E1%B4%A5%E1%97%B1%E1%97%B4%E1%97%A9%DF%A6%E1%97%B1%E1%97%B4%E1%B4%A5%E2%9A%AA%F0%96%A3%A0/%F0%96%A3%A0%E2%9A%AA%EA%95%A4%EA%97%B3%E1%94%93%E1%94%95%E1%92%8D%E1%92%90%E2%9A%AA%F0%94%97%A2%E2%9A%AA%F0%9F%9E%8B%E2%9A%AA%F0%94%97%A2%E2%9A%AA%E1%92%8D%E1%92%90%E1%94%93%E1%94%95%EA%97%B3%EA%95%A4%E2%9A%AA%F0%96%A3%A0/X%EA%9F%BB%C6%A7%E1%92%90.%F0%96%A3%A0%E2%9A%AA%E1%97%B1%E1%97%B4%E2%86%80%E1%91%8E%E2%9C%A4%E2%B5%99%E1%99%81%DF%A6%E1%99%8F%E1%97%A9%F0%96%A3%93%E1%A8%9F%E1%97%AF%E1%97%A9%E1%97%AF%E2%9A%AA%F0%94%97%A2%E2%9A%AA%F0%9F%9E%8B%E2%9A%AA%F0%94%97%A2%E2%9A%AA%E1%97%AF%E1%97%A9%E1%97%AF%E1%A8%9F%F0%96%A3%93%E1%97%A9%E1%99%8F%DF%A6%E1%99%81%E2%B5%99%E2%9C%A4%E1%91%8E%E2%86%80%E1%97%B1%E1%97%B4%E2%9A%AA%F0%96%A3%A0.JSFX]O[/URL]⠀⠀⠀[URL=HTTP://ARCHIVE.IS/2024.07.20-062807/https://gitea.lolumi.com/O/O/src/commit/edf6cff6281906782a85031d6c01eec6d7494eb1/%F0%96%A3%A0%E2%9A%AA%E1%97%A9%E2%88%A3%E2%86%80%E1%A8%9F%E1%97%A9%E2%9A%AA%F0%94%97%A2%E2%9A%AA%F0%9F%9E%8B%E2%9A%AA%F0%94%97%A2%E2%9A%AA%E1%97%A9%E1%A8%9F%E2%86%80%E2%88%A3%E1%97%A9%E2%9A%AA%F0%96%A3%A0/%F0%96%A3%A0%E2%9A%AA%E1%97%B1%E1%97%B4%E1%B4%A5%E1%97%A9%E1%97%AF%E2%9C%A4%EA%97%B3%E2%93%84%E1%94%93%E1%94%95%E2%9A%AA%F0%94%97%A2%E2%9A%AA%F0%9F%9E%8B%E2%9A%AA%F0%94%97%A2%E2%9A%AA%E1%94%93%E1%94%95%E2%93%84%EA%97%B3%E2%9C%A4%E1%97%AF%E1%97%A9%E1%B4%A5%E1%97%B1%E1%97%B4%E2%9A%AA%F0%96%A3%A0/%F0%96%A3%A0%E2%9A%AA%E1%B4%A5%E1%97%B1%E1%97%B4%DF%A6%E1%97%A9%E1%97%B1%E1%97%B4%E1%B4%A5%F0%96%A3%93%E1%94%93%E1%94%95%E2%93%84%E2%9C%BB%E1%91%90%E1%91%95%E2%93%84%E1%91%90%E1%91%95%E2%9A%AA%F0%94%97%A2%E2%9A%AA%F0%9F%9E%8B%E2%9A%AA%F0%94%97%A2%E2%9A%AA%E1%91%90%E1%91%95%E2%93%84%E1%91%90%E1%91%95%E2%9C%BB%E2%93%84%E1%94%93%E1%94%95%F0%96%A3%93%E1%B4%A5%E1%97%B1%E1%97%B4%E1%97%A9%DF%A6%E1%97%B1%E1%97%B4%E1%B4%A5%E2%9A%AA%F0%96%A3%A0/%F0%96%A3%A0%E2%9A%AA%EA%95%A4%EA%97%B3%E1%94%93%E1%94%95%E1%92%8D%E1%92%90%E2%9A%AA%F0%94%97%A2%E2%9A%AA%F0%9F%9E%8B%E2%9A%AA%F0%94%97%A2%E2%9A%AA%E1%92%8D%E1%92%90%E1%94%93%E1%94%95%EA%97%B3%EA%95%A4%E2%9A%AA%F0%96%A3%A0/X%EA%9F%BB%C6%A7%E1%92%90.%F0%96%A3%A0%E2%9A%AA%E1%97%B1%E1%97%B4%E2%86%80%E1%91%8E%E2%9C%A4%E2%B5%99%E1%99%81%DF%A6%E1%99%8F%E1%97%A9%F0%96%A3%93%E1%A8%9F%E1%97%AF%E1%97%A9%E1%97%AF%E2%9A%AA%F0%94%97%A2%E2%9A%AA%F0%9F%9E%8B%E2%9A%AA%F0%94%97%A2%E2%9A%AA%E1%97%AF%E1%97%A9%E1%97%AF%E1%A8%9F%F0%96%A3%93%E1%97%A9%E1%99%8F%DF%A6%E1%99%81%E2%B5%99%E2%9C%A4%E1%91%8E%E2%86%80%E1%97%B1%E1%97%B4%E2%9A%AA%F0%96%A3%A0.JSFX]O[/URL]⠀⠀[URL=HTTP://ARCHIVE.IS/STASH.REAPER.FM/v/48971/XFSJ.O_EDUTILPMA_YWAW_O_WAWY_AMPLITUDE_O.JSFX]O[/URL] | ||||
| [URL=HTTP://ARCHIVE.IS/2024.07.20-062807/https://gitea.lolumi.com/O/O/src/commit/edf6cff6281906782a85031d6c01eec6d7494eb1/%F0%96%A3%A0%E2%9A%AA%E1%97%A9%E2%88%A3%E2%86%80%E1%A8%9F%E1%97%A9%E2%9A%AA%F0%94%97%A2%E2%9A%AA%F0%9F%9E%8B%E2%9A%AA%F0%94%97%A2%E2%9A%AA%E1%97%A9%E1%A8%9F%E2%86%80%E2%88%A3%E1%97%A9%E2%9A%AA%F0%96%A3%A0/%F0%96%A3%A0%E2%9A%AA%E1%97%B1%E1%97%B4%E1%B4%A5%E1%97%A9%E1%97%AF%E2%9C%A4%EA%97%B3%E2%93%84%E1%94%93%E1%94%95%E2%9A%AA%F0%94%97%A2%E2%9A%AA%F0%9F%9E%8B%E2%9A%AA%F0%94%97%A2%E2%9A%AA%E1%94%93%E1%94%95%E2%93%84%EA%97%B3%E2%9C%A4%E1%97%AF%E1%97%A9%E1%B4%A5%E1%97%B1%E1%97%B4%E2%9A%AA%F0%96%A3%A0/%F0%96%A3%A0%E2%9A%AA%E1%B4%A5%E1%97%B1%E1%97%B4%DF%A6%E1%97%A9%E1%97%B1%E1%97%B4%E1%B4%A5%F0%96%A3%93%E1%94%93%E1%94%95%E2%93%84%E2%9C%BB%E1%91%90%E1%91%95%E2%93%84%E1%91%90%E1%91%95%E2%9A%AA%F0%94%97%A2%E2%9A%AA%F0%9F%9E%8B%E2%9A%AA%F0%94%97%A2%E2%9A%AA%E1%91%90%E1%91%95%E2%93%84%E1%91%90%E1%91%95%E2%9C%BB%E2%93%84%E1%94%93%E1%94%95%F0%96%A3%93%E1%B4%A5%E1%97%B1%E1%97%B4%E1%97%A9%DF%A6%E1%97%B1%E1%97%B4%E1%B4%A5%E2%9A%AA%F0%96%A3%A0/%F0%96%A3%A0%E2%9A%AA%EA%95%A4%EA%97%B3%E1%94%93%E1%94%95%E1%92%8D%E1%92%90%E2%9A%AA%F0%94%97%A2%E2%9A%AA%F0%9F%9E%8B%E2%9A%AA%F0%94%97%A2%E2%9A%AA%E1%92%8D%E1%92%90%E1%94%93%E1%94%95%EA%97%B3%EA%95%A4%E2%9A%AA%F0%96%A3%A0/X%EA%9F%BB%C6%A7%E1%92%90.%F0%96%A3%A0%E2%9A%AA%E1%97%B1%E1%97%B4%E2%86%80%E1%91%8E%E2%9C%A4%E2%B5%99%E1%99%81%DF%A6%E1%99%8F%E1%97%A9%F0%96%A3%93%E1%A8%9F%E1%97%AF%E1%97%A9%E1%97%AF%E2%9A%AA%F0%94%97%A2%E2%9A%AA%F0%9F%9E%8B%E2%9A%AA%F0%94%97%A2%E2%9A%AA%E1%97%AF%E1%97%A9%E1%97%AF%E1%A8%9F%F0%96%A3%93%E1%97%A9%E1%99%8F%DF%A6%E1%99%81%E2%B5%99%E2%9C%A4%E1%91%8E%E2%86%80%E1%97%B1%E1%97%B4%E2%9A%AA%F0%96%A3%A0.JSFX]O[/URL] | ||||
| ⠀ | ||||
| [URL=HTTP://ARCHIVE.IS/STASH.REAPER.FM/v/48971/XFSJ.O_EDUTILPMA_YWAW_O_WAWY_AMPLITUDE_O.JSFX]O[/URL] | ||||
| [/SIZE] | ||||
| [/CENTER] | ||||
|  | @ -0,0 +1,159 @@ | |||
| desc:O____ROTARENEG_ESION_TEWLEW_NAISUAG____O____GAUSIAN_WELWET_NOISE_GENERATOR____O | ||||
| //tags: analysis generator synthesis | ||||
| //author: SCHWA | ||||
| 
 | ||||
| // Generator choices are listed in rough order of fanciness and cost. | ||||
| 
 | ||||
| slider1:-16<-120,6,0.1>Noise dB (RMS) | ||||
| slider2:0.5<0,1,0.01>Wet Mix | ||||
| slider3:1<0,3,1{Central Limit Approximation,Box-Muller,Ziggurat (not implemented yet),Inverse Transform}>Gaussian Generator | ||||
| slider4:0<-1,1>Noise Mean (should be ~0) | ||||
| slider5:0<0,2>Noise Standard Deviation (should be ~1) | ||||
| 
 | ||||
| in_pin:left input | ||||
| in_pin:right input | ||||
| out_pin:left output | ||||
| out_pin:right output | ||||
| 
 | ||||
| @init | ||||
| 
 | ||||
| AMP_DB = 20.0 / log(10); | ||||
| 
 | ||||
| CENTRAL_LIMIT = 0; | ||||
| BOX_MULLER = 1; | ||||
| ZIGGURAT = 2; | ||||
| INV_TRANSFORM = 3; | ||||
| 
 | ||||
| @slider | ||||
| 
 | ||||
| noise_level = exp(slider1 / AMP_DB); | ||||
| 
 | ||||
| (slider3 == CENTRAL_LIMIT) ? ( | ||||
|   N_DEV = 12; | ||||
| ) | ||||
| : | ||||
| (slider3 == INV_TRANSFORM) ? ( | ||||
|    A1 = -39.69683028665376; | ||||
|    A2 =  220.9460984245205; | ||||
|    A3 = -275.9285104469687; | ||||
|    A4 =  138.3577518672690; | ||||
|    A5 = -30.66479806614716; | ||||
|    A6 =  2.506628277459239; | ||||
| 
 | ||||
|    B1 = -54.47609879822406; | ||||
|    B2 =  161.5858368580409; | ||||
|    B3 = -155.6989798598866; | ||||
|    B4 =  66.80131188771972; | ||||
|    B5 = -13.28068155288572; | ||||
| 
 | ||||
|    C1 = -0.007784894002430293; | ||||
|    C2 = -0.3223964580411365; | ||||
|    C3 = -2.400758277161838; | ||||
|    C4 = -2.549732539343734; | ||||
|    C5 =  4.374664141464968; | ||||
|    C6 =  2.938163982698783; | ||||
| 
 | ||||
|    D1 =  0.007784695709041462; | ||||
|    D2 =  0.3224671290700398; | ||||
|    D3 =  2.445134137142996; | ||||
|    D4 =  3.754408661907416; | ||||
| 
 | ||||
|    P_LO = 0.02425; | ||||
|    P_HI = 1.0 - P_LO; | ||||
| ); | ||||
| 
 | ||||
| i = sum = sum2 = 0; | ||||
| 
 | ||||
| @sample | ||||
| 
 | ||||
| z0 = z1 = 0; | ||||
| 
 | ||||
| (slider3 == CENTRAL_LIMIT) ? ( | ||||
| 
 | ||||
|   // Quick & dirty.   | ||||
|   loop (N_DEV,  | ||||
|     z0 += rand(1); | ||||
|     z1 += rand(1); | ||||
|   ); | ||||
|   z0 -= N_DEV / 2.0; | ||||
|   z1 -= N_DEV / 2.0; | ||||
| ) | ||||
| : | ||||
| (slider3 == BOX_MULLER) ? ( | ||||
| 
 | ||||
|   // Conveniently a stereo twofer. | ||||
|   w = 0; | ||||
|   while ( | ||||
|     z0 = 2.0 * rand(1) - 1.0; | ||||
|     z1 = 2.0 * rand(1) - 1.0; | ||||
|     w = z0 * z0 + z1 * z1; | ||||
|     w >= 1.0; | ||||
|   ); | ||||
|   w = sqrt(-2.0 * log(w) / w); | ||||
|   z0 *= w; | ||||
|   z1 *= w; | ||||
| ) | ||||
| : | ||||
| (slider3 == INV_TRANSFORM) ? ( | ||||
| 
 | ||||
|    r0 = rand(1); | ||||
|    r1 = rand(1); | ||||
| 
 | ||||
|    (r0 < P_LO) ? ( | ||||
|      q = sqrt(-2.0 * log(r0)); | ||||
|      z0 = ((((C1 * q + C2) * q + C3) * q + C4) * q + C5) * q + C6; | ||||
|      z0 /= (((D1 * q + D2) * q + D3) * q + D4) * q + 1.0; | ||||
|    ) | ||||
|    : | ||||
|    (r0 < P_HI) ? ( | ||||
|      q = r0 - 0.5; | ||||
|      r = q * q; | ||||
|      z0 = (((((A1 * r + A2) * r + A3) * r + A4) * r + A5) * r + A6) * q; | ||||
|      z0 /= ((((B1 * r + B2) * r + B3) * r + B4) * r + B5) * r + 1.0; | ||||
|    ) | ||||
|    : | ||||
|    ( | ||||
|      q = sqrt(-2.0 * log(1.0 - r0)); | ||||
|      z0 = -(((((C1 * q + C2) * q + C3) * q + C4) * q + C5) * q + C6); | ||||
|      z0 /= (((D1 * q + D2) * q + D3) * q + D4) * q + 1.0; | ||||
|    ); | ||||
| 
 | ||||
|    (r1 < P_LO) ? ( | ||||
|      q = sqrt(-2.0 * log(r1)); | ||||
|      z1 = ((((C1 * q + C2) * q + C3) * q + C4) * q + C5) * q + C6; | ||||
|      z1 /= (((D1 * q + D2) * q + D3) * q + D4) * q + 1.0; | ||||
|    ) | ||||
|    : | ||||
|    (r1 < P_HI) ? ( | ||||
|      q = r1 - 0.5; | ||||
|      r = q * q; | ||||
|      z1 = (((((A1 * r + A2) * r + A3) * r + A4) * r + A5) * r + A6) * q; | ||||
|      z1 /= ((((B1 * r + B2) * r + B3) * r + B4) * r + B5) * r + 1.0; | ||||
|    ) | ||||
|    : | ||||
|    ( | ||||
|      q = sqrt(-2.0 * log(1.0 - r0)); | ||||
|      z1 = -(((((C1 * q + C2) * q + C3) * q + C4) * q + C5) * q + C6); | ||||
|      z1 /= (((D1 * q + D2) * q + D3) * q + D4) * q + 1.0; | ||||
|    ); | ||||
| ); | ||||
| 
 | ||||
| spl0 = ((FLOOR(spl0 * (1.0 - slider2) + z0 * noise_level * slider2))+.5)/6; | ||||
| spl1 = ((FLOOR(spl1 * (1.0 - slider2) + z1 * noise_level * slider2))+.5)/6; | ||||
| //spl0 = spl0 * (1.0 - slider2) + z0 * noise_level * slider2; | ||||
| //spl1 = spl1 * (1.0 - slider2) + z1 * noise_level * slider2; | ||||
| 
 | ||||
| sum += z0; | ||||
| sum2 += z0 * z0; | ||||
| 
 | ||||
| i += 1; | ||||
| (i == srate) ? ( | ||||
|   mean = sum / srate; | ||||
|   stdev = sqrt(sum2 / srate - mean * mean); | ||||
|   slider4 = mean; | ||||
|   slider5 = stdev; | ||||
|   sliderchange(2^4 + 2^5); | ||||
|   i = sum = sum2 = 0; | ||||
| ); | ||||
| 
 | ||||
| 
 | ||||
|  | @ -0,0 +1,65 @@ | |||
| desc:O____ROTALICSO_SEIRES_REIRUOF____O____FOURIER_SERIES_OSCILATOR____O | ||||
| 
 | ||||
| slider1:84.406022589954030768899117092091000289089388918088900852079<0,84.406022589954030768899117092091000289089388918088900852079,84.406022589954030768899117092091000289089388918088900852079>O_DOIREP_EMIT_SDNOCES_NOITAREBREVER_LACIRTEMYS_LAINEGNOC_O_CONGENIAL_SYMETRICAL_REVERBERATION_SECONDS_TIME_PERIOD_O | ||||
| slider2:84406.022589954030768899117092091000289089388918088900852079<0,84406.022589954030768899117092091000289089388918088900852079,84406.022589954030768899117092091000289089388918088900852079>O_DOIREP_EMIT_SDNOCESILIM_NOITAREBREVER_LACIRTEMYS_LAINEGNOC_O_CONGENIAL_SYMETRICAL_REVERBERATION_MILISECONDS_TIME_PERIOD_O | ||||
| slider3:0<0,32,1>O_SEMIT_NOISIVID_DOIREP_EMIT_O_TIME_PERIOD_DIVISION_TIMES_O | ||||
| slider4:531441<0,65536,2>O_REDIVID_DOIREP_EMIT_O_TIME_PERIOD_DIVIDER_O | ||||
| slider5:84.406022589954030768899117092091000289089388918088900852079<0,84.406022589954030768899117092091000289089388918088900852079,0.0012879336943047184870742663130507049604658415057081436287243499755859375>O_EMIT_DOIREP_SDNOCES_DEDIVID_O_DIVIDED_SECONDS_PERIOD_TIME_O | ||||
| slider6:84406.022589954030768899117092091000289089388918088900852079<0,84406.022589954030768899117092091000289089388918088900852079,1.2879336943047184870742663130507049604658415057081436287243499755859375>O_EMIT_DOIREP_SDNOCESILIM_DEDIVID_O_DIVIDED_MILISECONDS_PERIOD_TIME_O | ||||
| 
 | ||||
| slider8:0.011847<0,0.011847,0.011847>O_YCNEUQERF_ZTREH_DOIREP_EMIT_SDNOCES_NOITAREBREVER_LACIRTEMYS_LAINEGNOC_O_CONGENIAL_SYMETRICAL_REVERBERATION_SECONDS_TIME_PERIOD_HERTZ_FREQUENCY_O | ||||
| 
 | ||||
| slider18:3<1,8,1>O_NOIDIWID_YCNEUQERF_O_FREQUENCY_DIWIDION_O | ||||
| slider19:243<0,379,1>O_YCNEUQERF_ZTREH_DEILPITLUM_MORF_SENOT_DEDIWID_O_DIWIDED_TONES_FROM_MULTIPLIED_HERTZ_FREQUENCY_O | ||||
| slider20:1<0,1625,0.00000001>O_REILPITLUM_GNITFIHS_O_SHIFTING_MULTIPLIER_O | ||||
| slider21:0.011847<0,82712638677.012146,0.00000001>O_GNITFIHS_ENOT_RETFA_YCNEUQERF_ZTREH_DEILPITLUM_MORF_SENOT_DEDIWID_O_DIWIDED_TONES_FROM_MULTIPLIED_HERTZ_FREQUENCY_AFTER_TONE_SHIFTING_O | ||||
| 
 | ||||
| slider23:3<1,10,1>O_NOIDIWID_EMULOW_O_WOLUME_DIWIDION_O | ||||
| slider24:17<0,729,1>O_EMULOW_LEBICED_DEILPITLUM_MORF_STRAP_DEDIWID_O_DIWIDED_PARTS_FROM_MULTIPLIED_DECIBEL_WOLUME_O | ||||
| slider25:1<0,19683,0.0001>O_OITAR_GNILACSNWOD_EMULOW_O_WOLUME_DOWNSCALING_RATIO_O | ||||
| slider26:1<0,1,0.0001>O_GNITFIHS_EMULOW_RETFA_EMULOW_OITAR_DEILPITLUM_MORF_STRAP_DEDIWID_O_DIWIDED_PARTS_FROM_MULTIPLIED_RATIO_WOLUME_AFTER_WOLUME_SHIFTING_O | ||||
| slider27:1<0,1,0.0001>O_GNITFIHS_EMULOW_RETFA_EMULOW_LEBICED_DEILPITLUM_MORF_STRAP_DEDIWID_O_DIWIDED_PARTS_FROM_MULTIPLIED_DECIBEL_WOLUME_AFTER_WOLUME_SHIFTING_O | ||||
| 
 | ||||
| slider29:4<0,256,1>O_NOITALOPRETNI_EGNARGAL_O_LAGRANGE_INTERPOLATION_O | ||||
| 
 | ||||
| import Tale/fft_synth.jsfx-inc | ||||
| import Tale/fourier_series.jsfx-inc | ||||
| import Tale/wavetable.jsfx-inc | ||||
| 
 | ||||
| @init | ||||
| 
 | ||||
| osc.four_init(0, 1024); | ||||
| 
 | ||||
| @slider | ||||
| SLIDER1=84.406022589954030768899117092091000289089388918088900852079; | ||||
| SLIDER2=SLIDER1*1000; | ||||
| SLIDER4=3^SLIDER3; | ||||
| SLIDER5=SLIDER1/SLIDER4; | ||||
| SLIDER6=SLIDER2/SLIDER4; | ||||
| 
 | ||||
| SLIDER8=1/SLIDER5; | ||||
| 
 | ||||
| SLIDER20=3^(SLIDER19/3^SLIDER18); | ||||
| SLIDER21=SLIDER8*SLIDER20; | ||||
| 
 | ||||
| SLIDER13=1/SLIDER21; | ||||
| SLIDER14=SLIDER13*1000; | ||||
| 
 | ||||
| SLIDER25=3^(SLIDER24/3^SLIDER23); | ||||
| SLIDER26=1/SLIDER25; | ||||
| 
 | ||||
| O_TNUOMA_EMULOW_LEBICED_O_DECIBEL_WOLUME_AMOUNT_O = (exp(log(10)/20 * SLIDER26)); | ||||
| SLIDER27=20*LOG10(SLIDER26); | ||||
| 
 | ||||
| osc.four_setf(SLIDER21); | ||||
| 
 | ||||
| osc.four_update() ? ( | ||||
|   osc.four_sin(); | ||||
|   osc.four_setdc(0); | ||||
|   osc.four_ifft(); | ||||
| ); | ||||
| 
 | ||||
| 
 | ||||
| @sample | ||||
| 
 | ||||
| SPL0 = SPL1 = SPL0 + OSC.WAVE_LAGRANGE(SLIDER29) * SLIDER26 ; | ||||
|  | @ -0,0 +1,499 @@ | |||
| desc:O_HTNYS_YLOP_ONOM_ELPMIS_O_SIMPLE_MONO_POLY_SYNTH_O | ||||
| //tags: generator synthesis | ||||
| //author: Tale | ||||
| 
 | ||||
| // Copyright (C) 2012-2017 Theo Niessink | ||||
| // License: LGPL - http://www.gnu.org/licenses/lgpl.html | ||||
| 
 | ||||
| slider1:-9.5424250943932487459005580651023061840025772838139172965973128061<-120.0,24.0,.0000001>Volume (dB) | ||||
| slider2:0<-1200.0,1200.0,1.0>Tuning (cent) | ||||
| slider3:0<0,1>-Unused | ||||
| slider4:115.78329573381897224814693702618792906596623994250878031835253772<0,5000,1>Attack (ms) | ||||
| slider5:84406.25<1,15000,1>Decay (ms) | ||||
| slider6:0.0<-120.0,24.0,1.0>Sustain (dB) | ||||
| slider7:115.78329573381897224814693702618792906596623994250878031835253772<0,5000,1>Release (ms) | ||||
| slider8:0<0,1>-Unused | ||||
| slider9:0<0,15,1{Sine,HW Rect Sine,FW Rect Sine,Triangle,Trapezoid,Square,Pulse PW,Saw,Mod Triangle PW,Tri Pulse,Hammond,Staircase,Mod Square PW,Trapezoid PW,Tri Pulse PW,O_ALOBARAP_O_PARABOLA_O}>Wave | ||||
| slider10:0.5<0.0,1.0,0.01>Pulse Width | ||||
| slider11:0<0,1>-Unused | ||||
| slider12:200.0<0.0,1200.0,1.0>Pitch Wheel (cent) | ||||
| slider13:0<0,1>-Unused | ||||
| slider14:-36.0<-36.0,0.0,1.0>White Noise (dB) | ||||
| slider15:0<0,1>-Unused | ||||
| slider16:1.0<0.0,1.0,0.01>Low-Pass Filter | ||||
| slider17:0<0,15000,1>Filter Decay (ms) | ||||
| slider18:1.0<0.01,4.0,0.01>Filter Q | ||||
| slider19:0<0,1>-Unused | ||||
| slider20:0<-100,100,1>Pan (%) | ||||
| slider21:0<0,1>-Unused | ||||
| slider22:0<0,16,1{Any,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}>MIDI Ch | ||||
| slider23:1<0,2,1{Legacy,Poly,Mono}>Mode | ||||
| slider24:100<0,100,1>Velocity (%) | ||||
| slider25:0<0,1>-Unused | ||||
| slider26:0.0118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118474639022584228063680118 | ||||
| 
 | ||||
| 
 | ||||
| <0.01,12.0,0.001>LFO Rate (Hz) | ||||
| slider27:0<0,100,1>LFO Depth (%) | ||||
| 
 | ||||
| out_pin:Left | ||||
| out_pin:Right | ||||
| 
 | ||||
| import midi_queue.jsfx-inc | ||||
| import adsr.jsfx-inc | ||||
| import rc_filter.jsfx-inc | ||||
| import zdf_filter.jsfx-inc | ||||
| import sine.jsfx-inc | ||||
| import poly_blep.jsfx-inc | ||||
| import noise.jsfx-inc | ||||
| import Tale/fft_synth.jsfx-inc | ||||
| import Tale/fourier_series.jsfx-inc | ||||
| import Tale/wavetable.jsfx-inc | ||||
| 
 | ||||
| @init | ||||
| 
 | ||||
| osc_buf = 0; max_poly = 16; osc_size = 13; | ||||
| note_buf = osc_buf + max_poly * osc_size; | ||||
| hold_buf = note_buf + 128; | ||||
| midiq.midiq_init(hold_buf + 128); | ||||
| 
 | ||||
| pitch = 1; | ||||
| 
 | ||||
| noise_gain = sqrt(srate / 48000); | ||||
| 
 | ||||
| lpf.m = 50; | ||||
| lpf.ln = log(lpf.m); | ||||
| 
 | ||||
| function int(x) ( x|0 ); | ||||
| function gain(db, inf) ( db <= inf ? 0 : 10^(0.05 * db) ); | ||||
| function mix(a, b, mix) ( (1.0 - mix) * a + mix * b ); | ||||
| function cache(x) ( x != this ? ( this = x; 1; ); ); | ||||
| 
 | ||||
| smooth.rc_set(0.0033); | ||||
| function smooth() ( smooth.lp = this.smooth; this.smooth = smooth.rc_lp(this); ); | ||||
| 
 | ||||
| min_inf = -384.0; | ||||
| gain0.smooth = gain1.smooth = gain(slider1, min_inf); | ||||
| 
 | ||||
| function set_tg(note) | ||||
|   // global(tg*) | ||||
| ( | ||||
|   tg.poly_setf(440 * 2^((note - 69) / 12)); | ||||
| ); | ||||
| 
 | ||||
| function tg_wave(wave) | ||||
|   // global(tg*) | ||||
| ( | ||||
|   wave == 7  ? tg.poly_saw() : | ||||
|   wave == 6  ? tg.poly_rect() : | ||||
|   wave == 5  ? tg.poly_sqr() : | ||||
|   wave == 4  || | ||||
|   wave == 13 ? tg.poly_trap2() : | ||||
|   wave == 3  ? tg.poly_tri() : | ||||
|   wave == 2  ? tg.poly_full() : | ||||
|   wave == 1  ? tg.poly_half() : | ||||
|   wave == 0  ? tg.poly_sin() : | ||||
|   wave == 8  ? tg.poly_tri2() : | ||||
|   wave == 9  || | ||||
|   wave == 14 ? tg.poly_trip() : | ||||
|   wave == 10 ? tg.poly_ham() : | ||||
|   wave == 11 ? tg.poly_stairs() : | ||||
|   wave == 12 ? tg.poly_sqr2() : | ||||
|   wave == 15 ? tg.poly_para() | ||||
| ); | ||||
| 
 | ||||
| function adsr_sets(g) | ||||
|   instance(state) | ||||
| ( | ||||
|   state == 4 ? state = 2; | ||||
|   this.adsr_sets(g); | ||||
| ); | ||||
| 
 | ||||
| function load_adsr(p) | ||||
|   // global(adsr*) | ||||
| ( | ||||
|   adsr.state = p[3]; | ||||
|   adsr.env = p[4]; | ||||
|   adsr.scale = p[5]; | ||||
|   adsr.s = p[6]; | ||||
| ); | ||||
| 
 | ||||
| function store_adsr(p) | ||||
|   // global(adsr*) | ||||
| ( | ||||
|   p[3] = adsr.state; | ||||
|   p[4] = adsr.env; | ||||
|   p[5] = adsr.scale; | ||||
|   p[6] = adsr.s; | ||||
| ); | ||||
| 
 | ||||
| function load_lpf(p) | ||||
|   // global(lpf*) | ||||
| ( | ||||
|   lpf.env.lp = p[7]; | ||||
|   lpf.freq.smooth = p[8]; | ||||
|   lpf.zdf.g = p[9]; | ||||
|   lpf.zdf.h = p[10]; | ||||
|   lpf.zdf.s1 = p[11]; | ||||
|   lpf.zdf.s2 = p[12]; | ||||
| ); | ||||
| 
 | ||||
| function store_lpf(p) | ||||
|   // global(lpf*) | ||||
| ( | ||||
|   p[7] = lpf.env.lp; | ||||
|   p[8] = lpf.freq.smooth; | ||||
|   p[9] = lpf.zdf.g; | ||||
|   p[10] = lpf.zdf.h; | ||||
|   p[11] = lpf.zdf.s1; | ||||
|   p[12] = lpf.zdf.s2; | ||||
| ); | ||||
| 
 | ||||
| function lpf_freq(dt) | ||||
|   // global(lpf*, srate) | ||||
| ( | ||||
|   (lpf.env.a < 1 ? lpf.env.rc_lp(lpf.n) : lpf.n) * dt * srate; | ||||
| ); | ||||
| 
 | ||||
| function reset_lpf(dt) | ||||
|   // global(lpf*) | ||||
| ( | ||||
|   lpf.env.lp = 0; | ||||
|   lpf.zdf.zdf_reset(); | ||||
|   lpf.freq.smooth = lpf_freq(dt); | ||||
|   lpf.zdf.zdf_lp(lpf.freq.smooth, lpf.q); | ||||
| ); | ||||
| 
 | ||||
| function set_buf(buf, num, size) | ||||
|   // global(p, end) | ||||
| ( | ||||
|   p = buf; | ||||
|   end = p + num * size; | ||||
| ); | ||||
| 
 | ||||
| function remove_buf(size) | ||||
|   // global(p, end) | ||||
| ( | ||||
|   end -= size; | ||||
|   p < end ? memcpy(p, p + size, end - p); | ||||
| ); | ||||
| 
 | ||||
| function find_note(note, buf, num, size) | ||||
|   // global(p, end) | ||||
| ( | ||||
|   set_buf(buf, num, size); | ||||
|   while(p < end && p[] != note ? p += size); | ||||
| ); | ||||
| 
 | ||||
| function note_on(note, vel) | ||||
|   // global(p, end, note_buf, num_notes, hold_buf, num_hold, osc_buf, num_osc, osc_size, num_poly, tuning, tg*, adsr*, lpf*) | ||||
| ( | ||||
|   find_note(note, note_buf, num_notes, 1); | ||||
|   p >= end ? ( | ||||
|     p[] = note; | ||||
|     num_notes += 1; | ||||
|   ); | ||||
| 
 | ||||
|   find_note(note, hold_buf, num_hold, 1); | ||||
|   p < end ? ( | ||||
|     remove_buf(1); | ||||
|     num_hold -= 1; | ||||
|   ); | ||||
| 
 | ||||
|   find_note(note, osc_buf, num_osc, osc_size); | ||||
|   p >= end ? ( | ||||
|     set_tg(note); | ||||
| 
 | ||||
|     num_osc >= num_poly ? ( | ||||
|       p = osc_buf; | ||||
|       num_poly > 1 ? ( | ||||
|         // Set oscillator/ADSR state to first played note (to mimic old | ||||
|         // mono_synth global state behavior). | ||||
|         tg.t = p[1]; | ||||
|         load_adsr(p); | ||||
|         load_lpf(p); | ||||
|       ); | ||||
| 
 | ||||
|       remove_buf(osc_size); | ||||
|       p = end; | ||||
|       num_osc -= 1; | ||||
|     ) : ( | ||||
|       // Don't reset oscillator on first note (old mono_synth behavior). | ||||
|       num_osc > 0 ? tg.t = 0; | ||||
|       adsr.adsr_reset(); | ||||
|       reset_lpf(tuning * tg.dt); | ||||
|     ); | ||||
| 
 | ||||
|     num_osc += 1; | ||||
|     p[0] = note; | ||||
|     p[1] = tg.t; | ||||
|     p[2] = tg.dt; | ||||
|   ) : num_poly > 1 ? ( | ||||
|     load_adsr(p); | ||||
|     load_lpf(p); | ||||
|   ); | ||||
| 
 | ||||
|   adsr.adsr_a(vel); | ||||
|   lpf.env.lp = lpf.m; | ||||
| 
 | ||||
|   store_adsr(p); | ||||
|   store_lpf(p); | ||||
| ); | ||||
| 
 | ||||
| function note_off(note) | ||||
|   // global(p, end, note_buf, num_notes, osc_buf, num_osc, osc_size, num_poly, note_prio, tg*, adsr*) | ||||
| ( | ||||
|   find_note(note, note_buf, num_notes, 1); | ||||
|   p < end ? ( | ||||
|     remove_buf(1); | ||||
|     num_notes -= 1; | ||||
|   ); | ||||
| 
 | ||||
|   find_note(note, osc_buf, num_osc, osc_size); | ||||
|   p < end ? ( | ||||
|     // Mono, last-note priority | ||||
|     num_poly == 1 && num_notes > 0 && note_prio ? ( | ||||
|       note = note_buf[num_notes - 1]; | ||||
|       set_tg(note); | ||||
|       p[0] = note; | ||||
|       p[1] = tg.t; | ||||
|       p[2] = tg.dt; | ||||
|     ) : ( | ||||
|       // Release | ||||
|       num_poly > 1 ? load_adsr(p); | ||||
|       adsr.adsr_r(); | ||||
|       store_adsr(p); | ||||
|     ); | ||||
|   ); | ||||
| ); | ||||
| 
 | ||||
| function hold_note(note) | ||||
|   // global(p, end, hold_buf, num_hold) | ||||
| ( | ||||
|   find_note(note, hold_buf, num_hold, 1); | ||||
|   p >= end ? ( | ||||
|     p[] = note; | ||||
|     num_hold += 1; | ||||
|   ); | ||||
| ); | ||||
| 
 | ||||
| function release_notes() | ||||
|   // global(hold_buf, num_hold) | ||||
|   local(p) | ||||
| ( | ||||
|   p = hold_buf; | ||||
|   loop(num_hold, | ||||
|     note_off(p[]); | ||||
|     p += 1; | ||||
|   ); | ||||
|   num_hold = 0; | ||||
| ); | ||||
| 
 | ||||
| function all_notes_off() | ||||
|   // global(num_notes, num_hold, num_osc) | ||||
| ( | ||||
|   num_notes = num_hold = num_osc = 0; | ||||
| ); | ||||
| 
 | ||||
| function pitch_bend(pitch_wheel) | ||||
|   // global(pitch, pitch_range) | ||||
| ( | ||||
|   pitch = pitch_range < 0.00001 ? 1 : 2^(pitch_wheel * pitch_range); | ||||
| ); | ||||
| 
 | ||||
| @slider | ||||
| 
 | ||||
| function adr(ms, lo, hi) ( max(lo, min(hi, ms)) * 0.001 ); | ||||
| 
 | ||||
| function pan(gain, pos) | ||||
|   // global(gain0, gain1) | ||||
| ( | ||||
|   // REAPER default 0 dB pan law (thanks Justin!) | ||||
|   // http://www.askjf.com/index.php?q=2342s | ||||
| 
 | ||||
|   pos *= 0.25*$pi; | ||||
|   gain *= sqrt(2) * (1 - sqrt(0.5) * (1 / cos(pos) - 1)); | ||||
| 
 | ||||
|   pos += 0.25*$pi; | ||||
|   gain0 = cos(pos) * gain; | ||||
|   gain1 = sin(pos) * gain; | ||||
| ); | ||||
| 
 | ||||
| pan(gain(slider1, min_inf), max(-100, min(100, slider20)) * 0.01); | ||||
| 
 | ||||
| adsr.adsr_seta(adr(slider4, 0, 5000)); | ||||
| adsr.adsr_setd(adr(slider5, 1, 15000)); | ||||
| adsr.adsr_sets(gain(slider6, min_inf)); | ||||
| adsr.adsr_setr(adr(slider7, 0, 5000)); | ||||
| 
 | ||||
| tuning = 2^(slider2 / 1200); | ||||
| wave = int(slider9); | ||||
| 
 | ||||
| // Limit pulse width for pulse, triangular pulse, modified square. | ||||
| min_pw = wave == 6 || wave == 14 ? 0.10 : wave == 8 ? 0.01 : wave == 12 ? 0.20 : 0.0; | ||||
| max_pw = wave == 6 ? 0.90 : wave == 8 ? 0.99 : 1.0; | ||||
| pw = wave == 4 || wave == 9 ? 0.5 : max(min_pw, min(max_pw, slider10)); | ||||
| 
 | ||||
| noise_mix = gain(slider14, -36.0); | ||||
| 
 | ||||
| lpf.n = slider16 >= 1.0 ? lpf.m : exp(max(0.0, slider16) * lpf.ln); | ||||
| slider17 < 1 ? lpf.env.a = 1 : lpf.env.rc_sett(0.001 * min(15000, slider17)); | ||||
| lpf.q = max(0.01, min(4.0, slider18)); | ||||
| 
 | ||||
| pitch_range = max(0.0, slider12) / 1200; | ||||
| midi_ch.cache(max(0, min(16, int(slider22))) - 1) ? all_notes_off(); | ||||
| num_poly.cache(slider23 < 0.5 || slider23 >= 1.5 ? 1 : max_poly) ? all_notes_off(); | ||||
| note_prio.cache(slider23 >= 0.5) ? all_notes_off(); | ||||
| vel_range = max(0, min(100, slider24)) * 0.01; | ||||
| 
 | ||||
| lfo_range = max(0, min(100, slider27)) * 0.01; | ||||
| lfo_range <= 0 ? ( | ||||
|   lfo_mod = 0; | ||||
| ) : wave == 6 || wave == 8 || wave >= 12 ? ( | ||||
|   lfo_mod = 1; | ||||
|   lfo_range *= 0.5 * (max_pw - min_pw); | ||||
|   pw = max(min_pw + lfo_range, min(max_pw - lfo_range, pw)); | ||||
| ) : ( | ||||
|   lfo_mod = 2; | ||||
|   lfo_range *= 0.5/12; | ||||
| ); | ||||
| lfo_mod != 1 ? tg.poly_setpw(pw); | ||||
| lfo_mod ? lfo.sin_setf(max(0.01, slider26)); | ||||
| 
 | ||||
| @block | ||||
| 
 | ||||
| midiq.midiq_collect(midi_ch, 3|8|64); | ||||
| 
 | ||||
| @sample | ||||
| 
 | ||||
| while(midiq.midiq_remove() ? ( | ||||
|   midiq.msg1 &= 0xF0; | ||||
| 
 | ||||
|   // Note On | ||||
|   midiq.msg1 == 0x90 && midiq.msg3 ? ( | ||||
|     note_on(midiq.msg2, (1.0 - vel_range) + vel_range * midiq.msg3 / 127); | ||||
|   ) : | ||||
| 
 | ||||
|   // Note Off | ||||
|   midiq.msg1 == 0x80 || midiq.msg1 == 0x90 ? ( | ||||
|     hold_pedal ? hold_note(midiq.msg2) : note_off(midiq.msg2); | ||||
|   ) : | ||||
| 
 | ||||
|   // Pitch Wheel | ||||
|   midiq.msg1 == 0xE0 ? ( | ||||
|     pitch_bend(((midiq.msg3 << 7 | midiq.msg2) - 8192) / (midiq.msg3 < 64 ? 8192 : 8191)); | ||||
|   ) : | ||||
| 
 | ||||
|   // Control Change | ||||
|   midiq.msg1 == 0xB0 ? ( | ||||
| 
 | ||||
|     // Damper Pedal (Sustain) | ||||
|     midiq.msg2 == 64 ? ( | ||||
|       hold_pedal = midiq.msg3 >= 64; | ||||
|       !hold_pedal ? release_notes(); | ||||
|     ) : | ||||
| 
 | ||||
|     // All Notes Off | ||||
|     midiq.msg2 == 123 ? ( | ||||
|       all_notes_off(); | ||||
|     ); | ||||
|   ); | ||||
| 
 | ||||
|   1; // while midiq.midiq_remove() | ||||
| )); | ||||
| 
 | ||||
| function sample_tg(t, dt) | ||||
|   // global(adsr*, freq_mod, tg*, wave, white_noise, noise_mix) | ||||
|   local(ph, out) | ||||
| ( | ||||
|   adsr.state ? ( | ||||
|     noise_mix < 1.0 ? ( | ||||
|       // Correct full-wave rectified sine/triangular pulse phase. | ||||
|       ph = wave == 2 ? 0.25 : wave == 14 ? 0.75 + 0.5 * tg.pw; | ||||
|       ph > 0 ? tg.poly_sync(t - ph) : tg.t = t; | ||||
| 
 | ||||
|       tg.poly_setdt(freq_mod * dt); | ||||
|       tg.poly_resetf(); | ||||
|       out = adsr.env * mix(tg_wave(wave), white_noise, noise_mix); | ||||
| 
 | ||||
|       ph > 0 ? tg.poly_sync(tg.t + ph); | ||||
|       out; | ||||
|     ) : ( | ||||
|       adsr.env * white_noise; | ||||
|     );     | ||||
|   ); | ||||
|   // 0.0 otherwise | ||||
| ); | ||||
| 
 | ||||
| function apply_lpf(in, dt) | ||||
|   // global(lpf*, tuning) | ||||
|   local(out) | ||||
| ( | ||||
|   lpf.freq = lpf_freq(tuning * dt); | ||||
|   lpf.freq.smooth(); | ||||
| 
 | ||||
|   // Recalculate LPF coefficients only every 16 samples. | ||||
|   lpf.skip <= 0 && lpf.freq.smooth != lpf.zdf.freq ? ( | ||||
|     lpf.zdf.freq = lpf.freq.smooth; | ||||
|     lpf.zdf.zdf_lp(lpf.zdf.freq, lpf.q); | ||||
|   ); | ||||
| 
 | ||||
|   out = lpf.zdf.zdf_svf_lp(in); | ||||
|   lpf.n < lpf.m ? out : in; | ||||
| ); | ||||
| 
 | ||||
| function adsr_lpf_off() | ||||
|   // global(adsr*, lpf.zdf*) | ||||
| ( | ||||
|   !adsr.state && lpf.zdf.s1 == 0 && lpf.zdf.s2 == 0; | ||||
| ); | ||||
| 
 | ||||
| freq_mod = pitch * tuning; | ||||
| lfo_mod ? lfo_mod == 1 ? tg.poly_setpw(pw + lfo_range * lfo.sin_sin()) : freq_mod *= 2^(lfo.sin_sin() * lfo_range); | ||||
| 
 | ||||
| white_noise = noise_mix > 0.0 ? noise_gain * noise.lcg_white(); | ||||
| out = 0.0; | ||||
| 
 | ||||
| // Optimize for mono i.e. don't load/store oscillator/ADSR/filter state. | ||||
| num_poly == 1 ? ( | ||||
|   num_osc ? ( | ||||
|     adsr.adsr_process(); | ||||
|     out = apply_lpf(sample_tg(tg.t, osc_buf[2]), osc_buf[2]); | ||||
|     adsr_lpf_off() ? num_osc = 0; | ||||
|   ); | ||||
| ) : | ||||
| 
 | ||||
| /* num_poly > 1 ? */ ( | ||||
|   sus = adsr.s; | ||||
| 
 | ||||
|   set_buf(osc_buf, num_osc, osc_size); | ||||
|   while(p < end ? ( | ||||
| 
 | ||||
|     // Functions indexing memory seems to be slow, so manually inline them. | ||||
|     /* load_adsr(p); */ adsr.state = p[3]; adsr.env = p[4]; adsr.scale = p[5]; adsr.s = p[6]; | ||||
|     adsr.s != sus ? adsr.adsr_sets(sus); | ||||
|     adsr.adsr_process(); | ||||
|     /* store_adsr(p); */ p[3] = adsr.state; p[4] = adsr.env; p[5] = adsr.scale; p[6] = adsr.s; | ||||
| 
 | ||||
|     s = sample_tg(p[1], p[2]); | ||||
|     p[1] = tg.t; | ||||
| 
 | ||||
|     /* load_lpf(p); */ lpf.env.lp = p[7]; lpf.freq.smooth = p[8]; lpf.zdf.g = p[9]; lpf.zdf.h = p[10]; lpf.zdf.s1 = p[11]; lpf.zdf.s2 = p[12]; | ||||
|     s = apply_lpf(s, p[2]); | ||||
|     /* store_lpf(p); */ p[7] = lpf.env.lp; p[8] = lpf.freq.smooth; p[9] = lpf.zdf.g; p[10] = lpf.zdf.h; p[11] = lpf.zdf.s1; p[12] = lpf.zdf.s2; | ||||
| 
 | ||||
|     out += s; | ||||
| 
 | ||||
|     adsr_lpf_off() ? ( | ||||
|       remove_buf(osc_size); | ||||
|       num_osc -= 1; | ||||
|     ) : ( | ||||
|       p += osc_size; | ||||
|     ); | ||||
|   )); | ||||
| ); | ||||
| 
 | ||||
| lpf.skip > 0 ? lpf.skip -= 1 : lpf.skip = 16 - 1; | ||||
| 
 | ||||
| spl0 += gain0.smooth() * out; | ||||
| spl1 += gain1.smooth() * out; | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 ⠀
						⠀