r#      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g!h!i!j!k!l!m!n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"""""""""""""""""""""""""""""###$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& & & & & &&&&&&&&&&&&&&&&&&& &!&"&#&$&%&&&'&(&)&*&+&,&-&.&/&0&1&2&3&4&5&6&7&8&9&:&;&<&=&>&?&@&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&[&\&]&^&_&`&a&b&c&d&e&f&g&h&i&j&k&l&m&n&o&p&q&r&s&t&u&v&w&x&y&z&{&|&}&~'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''((((())))))))))))))*****++++++++++++++++++++++++++++++++++++++++++++++++ + + + + ,,,,--------------- -!.".#.$.%.&.'.(.).*.+.,.-/.///0/1/2/3/4/5/6/7/8/9/:/;/</=/>/?/@/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/[/\/]/^/_/`/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/{/|/}/~0000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111222222222222222222233333333333333333333333333344 4 4 4 4 4444444444444444444 4!4"4= Safe-InferredMultiple channel expansion.Extend  to specified degree.   Safe-Inferred 0An interpolation function take three arguments. x0 is the left or begin value, x1 is the right or end value, and t is a (0,1) index. Step function, ignores t and returns x1. Linear interpolation. Exponential interpolation, x0 must not be 0, (x0,x1) must not span 0. Jimport Sound.SC3.Plot plotTable1 (map (exponential 0.001 1) [0,0.01 .. 1]) Variant that allows x0 to be 0 , though (x0,x1) must not span 0. fplotTable1 (map (exponential' 0 1) [0,0.01 .. 1]) plotTable1 (map (exponential' 0 (-1)) [0,0.01 .. 1])  of  , ie. allows (x0,x1 ) to span 0. 5plotTable1 (map (exponential'' (-1) 1) [0,0.01 .. 1])  with t' transformed by sine function over (-pi2,pi2). ,plotTable1 (map (sine (-1) 1) [0,0.01 .. 1])If x0 # x1? rising sine segment (0,pi/2), else falling segment (pi/2,pi). [plotTable1 (map (welch (-1) 1) [0,0.01 .. 1]) plotTable1 (map (welch 1 (-1)) [0,0.01 .. 1]))Curvature controlled by single parameter c. 0 is  , increasing c approaches  . _plotTable1 (map (curve 0 (-1) 1) [0,0.01 .. 1]) plotTable1 (map (curve 9 (-1) 1) [0,0.01 .. 1]) Square of   of $ of x0 and x1$, threfore neither may be negative. ,plotTable1 (map (squared 0 1) [0,0.01 .. 1])Cubic variant of . *plotTable1 (map (cubed 0 1) [0,0.01 .. 1])"x0 until end, then immediately x1.    NoneLPC analysis frame data.LPC analysis meta-data.!LPC analysis data.%$Read an lpanal format LPC data file.&6Analysis data in format required by the sc3 LPC UGens. !"#$%&%& !"#$%&!"#$ %&  !"#$%&%&None'ATS analysis frame data.(ATS analysis meta-data.4ATS analysis data.8Read an ATS data file.9Extract set of 's from 4.'()*+,-./01234567'(89)*'()*+,-./01234567894567()*+,-./0123'98 '( )*+,-./01234567'(89)* Safe-Inferred:(Typeclass to constrain UGen identifiers.<Hash :s p and q and sum to form an +. #'a' `joinID` (1::Int) == 1627429042:;<=>?@A:;<:;A@?>=<:;<=>?@A Safe-Inferred BGuarded variant of , with default value.C- with default value. $lookup_env_default "PATH" "/usr/bin"DRead the environment variable SC3_HELP, the default value is !~/.local/share/SuperCollider/Help.E-Locate path to indicated SC3 class help file. vimport System.FilePath d <- sc3HelpDirectory h <- sc3HelpClassFile d "SinOsc" h == Just (d </> "Classes/SinOsc.html")F2Generate path to indicated SC3 operator help file. ?sc3HelpOperatorEntry "." "+" == "./Overviews/Operators.html#.+"G+Generate path to indicated SC3 method help. 8sc3HelpMethod "." '*' ("C","m") == "./Classes/C.html#*m"H1Generate path to indicated SC3 class method help. 9sc3HelpClassMethod "." ("C","m") == "./Classes/C.html#*m"I4Generate path to indicated SC3 instance method help. <sc3HelpInstanceMethod "." ("C","m") == "./Classes/C.html#-m"J0The name of the local SC3 Help file documenting u . Deletes @) to allow use on haddock quoted comments. import Sound.SC3.UGen.Name ugenSC3HelpFile "Collection.*fill" ugenSC3HelpFile "Collection.inject" ugenSC3HelpFile (toSC3Name "sinOsc")KUse BROWSER or  x-www-browser to view SC3 help file for u. )get_env_default "BROWSER" "x-www-browser" import Sound.SC3.UGen.Name viewSC3Help (toSC3Name "Collection.*fill") viewSC3Help (toSC3Name "Collection.inject") viewSC3Help (toSC3Name "sinOsc") BCDEFGHIJK BCDEFGHIJK BCDEFGHIJK BCDEFGHIJK Safe-InferredL4Generate path to indicated SC3 instance method help. glet r = "./Reference/Server-Command-Reference.html#/b_alloc" in sc3HelpServerCommand "." "b_alloc" == rMLookup SC3 help file for server command c. ISound.SC3.Server.Help.viewServerHelp "/b_allocRead" viewServerHelp "done"LMLMLMLM Safe-InferredN!Operating rate of unit generator.S:Integer rate identifier, as required for scsynth bytecode.T+Rates as ordered for filter rate selection.UColor identifiers for each N.V Set of all N values.W!Case insensitive parser for rate. EData.Maybe.mapMaybe rate_parse (words "ar kR IR Dr") == [AR,KR,IR,DR] NOPQRSTUVWX NOPQRSTUVW NRQPOXSTUVWNRQPOSTUVWX None~,Pascal (length prefixed) encoding of string. Byte-encode c value. Byte-encode _.,YZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~,YZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~,gfecdhba`_ijklmYZ[\]^nopqrstuvwxyz{|}~&YZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  Safe-Inferred SC3 server commands are strings.!Enumerate server command numbers.Lookup command number in . <map sc3_cmd_number ["/b_alloc","/s_new"] == [Just 28,Just 9]. of .%List of asynchronous server commands./ if 0 is an asynchronous 0. 6map isAsync [b_close 0,n_set1 0 "0" 0] == [True,False]eAsynchronous commands are at the left. This function should preserve the ordering of both branches. *partition_async [b_close 0,n_set1 0 "0" 0]  Safe-Inferred"Nodes are either groups of synths.'Name or index and value or bus mapping.Get nth field of status as 1.Names of status fields.Status pretty printer.YControl (parameter) data may be given as names or indices and as values or bus mappings. |queryTree_ctl (string "freq",float 440) == (Left "freq",Left 440.0) queryTree_ctl (int32 1,string "c0") == (Right 1,Right 0)Parse result of  g_queryTree. let r = [int32 1,int32 0,int32 2,int32 1,int32 1 ,int32 100,int32 1 ,int32 1000,int32 (-1),string "saw" ,int32 1,string "freq",float 440.0 ,int32 2,int32 0] in queryTree r Transform  to 2. putStrLn (T.drawTree (fmap query_node_pp (queryTree_rt (queryTree r)))) > 0 > | > +- 1 > | | > | `- 100 > | | > | `- (1000,"saw","freq:440.0") > | > `- 2   Safe-InferredSample format.Sound file format.%Enumeration of Message printer types.Error posting mode.Turn error posting onTurn error posting offError posting scope. Bundle scope Global scopeEnumeration of flags for '/b_gen' command.EEnumeration of possible locations to add new nodes (s_new and g_new). to bit number. $map b_gen_bit [minBound .. maxBound]Set of  to flag. &b_gen_flag [minBound .. maxBound] == 7.Sample format to standard file extension name.-Infer sample format from file extension name.***  None Minimal NRT rendering options. The sound file type is inferred from the file name extension. Structure is: OSC file name, output audio file name, output number of channels, sample rate, sample format.An  score is a sequence of 3s.&Encode and prefix with encoded length.4 of f of 5 . Can be used to separate the initialisation and  remainder parts of a score. Encode an  score. Write an  score. Write an  score to a file handle. Decode an  6 to a list of 3s. Decode an  6. of 7.>Minimal NRT rendering, for more control see Stefan Kersten's  hsc3-process package at:  ,https://github.com/kaoskorobase/hsc3-process.  Safe-Inferred8 variant with 9 at left. /fmap (== 5) (return 3 .+ 2) [3,4] .+ 2 == [5,6]8 variant with 9 at right. /fmap (== 5) (3 +. return 2) 3 +. [2,3] == [5,6]8 variant with : at left and right. vfmap (== 5) (return 3 .+. return 2) [3,4] .+. [2,3] == [5,6,6,7] getZipList (ZipList [3,4] .+. ZipList [2,3]) == [5,7]; variant with 9 at left. fmap (== 6) (return 3 .* 2); variant with 9 at right. fmap (== 6) (3 *. return 2); variant with : at left and right. #fmap (== 6) (return 3 .*. return 2)< variant with 9 at left. /fmap (== 1) (return 3 .- 2) [3,4] .- 2 == [1,2]< variant with 9 at right. /fmap (== 1) (3 -. return 2) 3 -. [2,3] == [1,0]< variant with : at left and right. vfmap (== 1) (return 3 .-. return 2) [3,4] .-. [2,3] == [1,0,2,1] getZipList (ZipList [3,4] .-. ZipList [2,3]) == [1,1]= variant with 9 at left. fmap (== 3) (return 6 ./ 2)= variant with 9 at right. fmap (== 3) (6 /. return 2)= variant with : at left and right. Dfmap (== 3) (return 6 ./. return 2) [5,6] ./. [2,3] == [5/2,5/3,3,2]Right to left compositon of > functions. qfmap (== 7) (composeM [return . (+ 1),return . (/ 2)] 3) fmap (== 8) (composeM [return . (* 2),return . (+ 1)] 3)Feed forward composition of n applications of f. )fmap (== 3) (chainM 3 (return . (+ 1)) 0)  Safe-Inferred +CI = Case insensitive, CS = case sensitive. Variant of ? requiring exact match.Predicates for .Predicates for .String equality with . $string_eq CI "lower" "LOWER" == True of .@ parser with . #parse_enum CI "FALSE" == Just FalseA with equality function.Reverse A with equality function.(prev,cur,next) triples. Opcn_triples [1..3] == [(Nothing,1,Just 2),(Just 1,2,Just 3),(Just 2,3,Nothing)]B of f at x and g at y. Length prefixed list variant of .B of f at x and g at y and h at z. Safe-Inferred Convert from hsc3 name to SC3 name. toSC3Name "sinOsc" == "SinOsc" toSC3Name "lfSaw" == "LFSaw" toSC3Name "pv_Copy" == "PV_Copy" map toSC3Name ["bpf","fft","tpv","out","in'"] Inverse of . [let nm = ["SinOsc","LFSaw","PV_Copy"] in map fromSC3Name nm == ["sinOsc","lfSaw","pv_Copy"] :map fromSC3Name ["BPF","FFT","TPV"] == ["bpf","fft","tpv"] #map fromSC3Name (words "HPZ1 RLPF")Find SC3 name edges.)Convert from SC3 name to Lisp style name. let {s = words "SinOsc LFSaw FFT PV_Add AllpassN BHiPass BinaryOpUGen HPZ1 RLPF TGrains" ;l = words "sin-osc lf-saw fft pv-add allpass-n b-hi-pass binary-op-ugen hpz1 rlpf t-grains"} in map sc3_name_to_lisp_name s == l SC3 UGen namesA are given with rate suffixes if oscillators, without if filters. /map sc3_ugen_name_sep (words "SinOsc.ar LPF *") Safe-Inferred Enumeration of SC3 unary operator UGens.)Enumeration of SC3 unary operator UGens.`Type-specialised .a5Table of symbolic names for standard unary operators.b;Lookup possibly symbolic name for standard unary operators.c*Given name of unary operator derive index. \mapMaybe (unaryIndex True) (words "NEG CUBED") == [0,13] unaryIndex True "SinOsc" == Nothingd. of c. Rmap (is_unary True) (words "ABS MIDICPS NEG") map (is_unary True) (words "- RAND")eType-specialised .f6Table of symbolic names for standard binary operators.g<Lookup possibly symbolic name for standard binary operators. 0map binaryName [1,2,8,12] == ["-","*","<","Min"]h+Given name of binary operator derive index. bmapMaybe (binaryIndex True) (words "* MUL RING1") == [2,2,30] binaryIndex True "SINOSC" == Nothingi. of h. /map (is_binary True) (words "== > % TRUNC MAX")j#Order of lookup: binary then unary. 5map (resolve_operator True) (words "+ - ADD SUB NEG")t      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijt      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijt)_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*`abcd('&%$#"!      efghij 1('&%$#"!      )6_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*`abcdefghij Safe-Inferred9k#Union type of Unit Generator forms.sMultiple root graph.w Proxy to multiple channel input.{UGen primitives.-Operating mode of unary and binary operators.!Unit generator output descriptor.Labels.|Control inputs. It is an invariant that controls with equal names within a UGen graph must be equal in all other respects.5-tuple form of  data.Control meta-data.MinimumMaximum(0,1)  (min,max) transfer function.%The step to increment & decrement by.!Unit of measure (ie hz, ms etc.). Constants. :Constant 3 == Constant 3 (Constant 3 > Constant 1) == TrueSC3 samples are 32-bit C#. hsc3 represents data as 64-bit D. If k6 values are used more generally (ie. see hsc3-forth) C9 may be too imprecise, ie. for representing time stamps.)Data type for internalised identifier at k. Alias of , the  used for deterministic UGens.Lift  to  allowing type coercion. See into r. Value of r .Constant node predicate.True if input is a sink k, ie. has no outputs. See into n. Ensure input k is valid, ie. not a sink. Constant value node constructor.Type specialised .Type specialised .Type specialised .,Multiple channel expansion node constructor. Multiple root graph constructor.&Unit generator proxy node constructor.Type specified .!Multiple channel expansion node (m ) predicate."Output channels of UGen as a list. Number of channels to expand to. Extend UGen to specified degree.(Apply MCE transform to a list of inputs.0Build a UGen after MCE transformation of inputs.?True if MCE is an immediate proxy for a multiple-out Primitive.Determine the rate of a UGen.'Apply proxy transformation if required.5Construct proxied and multiple channel expanded UGen.Ucf = constant function, rs = rate set, r = rate, nm = name, i = inputs, o = outputs.Operator UGen constructor.2Unary math constructor with constant optimization.3Binary math constructor with constant optimization. let o = sinOsc AR 440 0 o * 1 == o && 1 * o == o && o * 2 /= o o + 0 == o && 0 + o == o && o + 1 /= o o - 0 == o && 0 - o /= o o / 1 == o && 1 / o /= o o ** 1 == o && o ** 2 /= o3Binary math constructor with constant optimization.UGens are bit patterns.Unit generators are stochastic.Unit generators are enumerable.$Unit generators are orderable (when  Constants). !(constant 2 > constant 1) == TrueUnit generators are integral.Unit generators are real.#Unit generators are floating point.Unit generators are fractional.Unit generators are numbers._klmnopqrstuvwxyz{|}~Uklmnopqrstuvwxyz{|}~_{|}~wxyzstuvkrqponml7krqponmlstuvwxyz{|}~ Safe-InferredUnification of integer and k buffer identifiers.Type specialised (k) envelope curve.Envelope curve triple.Envelope curve triple.Envelope curve pair.Envelope curve indicator input.Note: not implemented at SC3#Warp interpolation indicator input. Completion mode indicator input.Interpolation indicator input.Loop indicator input.Resolve .Resolve .Resolve .Resolve .Convert  to shape value. ,map env_curve_shape [EnvSin,EnvSqr] == [3,6]The value of  is non-zero for . 0map env_curve_value [EnvWelch,EnvNum 2] == [0,2]Interpolation_F of .Lift to k.,,,  Safe-Inferred@A set of start time, start level, end time, end level and curve.SC3 envelope segment modelSet of n levels, n is >= 1Set of n-1 time intervalsPossibly empty curve setMaybe index to release nodeMaybe index to loop nodeAVariant without release and loop node inputs (defaulting to nil). Duration of , ie. E F .Number of segments at , ie. G F ..Determine which envelope segment a given time t falls in.(Extract envelope segment given at index i.Extract all segments.Transform list of s into lists (,,).An envelope is normal* if it has no segments with zero duration.9Normalise envelope by deleting segments of zero duration.Get value for  at time t , or zero if tn is out of range. By convention if the envelope has a segment of zero duration we give the rightmost value.Render  to breakpoint set of n equi-distant places. Contruct a lookup table of n places from .  Variant on [ that expands the, possibly empty, user list by cycling (if not empty) or by filling with . Linear SC3 form of  data.*Form is: l0 #t reset loop l1 t0 c0 c0' ... let {l = [0,0.6,0.3,1.0,0] ;t = [0.1,0.02,0.4,1.1] ;c = [EnvLin,EnvExp,EnvNum (-6),EnvSin] ;e = Envelope l t c Nothing Nothing ;r = [0,4,-99,-99,0.6,0.1,1,0,0.3,0.02,2,0,1,0.4,5,-6,0,1.1,3,0]} in envelope_sc3_array e == Just r IEnvGen SC3 form of $ data. Offset not supported (zero). let {l = [0,0.6,0.3,1.0,0] ;t = [0.1,0.02,0.4,1.1] ;c = [EnvLin,EnvExp,EnvNum (-6),EnvSin] ;e = Envelope l t c Nothing Nothing ;r = [0,0,4,1.62,0.1,1,0,0.6,0.02,2,0,0.3,0.4,5,-6,1,1.1,3,0,0]} in envelope_sc3_ienvgen_array e == Just r / if  is not H. Delay the onset of the envelope.7Connect releaseNode (or end) to first node of envelope.                    None Quaternary function.Ternary function.Binary function.Unary function.ZA class indicating a monad that will generate a sequence of unique integer identifiers.Unary UId lift.Binary UId lift.Ternary UId lift.Quaternary UId lift.*Clone a unit generator (mce . replicateM).  !  !   ! Safe-Inferred"9Oscillator constructor with constrained set of operating Ns.#Oscillator constructor with V.$0Oscillator constructor, rate restricted variant.%;Rate restricted oscillator constructor, setting identifier.&+Oscillator constructor, setting identifier.' Provided  variant of (.(9Variant oscillator constructor with MCE collapsing input.)9Variant oscillator constructor with MCE collapsing input.*Rate constrained filter k constructor.+Filter UGen constructor.,Filter UGen constructor.-Filter k constructor..Filter UGen constructor./ Provided  filter with  input.05Variant filter constructor with MCE collapsing input.15Variant filter constructor with MCE collapsing input.25Variant filter constructor with MCE collapsing input.31Information unit generators are very specialized."#$%&'()*+,-./0123"#$%&'()*+,-./0123"#$%&'()*+,-./0123"#$%&'()*+,-./0123 Safe-Inferred4AEmulation of the sound generation hardware of the Atari TIA chip.5POKEY Chip Sound Simulator45454545 Safe-InferredC(-1,+1)6789:;<=>?@ABCDEF6789:;<=>?@ABCDEF6789:;<=>?@ABCDEF6789:;<=>?@ABCDEF Safe-InferredGForward wavelet transform.H Inverse of G.I%Pass wavelets above a threshold, ie.  pv_MagAbove.JPass wavelets with scale above threshold.KPass wavelets with time above threshold.L Product in W domain, ie. pv_Mul.GHIJKLGHIJKLGHIJKLGHIJKL Safe-Inferred!M of ;.N8Lookup operator name for operator UGens, else UGen name.O"Depth first traversal of graph at u applying f to each node.PRight fold of UGen graph.QControl input node constructor.RControl input node constructor.=Note that if the name begins with a t_ prefix the control is not0 converted to a triggered control. Please see U.S Variant of R with meta data.T.Triggered (kr) control input node constructor.U.Triggered (kr) control input node constructor.V"Set indices at a list of controls.W%Multiple root graph node constructor.X*Multiple channel expansion for two inputs.Y'Extract two channels from possible MCE.Z*Multiple channel expansion for two inputs.[5Apply a function to each channel at a unit generator.\*Apply UGen list operation on MCE contents.]!Reverse order of channels at MCE.^Obtain indexed channel at MCE._?Transpose rows and columns, ie. {{a,b},{c,d}} to {{a,c},{b,d}}.`0Collapse mce by summing (see also mix and mixN).aSeparate first list element. *sep_first "astring" == Just ('a',"string")bSeparate last list element. )sep_last "stringb" == Just ("string",'b')cGiven unmce" function make halt mce transform.dBThe halt MCE transform, ie. lift channels of last input into list. .halt_mce_transform [1,2,mce2 3 4] == [1,2,3,4]eLift a I to a UGen label (ie. for poll).fAre lists of equal length? Jequal_length_p ["t1","t2"] == True equal_length_p ["t","t1","t2"] == Falseg,Unpack a label to a length prefixed list of cs. There is a special case for mce nodes, but it requires labels to be equal length. Properly, pollG would not unpack the label, it would be done by the synthdef builder.qSUGen primitive. Sees through Proxy and MRG, possible multiple primitives for MCE.r#Heuristic based on primitive name (FFT, PV_). Note that IFFT is at control rate, not PV rate.s Variant on primitive_is_pv_rate.tTraverse input graph until an FFT or PV_SplitT node is encountered, and then locate the buffer input. Biases left at MCE nodes. import Sound.SC3 let z = soundIn 4 let f1 = fft 10 z 0.5 0 1 0 let f2 = ffta 'a' 1024 z 0.5 0 1 0 pv_track_buffer (pv_BrickWall f1 0.5) == Right 10 pv_track_buffer (pv_BrickWall f2 0.5) == Right (localBuf 'a' 1024 1)uGBuffer node number of frames. Biases left at MCE nodes. Sees through LocalBuf, otherwise uses  bufFrames. buffer_nframes 10 == bufFrames IR 10 buffer_nframes (control KR "b" 0) == bufFrames KR (control KR "b" 0) buffer_nframes (localBuf '' 2048 1) == 2048vt then u.*MNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv*MNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv*MNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv*MNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv Safe-Inferred9w4-tuple to count s.{0Type to represent nodes in unit generator graph.A connection from  to .A destination port.MType to represent the left hand side of an edge in a unit generator graph.5Enumeration of the four operating rates for controls.'Type to represent unit generator graph. Port index.Node identifier.Find { with indicated .Generate a label for { using the type and the .Get  for , else 0.Is { a constant.Is { a control.Is { a UGen.#Calculate all edges given a set of . Transform { to .Locate { of  in . The empty .Find the maximum  used at  (this ought normally be the ).Compare  values J .!Determine class of control given N and trigger status.Predicate to determine if { is a constant with indicated value.Insert a constant { into the .Either find existing  {, or insert a new {.Predicate to determine if { is a control with indicated name. Names must be unique.Insert a control node into the .Either find existing  {, or insert a new {.4Predicate to locate primitive, names must be unique. Insert a  primitive  into the .Either find existing { node, or insert a new {.'Proxies do not get stored in the graph. Transform k into , appending to existing . Transform mce nodes to mrg nodes:If controls have been given indices they must be coherent. Variant on - starting with an empty graph, reverses the k list and sorts the  list, and adds implicit nodes. Determine  of a control UGen at  , or not.Map associating  with UGen index.Lookup % index from map (erroring variant of A). Generate x2 translating node identifiers to synthdef indexes.)Locate index in map given node identifer .|Controls are a special case. We need to know not the overall index but the index in relation to controls of the same type.Count the number of controls of each .Construct implicit control unit generator NodesZ. Unit generators are only constructed for instances of control types that are present. Add implicit control UGens to .6Zero if no local buffers, or if maxLocalBufs is given. Add implicit  maxLocalBufs if not present. and .Is { an implicit control UGen?Is Node implicit?Remove implicit UGens from Is  .List of  at e with multiple out edges.Descendents at  of {.List PV {s at  with multiple out edges.Error if graph has invalid PV& subgraph, ie. multiple out edges at PV node not connecting to  Unpack1FFT & PackFFT.(Transform a unit generator into a graph. Limport Sound.SC3.UGen ugen_to_graph (out 0 (pan2 (sinOsc AR 440 0) 0.5 0.1))bwxyz{|}~bwxyz{|}~g{|}~zyxw>wxyz{|}~None Construct Input& form required by byte-code generator. Byte-encode  primitive node.)Construct instrument definition bytecode.None Safe-Inferred Transform  to , K for other { types. Ylet r = (NodeK 8 KR Nothing "k_8" 0.1 K_KR,9) in constant_to_control 8 (NodeC 0 0.1) == rErroring variant of .If the  is a constant generate a control {, else retain .Lift a set of  inputsG from constants to controls. The result triple gives the incremented , the transformed , list, and the list of newly minted control {s. Safe-InferredCollect Ids at UGen graphApply f at , or no-op at .Add idHash of e to all o at u. Variant of I with subsequent identifiers derived by incrementing initial identifier.Make n parallel instances of k with protected identifiers. variant of .-Left to right UGen function composition with  protection.Make n sequential instances of f with protected Ids.  Safe-Inferredw Audio to control rate converter.FIXME: APF purpose.-All pass delay line with cubic interpolation..All pass delay line with linear interpolation.*All pass delay line with no interpolation.,Basic psychoacoustic amplitude compensation.EBasic psychoacoustic amplitude compensation (ANSI A-weighting curve).Amplitude follower(Undocumented class)All Pass FilterBand Pass FilterBand reject filter512db/oct rolloff - 2nd order resonant Hi Pass FilterHi Shelf512db/oct rolloff - 2nd order resonant Low Pass Filter Low Shelf&2nd order Butterworth bandpass filter.Two zero fixed midpass.Parametric equalizer)2nd order Butterworth band reject filter.Two zero fixed midcut.Stereo signal balancer!physical model of bouncing objectAutocorrelation beat trackerTemplate matching beat tracker 2D Ambisonic B-format panner. 7Apply a binary operation to the values of an input UGen  Band limited impulse oscillator. (Undocumented class)  Brown Noise.:Buffer based all pass delay line with cubic interpolation.;Buffer based all pass delay line with linear interpolation.7Buffer based all pass delay line with no interpolation.2Current number of channels of soundfile in buffer.6Buffer based comb delay line with cubic interpolation.7Buffer based comb delay line with linear interpolation.3Buffer based comb delay line with no interpolation.8Buffer based simple delay line with cubic interpolation.9Buffer based simple delay line with linear interpolation.5Buffer based simple delay line with no interpolation.(Current duration of soundfile in buffer.1Current number of frames allocated in the buffer.4Buffer rate scaling in respect to server samplerate.Buffer reading oscillator.Buffer sample rate.$Current number of samples in buffer.Buffer writing oscillator.Chorusing wavetable oscillator. .Test for infinity, not-a-number, and denormals!'Clip a signal outside given thresholds." Clip Noise.#Statistical gate.$)Comb delay line with cubic interpolation.%*Comb delay line with linear interpolation.&&Comb delay line with no interpolation.'+Compressor, expander, limiter, gate, ducker(,Compressor, expander, limiter, gate, ducker.)Duration of one block*Server control rate.+Real-time convolver.,!Real-time fixed kernel convolver.--Real-time convolver with linear interpolation.Time based convolver./Chaotic noise function.0Cusp map chaotic generator1Cusp map chaotic generator2"Create a constant amplitude signal3(Demand rate brownian movement generator.4Buffer read demand ugen5Buffer write demand ugen6Exponential decay7Exponential decay82D Ambisonic B-format decoder.9Convert signal to modal pitch.:%Tap a delay line from a DelTapWr UGen;%Write to a buffer for a DelTapRd UGen<Single sample delay.=Two sample delay.>+Simple delay line with cubic interpolation.?,Simple delay line with linear interpolation.@(Simple delay line with no interpolation.A&Demand results from demand rate UGens.BDemand rate envelope generatorCSearch a buffer for a valueD9When input falls below a threshhold, evaluate doneAction.E"Demand rate geometric series UGen.F(Demand rate brownian movement generator.GStream in audio from a file.HRecord to a soundfile to disk.I)Demand rate white noise random generator.J(Undocumented class)K0Monitors another UGen to see when it is finishedL4Print the current output value of a demand rate UGenM&Demand rate random sequence generator.Ndemand rate resetODemand rate sequence generator.PDemand rate sequence generator.Q#Demand rate arithmetic series UGen.R%Demand rate random sequence generatorSDemand rate input replicatorT4Demand rate generator for embedding different inputsU3Demand rate generator for switching between inputs.VBReturn the same unique series of values for several demand streamsWRandom impulses.XRandom impulses.Y&Demand results from demand rate UGens.Z)Demand rate white noise random generator.[Demand rate weighted random sequence generator dwrand :: ID a => a -> UGen -> UGen -> UGen -> UGen dwrand z repeats weights list_ = mkUGen Nothing [DR] (Left DR) Dwrand7 [repeats,weights] (Just list_) 1 (Special 0) (toUId z)&Demand rate random sequence generator.\Envelope generator]+Exponential single random number generator.^)Feedback sine with chaotic phase indexing_)Feedback sine with chaotic phase indexing`)Feedback sine with chaotic phase indexingaFast Fourier TransformbFirst order filter section.cFast sine oscillator.d'Fold a signal outside given thresholds.eFormant oscillatorfFOF-like filter.gWhen triggered, frees a node.h%When triggered, free enclosing synth.i0Free the enclosing synth when a UGen is finishedjA reverbkA two-channel reverblFrequency Shifter.mA two-channel reverbn Gate or hold.o$Gingerbreadman map chaotic generatorp$Gingerbreadman map chaotic generatorq'Dynamic stochastic synthesis generator.r'Dynamic stochastic synthesis generator.s'Dynamic stochastic synthesis generator.t0Granular synthesis with sound stored in a bufferu6Granular synthesis with frequency modulated sine tonesvGranulate an input signalw"Granular synthesis with sine tonesx Gray Noise.y&2nd order Butterworth highpass filter.zTwo point difference filter{Two zero fixed midcut.|Randomized value.}Henon map chaotic generator~Henon map chaotic generatorHenon map chaotic generator1Applies the Hilbert transform to an input signal.1Applies the Hilbert transform to an input signal.1Envelope generator for polling values from an EnvInverse Fast Fourier Transform'Single integer random number generator.Impulse oscillator.Read a signal from a bus.ARead signal from a bus with a current or one cycle old timestamp.*Tests if a signal is within a given range.,Test if a point is within a given rectangle.(Generate a trigger anytime a bus is set. Index into a table with a signal_Finds the (lowest) point in the Buffer at which the input signal lies in-between the two values5Index into a table with a signal, linear interpolatedBase class for info ugensA leaky integrator. Control to audio rate converter.Respond to the state of a key Key trackerSine oscillator bankBank of resonators Clipped noise*A sine like shape made of two cubic piecesDynamic clipped noiseDynamic step noiseDynamic ramp noiseDynamic cubic noiseGaussian function oscillator Step noise Ramp noiseQuadratic noise.Parabolic oscillatorpulse oscillatorSawtooth oscillatorTriangle oscillator$2nd order Butterworth lowpass filterTwo point average filterTwo zero fixed lowpassExponential lagExponential lagExponential lagExponential lagExponential lag+Read a control signal from a bus with a lagExponential lag.Output the last value before the input changedSample and holdLatoocarfian chaotic generatorLatoocarfian chaotic generatorLatoocarfian chaotic generator Remove DCOutput least changed Peak limiter%Linear congruential chaotic generator%Linear congruential chaotic generator%Linear congruential chaotic generator*Map a linear range to an exponential rangeTwo channel linear pan.Skewed random number generator.Two channel linear crossfade.Line generator.!Simple linear envelope generator.$Allocate a buffer local to the synth,Define and read from buses local to a synth. Write to buses local to a synth.Chaotic noise functionLorenz chaotic generator-Extraction of instantaneous loudness in sones#Mel frequency cepstral coefficientsReduce precision.Median filter.Parametric filter.6Minimum difference of two values in modulo arithmetics5Moog VCF implementation, designed by Federico FontanaOutput most changed.Mouse button UGen.Cursor tracking UGen.Cursor tracking UGen.Sum of uniform distributions.Flattens dynamics.Number of audio busses.Number of open buffers.Number of control busses.Number of input busses.Number of output busses.#Number of currently running synths.4Write a signal to a bus with sample accurate timing.One pole filter.One zero filter.Onset detector#Interpolating wavetable oscillator.&Noninterpolating wavetable oscillator.Write a signal to a bus..Very fast sine grain with a parabolic envelopeComplex addition.Scramble bins.Shift and stretch bin position.*Combine low and high bins from two inputs. Zero bins.*Base class for UGens that alter FFT chainsComplex plane attack.Complex conjugateCopy an FFT bufferCopy magnitudes and phases.Random phase shifting.Complex divisionFFT onset detector.)FFT feature detector for onset detection.$Pass bins which are a local maximum.Pass bins above a threshold.Pass bins below a threshold.Clip bins to a threshold.Division of magnitudesFreeze magnitudes.Multiply magnitudes.Multiply magnitudes by noise.)shift and stretch magnitude bin position.Average magnitudes across bins.Square magnitudes.Maximum magnitude.Minimum magnitude.Complex multiply. Shift phase.Shift phase by 270 degrees.Shift phase by 90 degrees.Pass random bins.Crossfade in random bin order.Make gaps in spectrum.Make gaps in spectrum.Two channel equal power pan.Four channel equal power pan.Azimuth pannerAmbisonic B-format panner.2D Ambisonic B-format panner.!Real-time partitioned convolutionWhen triggered, pauses a node.&When triggered, pause enclosing synth. !FIXME: PauseSelfWhenDone purpose. Track peak signal amplitude. Track peak signal amplitude. ,A resettable linear ramp between two levels.  Pink Noise.Autocorrelation pitch followerTime domain pitch shifter.Sample playback oscillator.A Karplus-Strong UGenPrint the current output value of a UGen poll :: UGen -> UGen -> UGen -> UGen -> UGen poll trig_ in_ label_ trigid = mkUGen Nothing [KR,AR] (Right [1]) Poll5 [trig_,in_,label_,trigid] Nothing 1 (Special 0) NoIdBand limited pulse wave.Pulse counter.Pulse divider.'General quadratic map chaotic generator'General quadratic map chaotic generator'General quadratic map chaotic generatorA resonant high pass filter.A resonant low pass filter.Number of radians per sample.,Break a continuous signal into line segmentsSingle random number generator.$Set the synth's random generator ID.'Sets the synth's random generator seed. Record or overdub into a Buffer. 4Send signal to a bus, overwriting previous contents.!Resonant filter."Ringing filter.#Rotate a sound field.$Track maximum level.%Track minimum level.&Running sum over n frames'%Second order filter section (biquad).(Duration of one sample.)Server sample rate.*Band limited sawtooth.+Schmidt trigger.,FIXME: ScopeOut purpose.-(Undocumented class).&Select output from an array of inputs./:Send a trigger message from the server back to the client.0Set-reset flip flop.1 Wave shaper.2(Interpolating sine wavetable oscillator.3Feedback FM oscillator4Slew rate limiter.5Slope of signal6Spectral centroid7Spectral Flatness measure8+Find a percentile of FFT magnitude spectrum9#physical model of resonating spring:Standard map chaotic generator;Standard map chaotic generator<Pulse counter.=4Stereo real-time convolver with linear interpolation>*Offset from synth start within one sample.?Sum three signals@Sum four signalsATriggered linear rampBHard sync sawtooth wave.C4Control rate trigger to audio rate trigger converterD4Audio rate trigger to control rate trigger converterE!physical model of bouncing objectFTrigger delay.G1Demand results as trigger from demand rate UGens.H.Triggered exponential random number generator.IBuffer granulator.J*Triggered integer random number generator.K"Triggered random number generator.LTriggered windex.M"Returns time since last triggered.NToggle flip flop.OTimed trigger.PTimed trigger.QFIXME: TrigControl purpose.RTwo pole filter.STwo zero filter.T6Apply a unary operation to the values of an input ugenU/Stream in audio from a file, with variable rateVVariable wavetable oscillator.W%Three variable wavetable oscillators.XVariable shaped lagYVariable duty sawZ:The Vibrato oscillator models a slow frequency modulation.[!Warp a buffer with a time pointer\ White noise.](Undocumented class)^'Wrap a signal outside given thresholds._!Index into a table with a signal.`#Equal power two channel cross fade.aExponential line generator.b9Send signal to a bus, crossfading with previous contents.c Zero crossing frequency followerdLocalBuf counte Multiply addfSet local bufferw      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefw      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefw      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefw      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef! Safe-InferredgZero local buffer.HClearBuf does not copy the buffer number through so this is an MRG node.h/Demand rate weighted random sequence generator.iOutputs signal for FFT chains, without performing FFT.j3Pack demand-rate FFT bin streams into an FFT chain.k(Poll value of input UGen when triggered.lHSend a reply message from the server back to the all registered clients.m<Unpack a single value (magnitude or phase) from an FFT chainghijklmghijklmghijklmghijklm"None-nBuffer demand ugen.o&Buffer write on demand unit generator.pDemand rate white noise.q Demand rate integer white noise.rDemand rate brown noise.s Demand rate integer brown noise.tDemand rate random selection.u/Demand rate weighted random sequence generator.v:Demand rate random selection with no immediate repetition.wDemand rate arithmetic series.xDemand rate geometric series.yDemand rate sequence generator.zDemand rate series generator.{Demand rate sequence shuffler.|Demand input replication}Demand rate input switching.~Demand rate input switching.Randomize order of bins.Randomly clear bins.)Cross fade, copying bins in random order. Brown noise. Clip noise. Randomly pass or block triggers.Random impulses in (-1, 1).Random impulse in (0,1).)Random value in exponential distribution. Gray noise.'Random integer in uniform distribution. Clip noise.Dynamic clip noise.Dynamic step noise.Dynamic ramp noise.Dynamic cubic noise Step noise. Ramp noise.Quadratic noise.+Random value in skewed linear distribution.-Random value in sum of n linear distribution. Pink noise.%Random value in uniform distribution.4Random value in exponential distribution on trigger.2Random integer in uniform distribution on trigger.0Random value in uniform distribution on trigger.Triggered windex. White noise.-nopqrstuvwxyz{|}~-nopqrstuvwxyz{|}~-nopqrstuvwxyz{|}~-nopqrstuvwxyz{|}~# Safe-Inferredrandom walk steprandom walk linear interprandom walk cubic interp$ Safe-InferredGBand limited impulse generationBLIT derived sawtooth$Bipolar BLIT derived square waveformBipolar BLIT derived triangle;Triangle via 3rd order differerentiated polynomial waveform;Sawtooth via 4th order differerentiated polynomial waveformSingle gammatone filterSimple cochlear hair cell modelMeddis cochlear hair cell model;Emulation of AY (aka YM) soundchip, used in Spectrum/Atari.@Convert frequency value to value appropriate for AY tone inputs.*An amplitude tracking based onset detectorWindowed amplitude follower#Impulses around a certain frequencyString resonance filter"Triggered beta random distributionTriggered random walk generator&Triggered gaussian random distributionConcatenative cross-synthesis.(Concatenative cross-synthesis (variant).FM-modulable resonating filter7Ring modulation based on the physical model of a diode.0Demand rate implementation of a Wiard noise ringalgorithmic delayaRaw version of the JPverb algorithmic reverberator, designed to produce long tails with chorusing Brown noise.Plucked physical model.*Resynthesize sinusoidal ATS analysis data.=Resynthesize sinusoidal and critical noise ATS analysis data."Granular synthesis with FM grains.=Granular synthesis with FM grains and user supplied envelope.Resynthesize LPC analysis data.0Extract cps, rmso and err signals from LPC data. Metronome)Delay and Feedback on a bin by bin basis.#Play FFT data from a memory buffer.dur and hop are in seconds,  frameSize and  sampleRate0 in frames, though the latter maybe fractional. <pv_calcPVRecSize 4.2832879818594 1024 0.25 48000.0 == 823299Invert FFT amplitude data.$Plays FFT data from a memory buffer.$Records FFT data to a memory buffer.Sample looping oscillator@Detect the largest value (and its position) in an array of UGensADetect the smallest value (and its position) in an array of UGens@Detect the largest value (and its position) in an array of UGens@Detect the largest value (and its position) in an array of UGens3D Perlin Noise-Wave squeezer. Maybe a kind of pitch shifter.2Triangular waveguide mesh of a drum-like membrane.2Triangular waveguide mesh of a drum-like membrane.Spectral Modeling SynthesisTracking Phase VocoderTartini model pitch tracker.$Constant Q transform pitch follower.8Calculates mean average of audio or control rate signal.@Feedback delay line implementing switch-and-ramp buffer jumping.yOctave chroma band based representation of energy in a signal; Chromagram for nTET tuning systems with any base reference#Phase modulation oscillator matrix.Prigogine oscillatorForced DoubleWell OscillatorEnvelope Follower FilterEnvelope Follower-Linear Time Invariant General Filter Equation'Experimental time domain onset detectorwave terrain synthesisSTK bowed string model.STK flute model.STK mandolin model.STK modal bar models.STK shaker models. Digitally modelled analog filter!Vocal simulation due to W. Kaegi.GGGG5None !"#$%&'()*+,-./0123456789456789:;<=>?@ABCDEF% Safe-Inferred.The default show is odd, 0.05 shows as 5.0e-2.+Print as integer if integral, else as real.Print constants and labels directly, primitives as un-adorned names, mce as [p,q], mrg as p&q, contols as nm=def and proxies as u@n.& Safe-Inferred+Ternary operator class.Binary operator class. Unary operator class. Amap (floor . (* 1e4) . dbAmp) [-90,-60,-30,0] == [0,10,316,10000] Variant of L with non M results.%HVariant on Ord class, result is of the same type as the values compared.*GVariant on Eq class, result is of the same type as the values compared.-Pseudo-infinite constant UGen..9True is conventionally 1. The test to determine true is > 0./False is conventionally 0.0Lifted N. ;sc3_not sc3_true == sc3_false sc3_not sc3_false == sc3_true1 Translate O to . and /.2Lift comparison function.3Lifted P.4Lifted Q.5Lifted #.6Lifted R.7Lifted S.8Lifted T.9 Variant of SC3 roundTo function. \let r = [0,0,0.25,0.25,0.5,0.5,0.5,0.75,0.75,1,1] in map (`roundTo_` 0.25) [0,0.1 .. 1] == r<Association table for + to haskell function implementing operator.=A < via U.>Association table for )+ to haskell function implementing operator.?A > via U.Ek form or 9.Fk form of #.G1 form of .H1 form of  .SThe SC3 % operator is the V function. ]> 1.5 % 1.2 // ~= 0.3 > -1.5 % 1.2 // ~= 0.9 > 1.5 % -1.2 // ~= -0.9 > -1.5 % -1.2 // ~= -0.3 1.5 `fmod_f32` 1.2 -- ~= 0.3 (-1.5) `fmod_f32` 1.2 -- ~= 0.9 1.5 `fmod_f32` (-1.2) -- ~= -0.9 (-1.5) `fmod_f32` (-1.2) -- ~= -0.3 Y> 1.2 % 1.5 // ~= 1.2 > -1.2 % 1.5 // ~= 0.3 1.2 % -1.5 // ~= -0.3 -1.2 % -1.5 // ~= -1.2 1.2 `fmod_f32` 1.5 -- ~= 1.2 (-1.2) `fmod_f32` 1.5 -- ~= 0.3 1.2 `fmod_f32` (-1.5) -- ~= -0.3 (-1.2) `fmod_f32` (-1.5) -- ~= -1.2TWrap k to within range (i,j), ie. AbstractFunction.wrap. 9> [5,6].wrap(0,5) == [5,0] map (wrap' 0 5) [5,6] == [5,0] s> [9,10,5,6,7,8,9,10,5,6].wrap(5,10) == [9,10,5,6,7,8,9,10,5,6] map (wrap' 5 10) [3..12] == [9,10,5,6,7,8,9,10,5,6]UGeneric variant of T. ?> [5,6].wrap(0,5) == [5,0] map (genericWrap 0 5) [5,6] == [5,0] > [9,10,5,6,7,8,9,10,5,6].wrap(5,10) == [9,10,5,6,7,8,9,10,5,6] map (genericWrap (5::Integer) 10) [3..12] == [9,10,5,6,7,8,9,10,5,6]V Variant of T with SC3 argument ordering. <map (\n -> wrap_ n 5 10) [3..12] == map (wrap' 5 10) [3..12]WFold k to within range (i,j), ie. AbstractFunction.fold 8map (foldToRange 5 10) [3..12] == [7,6,5,6,7,8,9,10,9,8]X Variant of W with SC3 argument ordering.YClip k to within range (i,j), 4map (clip' 5 10) [3..12] == [5,5,5,6,7,8,9,10,10,10]Z Variant of Y with SC3 argument ordering.\(Calculate multiplier and add values for linLin transform. range_muladd 3 4 == (0.5,3.5) linLin_muladd (-1) 1 3 4 == (0.5,3.5) linLin_muladd 0 1 3 4 == (1,3) linLin_muladd (-1) 1 0 1 == (0.5,0.5)]2Map from one linear range to another linear range.^Variant without  constraint._1Scale uni-polar (0,1) input to linear (l,r) range 'map (urange 3 4) [0,0.5,1] == [3,3.5,4]`Variant without  constraint.a(Calculate multiplier and add values for b transform. range_muladd 3 4 == (0.5,3.5)beScale bi-polar (-1,1) input to linear (l,r) range. Note that the argument order is not the same as linLin. lmap (range 3 4) [-1,0,1] == [3,3.5,4] map (\x -> let (m,a) = linLin_muladd (-1) 1 3 4 in x * m + a) [-1,0,1]cVariant without  constraint.      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}{      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc-./0123456789:;<=>?*+,}|{zyxw%&'()vutsrqp@ABCD !"#$onEmFGHIJKLMNOP     lkjQRSihgfedTUVWXYZ[\]^_`abcW      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}'NoneB~4Generate a localBuf and use setBuf to initialise it.3Calculate coefficients for bi-quad low pass filter.!Buffer reader (no interpolation).%Buffer reader (linear interpolation).$Buffer reader (cubic interpolation).Triggers when a value changes variant of . of .g of .Demand rate (:) function.Demand rate (:) function.+Dynamic klang, dynamic sine oscillator bank3Dynamic klank, set of non-fixed resonating filters.xVariant FFT constructor with default values for hop size (0.5), window type (0), active status (1) and window size (0).a variant that allocates . Llet c = ffta '' 2048 (soundIn 0) 0.5 0 1 0 in audition (out 0 (ifft c 0 0))Sum of  and .Frequency shifter, in terms of  (see also l).0Variant ifft with default value for window type.AFormat frequency, amplitude and phase data as required for klang. Variant of  for non-UGen inputs. Variant of  for MCE inputs.FFormat frequency, amplitude and decay time data as required for klank.Variant for non-UGen inputs. Variant of  for MCE inputs.=Randomly select one of a list of UGens (initialiastion rate). of . of (-1,1). of (0,1).2Map from one linear range to another linear range. where source is (0,1). where source is (-1,1).Variant with defaults of zero. Generate an \ UGen with fadeTime and gate controls. oimport Sound.SC3 audition (out 0 (makeFadeEnv 1 * sinOsc AR 440 0 * 0.1)) withSC3 (send (n_set1 (-1) "gate" 0))Count  channels.!Collapse possible mce by summing.Mix variant, sum to n channels.!Construct and sum a set of UGens.Monad variant on mixFill.!Variant that is randomly pressed. Randomised mouse UGen (see also  and ).1Variant that randomly traverses the mouseX space.1Variant that randomly traverses the mouseY space.3Translate onset type string to constant UGen value.8Onset detector with default values for minor parameters.=Format magnitude and phase data data as required for packFFT.=Calculate size of accumulation buffer given FFT and IR sizes.PM oscillator. Variant of k that generates an B value with the input signal at left, and that allows a constant  frequency input in place of a trigger. Variant of ) offset so zero if the first private bus. Variant of ) offset so zero if the first private bus.Apply function f to each bin of an FFT chain, fF receives magnitude, phase and index and returns a (magnitude,phase).RMS variant of &. Mix one output from many sourcesSet local buffer values.Silence.Zero indexed audio input buses..Pan a set of channels across the stereo field.Optimised sum function.Single tap into a delayline1Randomly select one of several inputs on trigger.&Randomly select one of several inputs.<Randomly select one of several inputs on trigger (weighted).1Randomly select one of several inputs (weighted).>Unpack an FFT chain into separate demand-rate FFT bin streams.If z isn't a sink node route to an out node writing to bus. If fadeTime is given multiply by . cimport Sound.SC3 audition (wrapOut (sinOsc AR 440 0 * 0.1) 1) withSC3 (send (n_set1 (-1) "gate" 0)).An oscillator that reads through a table once.C~C~C~C~( Safe-InferredConstant form of rand UGen.Constant form of iRand UGen. Optimise k graph by re-writing rand and iRand UGens that have  inputs. This, of course, changes the nature of the graph, it is no longer randomised at the server. It's a useful transformation for very large graphs which are being constructed and sent each time the graph is played. import Sound.SC3.UGen.Dot Rlet u = sinOsc AR (rand 'a' 220 440) 0 * 0.1 in draw (u + ugen_optimise_ir_rand u) Optimise k, graph by re-writing binary operators with b inputs. The standard graph constructors already do this, however subsequent optimisations, ie. - can re-introduce these sub-graphs, and the Plain& graph constructors are un-optimised. let u = constant u 5 * u 10 == u 50 u 5 ==* u 5 == u 1 u 5 >* u 4 == u 1 u 5 <=* u 5 == u 1 abs (u (-1)) == u 1 u 5 / u 2 == u 2.5 let {u = lfPulse AR (2 ** rand '' (-9) 1) 0 0.5 ;u' = ugen_optimise_ir_rand u} in draw (mix (mce [u,u',ugen_optimise_const_operator u']))) Safe-InferredGenerate a reconstruction of a . import Sound.SC3.ID let {k = control KR "bus" 0 ;o = sinOsc AR 440 0 + whiteNoise 'a' AR ;u = out k (pan2 (o * 0.1) 0 1) ;m = mrg [u,out 1 (impulse AR 1 0 * 0.1)]} in putStrLn (reconstruct_graph_str (synth m))Discards index.* Safe-Inferred Variant of .;Construct unary operator, the name can textual or symbolic. uop True "NEG" AR 1<Construct binary operator, the name can textual or symbolic. }binop True "*" AR 1 2 == binop True "MUL" AR 1 2 binop False "*" AR (ugen "SinOsc" AR [440,0] 1) 0.1 == sinOsc AR 440 0 * 0.1Construct deterministic UGen. hlet o = ugen "SinOsc" AR [440,0] 1 o == sinOsc AR 440 0 ugen "Out" AR [0,o] 0 == out 0 (sinOsc AR 440 0)!Construct non-deterministic UGen. Yimport Sound.SC3.ID nondet "WhiteNoise" (UId (fromEnum 'a')) AR [] 1 == whiteNoise 'a' AR6Noneo !"#$%&'()*+,-./0123456789456789:;<=>?@ABCDEF      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~~+NoneParameters for ASR envelopes.+Parameters for Roland type ADSSR envelopes.]Parameters for ADSR envelopes. The sustain level is given as a proportion of the peak level.Parameters for LINEN envelopes.,Co-ordinate based static envelope generator. slet e = envCoord [(0,0),(1/4,1),(1,0)] 1 1 EnvLin in envelope_sc3_array e == Just [0,2,-99,-99,1,1/4,1,0,0,3/4,1,0]7Trapezoidal envelope generator. The arguments are: 1. shape1 determines the sustain time as a proportion of durA, zero is a triangular envelope, one a rectangular envelope; 2. skew determines the attack/decay ratio, zero is an immediate attack and a slow decay, one a slow attack and an immediate decay; 3. duration in seconds; 4.  amplitude as linear gain.Variant ( with user specified 'Envelope_Curve a'.EPercussive envelope, with attack, release, level and curve inputs.4Triangular envelope, with duration and level inputs. \let e = envTriangle 1 0.1 in envelope_sc3_array e = Just [0,2,-99,-99,0.1,0.5,1,0,0,0.5,1,0].Sine envelope, with duration and level inputs. Wlet e = envSine 0 0.1 in envelope_sc3_array e == Just [0,2,-99,-99,0.1,0,3.0,0,0,0,3,0]Record ( ) variant of . Variant of ( with user specified 'Envelope_Curve a'.&Linear envelope parameter constructor. let {e = envLinen 0 1 0 1 ;s = envelope_segments e ;p = pack_envelope_segments s} in p == (env_levels e,env_times e,env_curves e)?Attack, decay, sustain, release envelope parameter constructor.Record ( ) variant of .FAttack, decay, slope, sustain, release envelope parameter constructor.Record ( ) variant of .8Attack, sustain, release envelope parameter constructor. jlet {c = 3 ;r = Just [0,2,1,-99,0.1,3,c,0,0,2,c,0]} in envelope_sc3_array (envASR 3 0.1 2 EnvSin) == r Record ( ) variant of . "All segments are horizontal lines. Singleton fade envelope. -Variant with default values for all inputs. gate and fadeTime are Rs,  doneAction is , curve is .4    4    4         7None!:;<BCDEFGHIJKNOPQRSTUVW      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     MNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc    ,None The SC3 default instrument k graph.A Gabor grain, envelope is by .A sine grain, envelope is by \ of .!Trivial file playback instrument.If use_gate is / there is a gated parameter and the synth ends either when the sound file ends or the gate closes, else there is a sustain\ parameter to indicate the duration. In both cases a linear envelope with a decay time of decay is applied.The rdelay parameter sets the maximum pre-delay time (in seconds), each instance is randomly pre-delayed between zero and the indicated time. The  ramplitude5 parameter sets the maximum amplitude offset of the ampV parameter, each instance is randomly amplified between zero and the indicated value.    -None A named unit generator graph.Lift a k graph into a .The SC3 default instrument , see  . @withSC3 (send (d_recv defaultSynthdef)) audition defaultSynthdefThe SC3 default% sample (buffer) playback instrument , see . NwithSC3 (send (d_recv (defaultSampler False))) audition (defaultSampler False) of .Parameter names at . 0synthdefParam def == ["amp","pan","gate","freq"]&Find the indices of the named UGen at %. The index is required when using 89.graph_to_graphdef at .Encode  as a binary data stream.Write / to indicated directory. The filename is the ! with the appropriate extension (scsyndef).6Simple statistical analysis of a unit generator graph. of synth.    .None !8Install a bytecode instrument definition. (Asynchronous)"?Load an instrument definition from a named file. (Asynchronous)#@Load a directory of instrument definitions files. (Asynchronous)$NAllocates zero filled buffer to number of channels and samples. (Asynchronous)%;Allocate buffer space and read a sound file. (Asynchronous)&VAllocate buffer space and read a sound file, picking specific channels. (Asynchronous)' Free buffer data. (Asynchronous)(EClose attached soundfile and write header information. (Asynchronous))<Read sound file data into an existing buffer. (Asynchronous)*<Read sound file data into an existing buffer. (Asynchronous)+%Write sound file data. (Asynchronous), Zero sample data. (Asynchronous) W!"#$%&'()*+, !"#$%&'()*+, !"#$%&'()*+, W!"#$%&'()*+,/NoneP-NAllocates zero filled buffer to number of channels and samples. (Asynchronous).;Allocate buffer space and read a sound file. (Asynchronous)/VAllocate buffer space and read a sound file, picking specific channels. (Asynchronous)0EClose attached soundfile and write header information. (Asynchronous)1Fill ranges of sample values.2 Free buffer data. (Asynchronous)30Call a command to fill a buffer. (Asynchronous)4Call sine1 3 command.5Call sine2 3 command.6Call sine3 3 command.7Call cheby 3 command.8Call copy 3 command.9Get sample values.:Get ranges of sample values.;Request /b_info messages.<<Read sound file data into an existing buffer. (Asynchronous)=WRead sound file data into an existing buffer, picking specific channels. (Asynchronous)>Set sample values.?Set ranges of sample values.@%Write sound file data. (Asynchronous)A Zero sample data. (Asynchronous)BFill ranges of bus values.CGet bus values.DGet ranges of bus values.ESet bus values.FSet ranges of bus values.G8Install a bytecode instrument definition. (Asynchronous)H8Install a bytecode instrument definition. (Asynchronous)I?Load an instrument definition from a named file. (Asynchronous)J@Load a directory of instrument definitions files. (Asynchronous)K5Remove definition once all nodes using it have ended.L5Free all synths in this group and all its sub-groups.MDelete all nodes in a group.NAdd node to head of group.OCreate a new group.PAdd node to tail of group.QlPost a representation of a group's node subtree, optionally including the current control values for synths.RoRequest a representation of a group's node subtree, optionally including the current control values for synths.Replies to the sender with a /g_queryTree.replyU message listing all of the nodes contained within the group in the following format: zint32 - if synth control values are included 1, else 0 int32 - node ID of the requested group int32 - number of child nodes contained within the requested group For each node in the subtree: [ int32 - node ID int32 - number of child nodes contained within this node. If -1 this is a synth, if >= 0 it's a group. If this node is a synth: symbol - the SynthDef name for this node. If flag (see above) is true: int32 - numControls for this synth (M) [ symbol or int: control name or index float or symbol: value or control bus mapping symbol (e.g. 'c1') ] * M ] * the number of nodes in the subtreeN.B. The order of nodes corresponds to their execution order on the server. Thus child nodes (those contained within a group) are listed immediately following their parent.SPlace a node after another.TPlace a node before another.U'Fill ranges of a node's control values.VDelete a node.X)Map a node's controls to read from buses.Y0Map a node's controls to read from an audio bus.Z/Map a node's controls to read from audio buses.[Get info about a node.\Turn node on or off.]Set a node's control values.^&Set ranges of a node's control values._ Trace a node.`"Move an ordered sequence of nodes.a1Create a new parallel group (supernova specific).bGet control values.cGet ranges of control values.dCreate a new synth.e-Auto-reassign synth's ID to a reserved value.f#Send a command to a unit generator.gSend a plugin command.h-Remove all bundles from the scheduling queue.i8Select printing of incoming Open Sound Control messages.j!Set error posting scope and mode.k9Select reception of notification messages. (Asynchronous)l0End real time mode, close file (un-implemented).mStop synthesis server.nRequest /status.reply message.oHRequest /synced message when all current asynchronous commands complete.pbAdd a completion message (or bundle, the name is misleading) to an existing asynchronous command. plet {m = n_set1 0 "0" 0 ;m' = encodeMessage m} in withCM (b_close 0) m == Message "/b_close" [Int 0,Blob m']q=Pre-allocate for b_setn1, values preceding offset are zeroed.rGet ranges of sample values.s Variant on ;.tSet single sample value.uSet a range of sample values.vGet ranges of sample values.wSet single bus values.xSet single range of bus values.y Set a single node control value.zs_new with no parameters.{Segment a request for m places into sets of at most n. Cb_segment 1024 2056 == [8,1024,1024] b_segment 1 5 == replicate 5 1| Variant of {* that takes a starting index and returns  (index,size) duples. fb_indices 1 5 0 == zip [0..4] (replicate 5 1) b_indices 1024 2056 16 == [(16,8),(24,1024),(1048,1024)]}FGenerate accumulation buffer given time-domain IR buffer and FFT size.Q-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}Q-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}Q-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}Q-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}0NoneO~NAllocates zero filled buffer to number of channels and samples. (Asynchronous);Allocate buffer space and read a sound file. (Asynchronous)VAllocate buffer space and read a sound file, picking specific channels. (Asynchronous)EClose attached soundfile and write header information. (Asynchronous) Free buffer data. (Asynchronous)0Call a command to fill a buffer. (Asynchronous)Call copy  command.Get sample values.Get ranges of sample values.Request /b_info messages.<Read sound file data into an existing buffer. (Asynchronous)WRead sound file data into an existing buffer, picking specific channels. (Asynchronous)%Write sound file data. (Asynchronous) Zero sample data. (Asynchronous)Fill ranges of bus values.Get bus values.Get ranges of bus values.Set bus values.Set ranges of bus values.8Install a bytecode instrument definition. (Asynchronous)8Install a bytecode instrument definition. (Asynchronous)?Load an instrument definition from a named file. (Asynchronous)@Load a directory of instrument definitions files. (Asynchronous)5Remove definition once all nodes using it have ended.5Free all synths in this group and all its sub-groups.Delete all nodes in a group.Add node to head of group.Create a new group.Add node to tail of group.lPost a representation of a group's node subtree, optionally including the current control values for synths.oRequest a representation of a group's node subtree, optionally including the current control values for synths.Place a node after another.Place a node before another.'Fill ranges of a node's control values.Delete a node.)Map a node's controls to read from buses.0Map a node's controls to read from an audio bus./Map a node's controls to read from audio buses.Get info about a node.Turn node on or off.Set a node's control values.&Set ranges of a node's control values. Trace a node."Move an ordered sequence of nodes.1Create a new parallel group (supernova specific).Get control values.Get ranges of control values.-Auto-reassign synth's ID to a reserved value.#Send a command to a unit generator.Send a plugin command.-Remove all bundles from the scheduling queue.8Select printing of incoming Open Sound Control messages.!Set error posting scope and mode.9Select reception of notification messages. (Asynchronous)0End real time mode, close file (un-implemented).Stop synthesis server.Request /status.reply message.HRequest /synced message when all current asynchronous commands complete.Get ranges of sample values. Variant on .Get ranges of sample values.Set single bus values.Set single range of bus values. Set a single node control value.s_new with no parameters.Segment a request for m places into sets of at most n. Cb_segment 1024 2056 == [8,1024,1024] b_segment 1 5 == replicate 5 1 Variant of ) that takes a starting index and returns  (index,size) duples. fb_indices 1 5 0 == zip [0..4] (replicate 5 1) b_indices 1024 2056 16 == [(16,8),(24,1024),(1048,1024)]Create a new synth.Fill ranges of sample values.Call sine1  command.Call sine2  command.Call sine3  command.Call cheby  command.Set sample values.Set ranges of sample values.=Pre-allocate for b_setn1, values preceding offset are zeroed.Set single sample value.Set a range of sample values.FGenerate accumulation buffer given time-domain IR buffer and FFT size.P~P~P~P~8NoneW~1None XInserts at the first position where it compares less but not equal to the next element. import Data.Function insertBy (compare `on` fst) (3,'x') (zip [1..5] ['a'..]) insertBy_post (compare `on` fst) (3,'x') (zip [1..5] ['a'..]) using X.Apply f at all but last element, and g at last element. )at_last (* 2) negate [1..4] == [2,4,6,-4](Merge two NRT scores. Retains internal  messages.&Merge a set of NRT. Retains internal  messages.The empty NRT.0Add bundle at first permissable location of NRT./Add bundle at last permissable location of NRT.5 of Y of ./Apply temporal and message functions to bundle.Delete any internal 0 messages, and require one at the final bundle.    2NoneParameters for recording scsynth.Sound file format.Sample format. File name.Number of channels. Bus number.ID of buffer to allocate.Number of frames at buffer.ID to allocate for node.Group to allocate node within.Recoring duration if fixed.Default recording structure. Generate " with required number of channels.Asyncronous initialisation 0s (, ~ and ). :withSC3 (sendBundle (bundle immediately (rec_init_m def)))Begin recording 0 (). 'withSC3 (sendMessage (rec_begin_m def))End recording 0s (,  and ). 9withSC3 (sendBundle (bundle immediately (rec_end_m def))) score for recorder, if  is given schedule . 3None1Class for values that can be encoded and sent to scsynth for audition. Synonym for Z.Send a 0 and [ for a /done reply.Bracket SC3 communication.Free all nodes ( ) at group 1.Free all nodes () at and re-create groups 1 and 2.Send  and  messages to scsynth. of .Send an  anonymous instrument definition using .Wait (\6) until bundle is due to be sent relative to initial ]6, then send each message, asynchronously if required. Perform an  score (as would be rendered by ,). In particular note that all timestamps must be in NTPr form.Turn on notifications, run f), turn off notifications, return result. Variant of . that waits for return message and unpacks it. (withSC3 (\fd -> b_getn1_data fd 0 (0,5)) Variant of  that segments individual  messages to n elements. 2withSC3 (\fd -> b_getn1_data_segment fd 1 0 (0,5)) Variant of  that gets the entire buffer."Collect server status information.#Read nominal sample rate of server."Read actual sample rate of server.!Retrieve status data from server.4None1Class for values that can be encoded and send to scsynth for audition. Variant where id is -1.  Synonym for ^. Send a 0 and _ for a /done reply. Bracket SC3 communication. ` at standard SC3 UDP port. import Sound.SC3.Server.Command 2withSC3 (send status >> waitReply "/status.reply") Free all nodes ( ) at group 1., free all nodes (") at, and then re-create, groups 1 and 2.Send  and  messages to scsynth.Send  and  messages to scsynth.Send an  anonymous instrument definition using .Wait (\:) until bundle is due to be sent relative to the initial ]6, then send each message, asynchronously if required. Perform an  score (as would be rendered by "). Asynchronous commands at time 0 are separated out and run before the initial time-stamp is taken. This re-orders synchronous commands in relation to asynchronous at time 0. let sc = NRT [bundle 1 [s_new0 "default" (-1) AddToHead 1] ,bundle 2 [n_set1 (-1) "gate" 0]] in withSC3 (performNRT sc)  of .Variant where id is -1.Turn on notifications, run f), turn off notifications, return result. Variant of . that waits for return message and unpacks it. withSC3 (b_getn1_data 0 (0,5)) Variant of  that segments individual  messages to n elements. (withSC3 (b_getn1_data_segment 1 0 (0,5)) Variant of  that gets the entire buffer."Collect server status information.#Read nominal sample rate of server. withSC3 serverSampleRateNominal"Read actual sample rate of server. withSC3 serverSampleRateActual!Retrieve status data from server.      !"          "!       !":None~;None~     <None~=Nonep !"#$%&'()*+,-./0123456789:;<BCDEFGHIJKNOPQRSTUVW      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     456789:;<=>?@ABCDEFMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc~    ~>Noneq !"#$%&'()*+,-./0123456789:;<BCDEFGHIJKNOPQRSTUVW      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     456789:;<=>?@ABCDEFMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc~    ~     a?@ABCDEFGHIJKLMNOPQRSTUVVWXYZ[\]^__`abcdeefghijklmnoppqrstuvwxyz{|}~                                                                       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                        ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~      !!!!!!!"""""""""""""""""""""""""""""""""""""""""""""###$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%&&& & & & & &&&&&&&&&&&&&&&&&&& &!&"&#&$&%&&&'&(&)&*&+&,&S&-&.&/&0&1&2&3&4&5&6&7&8&9&:&R&;&<&=&>&?&@&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&[&\&]&^&_&`&a&b&c&d&e&f&g&h&i&j&k&l&m&n&o&p&q&r&s&t&u&v&w&x&y&z&{&|&}&~&&&&&&&&&&&&&&&&&&&&&&&&&&&'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''((((())))))))))))))*****++++++++++++++++++++++++ + + + + + +++++++++++++++++++ +!+"+#+$,%,&,',(-)-)-*-+-,---.-/-0-1-2-3-4-5-6-7.8.9.:.;.<.=.>.?.@.A.B.C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/[/\/]/8/^/_/`/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/{/9/|/}/~////////////////////0D0E0F0G0I0J0O0P0Q0R0S0T0W0X0Y0Z0[0\0]080^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0{090|0}0~0000000000000000z0H0K0L0M0N0U0V00001111111111122222222222222222223333333333333333333333333334444444444444444444444444444     . !"""#$ hsc3-0.15Sound.SC3.UGen.MCE#Sound.SC3.UGen.Envelope.Interpolate'Sound.SC3.UGen.Bindings.HW.External.LPC'Sound.SC3.UGen.Bindings.HW.External.ATSSound.SC3.UGen.IdentifierSound.SC3.UGen.HelpSound.SC3.Server.HelpSound.SC3.UGen.RateSound.SC3.Server.GraphdefSound.SC3.Server.Command.EnumSound.SC3.Server.StatusSound.SC3.Server.EnumSound.SC3.Server.NRTSound.SC3.Common.Monad.SyntaxSound.SC3.CommonSound.SC3.UGen.NameSound.SC3.UGen.OperatorSound.SC3.UGen.TypeSound.SC3.UGen.EnumSound.SC3.UGen.EnvelopeSound.SC3.UGen.UId$Sound.SC3.UGen.Bindings.HW.Construct&Sound.SC3.UGen.Bindings.HW.External.F0(Sound.SC3.UGen.Bindings.HW.External.Zita,Sound.SC3.UGen.Bindings.HW.External.WaveletsSound.SC3.UGen.UGenSound.SC3.UGen.GraphSound.SC3.Server.Graphdef.GraphSound.SC3.Server.Graphdef.ReadSound.SC3.UGen.Graph.TransformSound.SC3.UGen.ProtectSound.SC3.UGen.Bindings.DBSound.SC3.UGen.Bindings.HWSound.SC3.UGen.Bindings.Monad&Sound.SC3.UGen.Bindings.HW.External.ID/Sound.SC3.UGen.Bindings.HW.External.SC3_PluginsSound.SC3.UGen.PPSound.SC3.UGen.Math!Sound.SC3.UGen.Bindings.CompositeSound.SC3.UGen.Optimise Sound.SC3.UGen.Graph.ReconstructSound.SC3.UGen.Plain!Sound.SC3.UGen.Envelope.ConstructSound.SC3.UGen.Help.GraphSound.SC3.Server.Synthdef#Sound.SC3.Server.Command.Completion Sound.SC3.Server.Command.GenericSound.SC3.Server.Command.PlainSound.SC3.Server.NRT.EditSound.SC3.Server.RecorderSound.SC3.Server.Transport.FD Sound.SC3.Server.Transport.Monad#Sound.SC3.UGen.Bindings.HW.ExternalSound.SC3.UGen.BindingsSound.SC3.UGenSound.SC3.Server.Commandu_cmdSound.SC3.ServerSound.SC3.Server.MonadSound.SC3.Server.FD Sound.SC3.FD Sound.SC3MCE MCE_VectorMCE_Unitmce_elem mce_extendmce_map mce_binop$fFractionalMCE$fNumMCEInterpolation_Fsteplinear exponential exponential' exponential''sinehalf_piwelchcurvesquaredcubedholdLPCFrame LPCHeader lpcHeaderSizelpcMagic lpcNPoles lpcFrameSize lpcFrameRate lpcSampleRatelpcAnalysisDuration lpcNFramesLPC lpcHeader lpcFrameslpcReadlpcSC3ATSFrame ATSHeader atsSampleRate atsFrameSize atsWindowSize atsNPartials atsNFramesatsMaxAmplitudeatsMaxFrequencyatsAnalysisDuration atsFileTypeatsFrameLengthATS atsHeaderatsDataatsRead atsFramesID resolveIDjoinID $fIDDouble $fIDFloat$fIDChar $fIDInteger$fIDIntget_env_defaultlookup_env_defaultsc3HelpDirectorysc3HelpClassFilesc3HelpOperatorEntry sc3HelpMethodsc3HelpClassMethodsc3HelpInstanceMethodugenSC3HelpFile viewSC3Helpsc3_server_command_refviewServerHelpRateDRARKRIRrateIdrate_ord rate_color all_rates rate_parse $fOrdRateGraphdef graphdef_namegraphdef_constantsgraphdef_controlsgraphdef_ugensUGenSpecialOutputInputSampleControlName input_ugen_ix ugen_inputs ugen_outputsugen_is_control ugen_rateinput_is_control graphdef_ugengraphdef_controlgraphdef_constant_nidgraphdef_control_nidgraphdef_ugen_nidread_i8read_i16read_i32 read_sample read_pstr read_control read_input read_output read_ugen read_graphdefread_graphdef_file encode_pstr encode_inputencode_control encode_ugen encode_sampleencode_graphdef graphdef_stat SC3_Commandsc3_cmd_enumerationsc3_cmd_number known_sc3_cmd async_cmdsisAsyncpartition_async Query_Node Query_Synth Query_Group Query_CtlextractStatusField statusFields statusFormat query_ctl_pp query_node_pp queryTree_ctlqueryTree_synthqueryTree_groupqueryTree_child queryTree queryTree_rt SampleFormatPcmAlawPcmMulaw PcmDoublePcmFloatPcmInt32PcmInt24PcmInt16PcmInt8SoundFileFormatWaveRawNextIrcamFlacAiff PrintLevel AllPrinter HexPrinter TextPrinter NoPrinter ErrorModeErrorsOn ErrorsOff ErrorScopeLocallyGloballyB_GenClear Wavetable Normalise AddAction AddReplaceAddAfter AddBefore AddToTail AddToHead b_gen_bit b_gen_flagsoundFileFormatStringsoundFileFormat_from_extensionsampleFormatStringNRT_Render_PlainNRT nrt_bundles oscWithSizenrt_span encodeNRTwriteNRTputNRTdecode_nrt_bundles decodeNRTreadNRTnrt_render_plain.++..+..**..*..--..-..//../.composeMchainMT4T3T2 Case_RuleCSCI reads_exactis_ciis_cs string_eq rlookup_str parse_enum lookup_by rlookup_by pcn_triples mk_duples mk_duples_l mk_triples toSC3Name fromSC3Namesc3_name_edgessc3_name_to_lisp_namesc3_ugen_name_sepBinary ExpRandRange RandRangeFirstArgWrap2Fold2ExcessClip2ScaleNegAMClipThreshAbsDifSqrDifSqrSumSumSqrDifSqrRing4Ring3Ring2Ring1Fill UnsignedShift ShiftRight ShiftLeftPowHypotxHypotAtan2TruncRoundUpRoundGCDLCMBitXorBitOrBitAndMaxMinGELEGT_LT_NEEQ_ModFDivIDivMulSubAddUnarySCurveRamp_ TriWindow WelchWindow HanWindow RectWindowThruSilence DigitValueCoinSoftClipDistortSum3Rand BiLinRandLinRand_Rand2Rand_TanHCosHSinHArcTanArcCosArcSinTanCosSinLog10Log2LogCPSOctOctCPSAmpDbDbAmp RatioMIDI MIDIRatioCPSMIDIMIDICPSRecipExpSqrtCubedSquaredSignFracFloorCeilAsIntAsFloatAbsBitNotNotNilIsNilNotNeg parse_unary unaryTable unaryName unaryIndexis_unary parse_binary binaryTable binaryName binaryIndex is_binaryresolve_operatorMRG_UMCE_UProxy_U Primitive_ULabel_U Control_U Constant_UMRGmrgLeftmrgRightProxy proxySource proxyIndex PrimitiveugenRateugenName ugenInputs ugenOutputs ugenSpecialugenIdLabel ugenLabelcontrolOperatingRate controlIndex controlNamecontrolDefaultcontrolTriggered controlMetaC_Meta'C_Metactl_minctl_maxctl_warpctl_step ctl_unitsConstant constantValueUGenIdUIdNoIdno_idc_meta'parse_constant un_constant u_constant isConstantisSinkun_proxyisProxy checkInputconstant int_to_ugen float_to_ugendouble_to_ugenmcemrgproxy mceProxiesisMCE mceChannels mceDegree mceExtendmceInputTransformmceBuildmce_is_direct_proxyrateOfproxifymkUGen mkOperatormkUnaryOperatormkBinaryOperator_optimizemkBinaryOperator $fBitsUGen $fRandomUGen $fEnumUGen $fOrdUGen$fRealFracUGen$fIntegralUGen $fRealUGen$fFloatingUGen$fFractionalUGen $fNumUGenBuffer Buffer_IdEnvCurveEnvelope_Curve4Envelope_Curve3Envelope_Curve2Envelope_CurveEnvHoldEnvCubEnvSqrEnvNumEnvWelchEnvSinEnvExpEnvLinEnvStepWarp ExponentialLinear DoneAction RemoveGroup RemoveSynth PauseSynth DoNothing InterpolationCubicInterpolationLinearInterpolationNoInterpolationLoopWithLoopNoLoop from_loopfrom_interpolationfrom_done_action from_warpenv_curve_shapeenv_curve_valueenv_curve_interpolation_f from_bufferEnvelope_SegmentEnvelope env_levels env_times env_curvesenv_release_node env_loop_nodeenvelopeenvelope_durationenvelope_n_segmentsenvelope_segment_ixenvelope_segmentenvelope_segmentspack_envelope_segmentsenvelope_is_normalenvelope_normalise envelope_atenvelope_renderenvelope_tableenvelope_curvesenvelope_sc3_arrayenvelope_sc3_ienvgen_arrayenv_is_sustained env_delay env_circleenvelope_to_ugend_dxdx_dd_dx'dx_d'Fn4Fn3Fn2Fn1 generateUIdliftUIdliftUId2liftUId3liftUId4clone $fUIdReaderT$fUIdIOmk_oscmkOscmkOscRmkOscIdRmkOscId mk_osc_mcemkOscMCE mkOscMCEId mk_filter mkFilterIdR mkFilterRmkFilter mkFilterId mk_filter_mce mkFilterMCER mkFilterMCE mkFilterMCEIdmkInfo atari2600mzPokeyZitaRev1zr1_in1zr1_in2 zr1_delay zr1_xover zr1_rtlow zr1_rtmid zr1_fdamp zr1_eq1fr zr1_eq1gn zr1_eq2fr zr1_eq2gn zr1_opmix zr1_level zitaRev1_rzitaRev1dwtidwt wt_MagAbovewt_FilterScale wt_TimeWipewt_MultoUIdugen_user_name ugenTraverse ugenFoldr control_f64control meta_controltr_control_f64 tr_control control_setmrg2mce2mce2cmce3mceMapmceEdit mceReverse mceChannel mceTransposemceSum sep_firstsep_lasthalt_mce_transform'halt_mce_transformlabelequal_length_p unpackLabelbitAndbitOrbitXOrbitNot shiftLeft shiftRight unsignedShift.<<..>>.ugen_primitiveprimitive_is_pv_rateugen_is_pv_ratepv_track_bufferbuffer_nframespv_track_nframesKS_COUNTMapsMap UGenPartsNodeNodeP node_p_node node_p_indexNodeU node_u_rate node_u_name node_u_inputsnode_u_outputsnode_u_special node_u_ugenidNodeK node_k_rate node_k_index node_k_namenode_k_default node_k_type node_k_metaNodeCnode_id node_c_valueEdgeToPortFromPort FromPort_Uport_idx FromPort_Kport_kt FromPort_Cport_nidKTypeK_ARK_TRK_KRK_IRGraphnextId constantscontrolsugens PortIndexNodeId node_k_eq find_node node_labelport_idx_or_zero is_node_c is_node_k is_node_uedges as_from_portfrom_port_node empty_graphgraph_maximum_id node_k_cmpktypefind_c_ppush_c mk_node_cfind_k_ppush_k mk_node_kfind_u_ppush_u mk_node_u_acc mk_node_u mk_node_pmk_node prepare_root sort_controlsmk_graph node_ktype mk_ktype_mapktype_map_lookupmk_mapsfetchfetch_kks_countmk_implicit_ctladd_implicit_ctllocalbuf_countadd_implicit_buf add_implicitis_implicit_control is_implicitremove_implicitis_from_port_umultiple_u_out_edgesnode_descendentspv_multiple_out_edges pv_validate ugen_to_graph make_inputnode_k_to_controlnode_u_to_ugengraph_to_graphdefinput_to_from_portgraphdef_to_graphconstant_to_controlfrom_port_node_errc_lift_from_port c_lift_inputs c_lift_ugen c_lift_ugenslift_constantsugenIdsatUGenIduprotect uprotect'uclone'ucloneucomposeuseqa2KapfallpassCallpassLallpassNampCompampCompA amplitude audioControlbAllPass bBandPass bBandStopbHiPassbHiShelfbLowPass bLowShelfbpfbpz2bPeakEQbrfbrz2balance2ball beatTrack beatTrack2biPanB2 binaryOpUGenblip blockSize brownNoise bufAllpassC bufAllpassL bufAllpassN bufChannelsbufCombCbufCombLbufCombN bufDelayC bufDelayL bufDelayNbufDur bufFrames bufRateScalebufRd bufSampleRate bufSamplesbufWrcOsccheckBadValuesclip clipNoisecoinGatecombCcombLcombN compander companderD controlDur controlRate convolution convolution2 convolution2L convolution3cracklecuspLcuspNdcdbrowndbufrddbufwrdecaydecay2decodeB2 degreeToKeydelTapRddelTapWrdelay1delay2delayCdelayLdelayNdemand demandEnvGen detectIndex detectSilencedgeomdibrowndiskIndiskOutdiwhitedoncedonedpolldranddresetdseqdserdseriesdshufdstutterdswitchdswitch1duniquedustdust2dutydwhitedxrandenvGenexpRandfBSineCfBSineLfBSineNfftfosfSinOscfoldformantformletfreefreeSelffreeSelfWhenDonefreeVerb freeVerb2 freqShiftgVerbgategbmanLgbmanNgendy1gendy2gendy3grainBufgrainFMgrainIngrainSin grayNoisehpfhpz1hPZ2hasherhenonChenonLhenonNhilbert hilbertFIRiEnvGenifftiRandimpulsein' inFeedbackinRangeinRectinTrigindexindexInBetweenindexL infoUGenBase integratork2AkeyStatekeyTrackklangklank lfClipNoiselfCub lfdClipNoise lfdNoise0 lfdNoise1 lfdNoise3lfGausslfNoise0lfNoise1lfNoise2lfParlfPulselfSawlfTrilpflpz1lPZ2laglag2lag2UDlag3lag3UDlagInlagUD lastValuelatch latoocarfianC latoocarfianL latoocarfianNleakDC leastChangelimiterlinCongClinCongLlinCongNlinExplinPan2linRand linXFade2linelinenlocalBuflocalInlocalOutlogisticlorenzLloudnessmFCC mantissaMaskmedianmidEQmodDifmoogFF mostChange mouseButtonmouseXmouseYnRand normalizer numAudioBuses numBuffersnumControlBuses numInputBusesnumOutputBusesnumRunningSynths offsetOutonePoleoneZeroonsetsoscoscNout pSinGrainpv_Addpv_BinScramble pv_BinShift pv_BinWipe pv_BrickWall pv_ChainUGenpv_ConformalMappv_Conjpv_Copy pv_CopyPhase pv_Diffuserpv_Divpv_HainsworthFootepv_JensenAndersen pv_LocalMax pv_MagAbove pv_MagBelow pv_MagClip pv_MagDiv pv_MagFreeze pv_MagMul pv_MagNoise pv_MagShift pv_MagSmear pv_MagSquaredpv_Maxpv_Minpv_Mul pv_PhaseShiftpv_PhaseShift270pv_PhaseShift90 pv_RandComb pv_RandWipe pv_RectComb pv_RectComb2pan2pan4panAzpanBpanB2partConvpause pauseSelfpauseSelfWhenDonepeak peakFollowerphasor pinkNoisepitch pitchShiftplayBufpluckpulse pulseCount pulseDividerquadCquadLquadNrhpfrlpfradiansPerSampleramprandrandIDrandSeed recordBuf replaceOutresonzringzrotate2 runningMax runningMin runningSumsos sampleDur sampleRatesawschmidtscopeOut scopeOut2selectsendTrig setResetFFshapersinOscsinOscFBslewslope specCentroid specFlatness specPcilespring standardL standardNstepperstereoConvolution2LsubsampleOffsetsum3sum4sweepsyncSawt2At2KtBalltDelaytDutytExpRandtGrainstIRandtRandtWindextimertoggleFFtrigtrig1 trigControltwoPoletwoZero unaryOpUGenvDiskInvOscvOsc3varLagvarSawvibratowarp1 whiteNoisewidthFirstUGenwrap wrapIndexxFade2xLinexOut zeroCrossing maxLocalBufsmulAddsetBufclearBufdwrand fftTriggerpackFFTpoll sendReply unpack1FFTdbufrdMdbufwrMdwhiteMdiwhiteMdbrownMdibrownMdrandMdwrandMdxrandMdseriesMdgeomMdseqMdserMdshufM dstutterM dswitch1MdswitchMpv_BinScrambleM pv_RandCombM pv_RandWipeM brownNoiseM clipNoiseM coinGateMdust2MdustMexpRandM grayNoiseMiRandM lfClipNoiseM lfdClipNoiseM lfdNoise0M lfdNoise1M lfdNoise3M lfNoise0M lfNoise1M lfNoise2MlinRandMnRandM pinkNoiseMrandM tExpRandMtIRandMtRandMtWindexM whiteNoiseM lfBrownNoise0 lfBrownNoise1 lfBrownNoise2blitB3 blitB3Saw blitB3Square blitB3TridPW3TridPW4Saw gammatonehairCellmeddisay ayFreqToTonecoyotewAmp gaussTrigstreson tBetaRand tBrownRand tGaussRandconcat'concat2 complexRes diodeRingMod dNoiseRing greyholeRaw jPverbRaw disintegrator dWGPlucked2atsSynth atsNoiSynthfmGrainfmGrainBlpcSynthlpcValsmetro pv_BinDelaypv_BufRdpv_calcPVRecSize pv_Invert pv_PlayBuf pv_RecordBufloopBufarrayMaxarrayMinbufMaxbufMinperlin3squizmembraneCirclemembraneHexagonsmstpvtartiniqitch averageOutput switchDelay chromagramfm7 brusselator doubleWell3 envDetect envFollowltisLOnset waveTerrainstkBowedstkFlute stkMandolin stkModalBar stkShakersdfm1vosim double_ppreal_pp bracketedugen_concise_pp TernaryOpmul_addBinaryOpabsDifamClipatan2Eclip2difSqrexcess exprandRangefillfirstArgfold2gcdEhypothypotxiDivlcmEmodE randRangering1ring2ring3ring4roundUpscaleNegsqrDifsqrSumsumSqrthreshtruncwrap2UnaryOpampDbasFloatasIntcpsMIDIcpsOctdbAmpdistortfracisNillog10log2midiCPS midiRationotEnotNiloctCPSramp_ ratioMIDIsoftClip RealFracEproperFractionE truncateEroundEceilingEfloorEOrdE<*<=*>*>=*EqE==*/=*dinfsc3_true sc3_falsesc3_notsc3_boolsc3_comparisonsc3_eqsc3_neqsc3_ltsc3_ltesc3_gtsc3_gteroundTo_ sc3_round_tosc3_idiv binop_hs_tblbinop_special_hs uop_hs_tbluop_special_hssc3_properFraction sc3_truncate sc3_round sc3_ceiling sc3_floorroundToceilmidiCPS'cpsMIDI'cpsOct'ampDb'dbAmp'cubed' midiRatio'octCPS' ratioMIDI'squared'difSqr'hypotx'fmod_f32wrap' genericWrapwrap_ foldToRangefold_clip'clip_hypot_ linLin_muladdlinlinlinlin'urangeurange' range_muladdrangerange'$fTernaryOpDouble$fTernaryOpFloat$fTernaryOpUGen$fBinaryOpUGen$fBinaryOpDouble$fBinaryOpFloat $fUnaryOpUGen$fUnaryOpDouble$fUnaryOpFloat$fRealFracEUGen$fRealFracEDouble$fRealFracEFloat $fOrdEUGen $fOrdEDouble $fOrdEFloat $fOrdEInt64 $fOrdEInt32 $fOrdEInteger $fOrdEInt $fEqEUGen $fEqEDouble $fEqEFloat $fEqEInt64 $fEqEInt32 $fEqEInteger$fEqEInt asLocalBuf bLowPassCoefbufRdNbufRdLbufRdCchangedchoosechooseM clearLocalBufdconsdconsMdynKlangdynKlankfft'fftafirstPrivateBusfreqShift_hilbertifft' klangSpec klangSpec' klangSpec_mce klankSpec klankSpec' klankSpec_mcelchooselchooseMlinExp_blinExp_ulinLinlinLin_ulinLin_blocalIn' makeFadeEnvmceNmixmixNmixFillmixFillM mouseButton'mouseRmouseX'mouseY' onsetTypeonsets' packFFTSpecpc_calcAccumSizepmOscpoll' privateIn privateOut pvcollect runningSumRMSselectXsetBuf'silentsoundInsplaysum_opttaptChoosetChooseMtWChoose tWChooseM unpackFFTwrapOut playBufCFosc1c_randc_irandugen_optimise_ir_randugen_optimise_const_operator constant_opt node_sortfrom_port_labelis_operator_nameparenthesise_operatorreconstruct_graph_strreconstruct_c_strreconstruct_c_ugenreconstruct_k_rndreconstruct_k_strreconstruct_k_ugen ugen_qnamereconstruct_mce_strreconstruct_u_strreconstruct_mrg_strmk_plainuopbinopugennondetASRasr_attackTimeasr_sustainLevelasr_releaseTime asr_curveADSSRadssr_attackTimeadssr_attackLeveladssr_decayTimeadssr_decayLeveladssr_slopeTimeadssr_sustainLeveladssr_releaseTime adssr_curve adssr_biasADSRadsr_attackTimeadsr_decayTimeadsr_sustainLeveladsr_releaseTimeadsr_peakLevel adsr_curve adsr_biasLINENlinen_attackTimelinen_sustainTimelinen_releaseTime linen_level linen_curveenvCoord envTrapezoidenvPerc'envPerc envTriangleenvSine envLinen_r envLinen'envLinen adsrDefaultenvADSR envADSR_renvADSSR envADSSR_renvASRenvASR_renvStepenvGateenvGate'default_ugen_graphgabor_grain_ugen_graphsine_grain_ugen_graphdefault_sampler_ugen_graphSynthdef synthdefName synthdefUGensynthdefdefaultSynthdefdefaultSampler synthdefGraph synthdefParam ugenIndicessynthdef_to_graphdef synthdefData synthdefWrite graph_stat synthstat$fDefaultSynthdefd_recv'd_load' d_loadDir'b_alloc' b_allocRead'b_allocReadChannel'b_free'b_close'b_read'b_readChannel'b_write'b_zero'b_alloc b_allocReadb_allocReadChannelb_closeb_fillb_freeb_gen b_gen_sine1 b_gen_sine2 b_gen_sine3 b_gen_cheby b_gen_copyb_getb_getnb_queryb_read b_readChannelb_setb_setnb_writeb_zeroc_fillc_getc_getnc_setc_setnd_recvd_load d_loadDird_free g_deepFree g_freeAllg_headg_newg_tail g_dumpTree g_queryTreen_aftern_beforen_filln_freen_mapn_mapnn_mapan_mapann_queryn_runn_setn_setnn_tracen_orderp_news_gets_getns_news_noidcmd clearScheddumpOSC errorModenotifynrt_endquitstatussyncwithCM b_alloc_setn1b_getn1b_query1b_set1b_setn1c_getn1c_set1c_setn1n_set1s_new0 b_segment b_indicespc_preparePartConv insertBy_post insert_postat_last nrt_merge nrt_merge_set nrt_emptynrt_insert_prenrt_insert_post nrt_end_time bundle_map nrt_close SC3_Recorder rec_sftype rec_coding rec_fnamerec_ncrec_bus rec_buf_idrec_buf_frames rec_node_id rec_group_idrec_durdefault_SC3_Recorder rec_synthdef rec_init_m rec_begin_m rec_end_m sc3_recorder$fDefaultSC3_RecorderAudibleplay_idplaysendasyncwithSC3stopreset playGraphdef playSynthdefplayUGen run_bundle performNRT audition_idauditionwithNotifications b_getn1_datab_getn1_data_segmentb_fetch serverStatusserverSampleRateNominalserverSampleRateActualserverStatusData $fAudibleNRT $fAudibleUGen$fAudibleSynthdef$fAudibleGraphdefplay_at audition_at c_getn1_dataghc-prim GHC.Classes<base GHC.Floatsqrtread_f32bSepatsParse get_decoderftype_n GHC.TypesIntSystem.EnvironmentgetEnv lookupEnv Data.MaybeisJustTrue hosc-0.15Sound.OSC.TypeMessageFloatingcontainers-0.5.5.1 Data.TreeTreeBundleGHC.Listspan bundleTimebytestring-0.10.4.0Data.ByteString.Lazy.Internal ByteStringData.ByteString.LazyreadFileGHC.Num+GHC.BaseFunctorControl.Applicative Applicative*-GHC.Real/Monad Text.ReadreadsGHC.EnumEnumlookup concatMapFloatDouble Data.Listsum.lengthNothingString Data.FunctiononidRealFracIntegralnotBool==/=<=>>=toEnum Data.Fixedmod' encode_blobcomparelastSound.OSC.Transport.FD sendMessage waitReplySound.OSC.TimepauseThreadUntilTimeSound.OSC.Transport.Monad withTransport