First version that sort of works
This commit is contained in:
		
							parent
							
								
									44009d9f51
								
							
						
					
					
						commit
						8b0d53684b
					
				| @ -1,3 +1,64 @@ | ||||
| 
 | ||||
| 
 | ||||
| Granulator { | ||||
| Granulator { | ||||
| 	var <buflen, <inb, <outb, <posb, <triggerb, <pitchb, <modb, <buffer, <recorder, <grains, server; | ||||
| 	classvar server; | ||||
| 	*init { | ||||
| 		| s | | ||||
| 		server = s; | ||||
| 		"Adding some synthdefs".postln; | ||||
| 		s.postln; | ||||
| 		SynthDef( | ||||
| 			\grain_record, | ||||
| 			{ | ||||
| 				arg in = 2, buffer = 0, mix = 0.25, record = 0.0; | ||||
| 				var insig = record * In.ar(in, 1); | ||||
| 				RecordBuf.ar(insig, buffer, 0, mix, 1 - mix, loop: 1) | ||||
| 			} | ||||
| 		).add(); | ||||
| 
 | ||||
| 		SynthDef( | ||||
| 			\grain_play, | ||||
| 			{ | ||||
| 				arg out=0, buffer, blen, pitchb, triggerb, posb, modb, size=0.1, amp=0.5, pan=0, track=0.25, jitter=0, blur=0.0; | ||||
| 				var pitch, trigger, chor, pos, pans, grains, filtfreq; | ||||
| 				trigger = In.kr(triggerb); | ||||
| 				pitch = In.kr(pitchb); | ||||
| 				pos = Wrap.kr(In.kr(posb, 1) + WhiteNoise.kr(blur), 0, 1); | ||||
| 				pans = pan + WhiteNoise.kr(jitter) + (track * (In.kr(posb, 1) - 1)); | ||||
| 				grains = TGrains.ar(2, trigger, buffer, pitch, pos * blen, size, pans, amp); | ||||
| 				Out.ar(out, grains); | ||||
| 			} | ||||
| 		).add(); | ||||
| 
 | ||||
| 	} | ||||
| 
 | ||||
| 	*new { | buflen, inb, outb, posb, triggerb, pitchb | | ||||
| 		^super.newCopyArgs(buflen, inb, outb, posb, triggerb, pitchb); | ||||
| 	} | ||||
| 
 | ||||
| 	init { | ||||
| 		server = Server.default; | ||||
| 		buffer = Buffer.alloc(server, server.sampleRate * buflen, 1); | ||||
| 		recorder = Synth.new(\grain_record, [ | ||||
| 			\in, inb, | ||||
| 			\buffer, buffer, | ||||
| 			\record, 0 | ||||
| 		], server, \addToTail); | ||||
| 		grains = Synth.new( | ||||
| 		\grain_play, | ||||
| 		[ | ||||
| 			\out, outb, | ||||
| 			\buffer, buffer, | ||||
| 			\blen, buflen, | ||||
| 			\posb, posb, | ||||
| 			\triggerb, triggerb, | ||||
| 			\pitchb, pitchb, | ||||
| 			\modb, modb, | ||||
| 			\size, 0.1 | ||||
| 		], | ||||
| 		server); | ||||
| 	} | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user