, =       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; <=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./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 QRSTUVWXYZ[\]^_`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' {' |' }' ~' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '.NonewPadsynth parameters.see for details: 4http://csound.github.io/docs/manual/GENpadsynth.html$The default table. It's rendered to (-1) in the Csound.Calculates the number of samples needed to store the given amount of seconds. It multiplies the value by the current sample rate.;Calculates the closest power of two value for a given size.QCalculates the closest power of two value in samples for a given size in seconds.Loads wav or aiff file to table wavs fileName skipTime channel<skipTime specifies from what second it should read the file.?with channel argument we can read left, right or both channels. Reads left channel of audio-file!Reads right channel of audio-fileLoads mp3 file to table: mp3s fileName skipTime format<skipTime specifies from what second it should read the file.}format is: 1 - for mono files, 2 - for stereo files, 3 - for left channel of stereo file, 4 for right channel of stereo fileReads left channel of mp3-fileReads right channel of mp3-fileReads mono of mp3-fileTable contains all provided values (table is extended to contain all values and to be of the power of 2 or the power of two plus one). (by default it skips normalization).#Segments of the exponential curves. exps [a, n1, b, n2, c, ...]where  a, b, c, ... are ordinate values n1, n2, ...U are lengths of the segments relative to the total number of the points in the table.Equally spaced segments of exponential curves. eexps [a, b, c, ...] is the same as exps [a, 1, b, 1, c, ...]Segments of cubic polynomials.  cubes [a, n1, b, n2, c, ...]where a, b, c .. - are ordinate values n1, n2, ...U are lengths of the segments relative to the total number of the points in the table-Equally spaced segments of cubic polynomials. ecubes [a, b, c, ...] is the same as cubes [a, 1, b, 1, c, ...]Segments of straight lines.  lins [a, n1, b, n2, c, ...]where a, b, c .. - are ordinate values n1, n2, ...U are lengths of the segments relative to the total number of the points in the table*Equally spaced segments of straight lines. elins [a, b, c, ...] is the same as lins [a, 1, b, 1, c, ...]Cubic spline curve. splines [a, n1, b, n2, c, ...]where a, b, c .. - are ordinate values n1, n2, ...U are lengths of the segments relative to the total number of the points in the tableEqually spaced spline curve. esplines [a, b, c, ...] is the same as splines [a, 1, b, 1, c, ...]$Constant segments (sample and hold). consts [a, n1, b, n2, c, ...]where a, b, c .. - are ordinate values n1, n2, ...U are lengths of the segments relative to the total number of the points in the table!Equally spaced constant segments. econsts [a, b, c, ...] is the same as consts [a, 1, b, 1, c, ...]9Creates a table from a starting value to an ending value. GstartEnds [val1, dur1, type1, val2, dur2, type2, val3, ... typeX, valN],val1, val2 ... -- end points of the segments+dur1, dur2 ... -- durations of the segmentswtype1, type2 ... -- if 0, a straight line is produced. If non-zero, then it creates the following curve, for dur steps: >beg+(end-beg)*(1-exp(i*type))/(1-exp(type * dur))$beg, end - end points of the segmentdur - duration of the segment.Equally spaced interpolation for the function  startEnds )estartEnds [val1, type1, val2, typ2, ...]is the same as 0estartEnds [val1, 1, type1, val2, 1, type2, ...]&Linear segments in breakpoint fashion: $bpLins [x1, y1, x2, y2, ..., xN, yN] csound docs: -http://www.csounds.com/manual/html/GEN27.htmljAll x1, x2, .. should belong to the interval [0, 1]. The actual values are rescaled to fit the table size.+Exponential segments in breakpoint fashion: $bpExps [x1, y1, x2, y2, ..., xN, yN] csound docs: -http://www.csounds.com/manual/html/GEN25.htmljAll x1, x2, .. should belong to the interval [0, 1]. The actual values are rescaled to fit the table size.Series of harmonic partials: sine = sines [1] #saw = sines $ fmap (1 / ) [1 .. 10] )square = sines $ fmap (1 / ) [1, 3 .. 11] Ntriangle = sines $ zipWith (\a b -> a / (b ** 2)) (cycle [1, -1]) [1, 3 .. 11] Just like $ but partial strength is set to one. Just like  but phases are set to zero.1Specifies series of possibly inharmonic partials.ESpecifies series of possibly inharmonic partials with direct current.4Sines with bandwidth (simplified padsynth generator)bwSines harmonics bandwidthTSines with bandwidth (simplified padsynth generator). Only odd harmonics are presentbwOddSines harmonics bandwidthTable for pure sine wave.Table for pure cosine wave.Table for sigmoid wave.Table for sigmoid rise wave.Table for sigmoid fall wave.@Creates tanh sigmoid. The argument is the radius of teh sigmoid.'Generates values similar to the opcode ().  Cbuzzes numberOfHarmonics [lowestHarmonic, coefficientOfAttenuation]With buzzes n [l, r] you get n harmonics from l& that are attenuated by the factor of r on each step.SModified Bessel function of the second kind, order 0 (for amplitude modulated FM).   bessels xint,the function is defined within the interval  [0, xint]. Polynomials. polys xl xr [c0, c1, c2, ..]whereNxl, xr - left and right values of the interval over wich polynomial is defined3[c0, c1, c2, ...] -- coefficients of the polynomial c0 + c1 * x + c2 * x * x + ...(Chebyshev polynomials of the first kind. polys xl xr [h0, h1, h2, ..]whereNxl, xr - left and right values of the interval over wich polynomial is defined6[h0, h1, h2, ...] -- relative strength of the partials)Chebyshev polynomials of the second kind. polys xl xr [h0, h1, h2, ..]whereNxl, xr - left and right values of the interval over wich polynomial is defined6[h0, h1, h2, ...] -- relative strength of the partials)The Hamming window. The peak equals to 1.)The Hanning window. The peak equals to 1.*The Bartlett window. The peak equals to 1.*The Blackman window. The peak equals to 1.(The Harris window. The peak equals to 1.+The Rectangle window. The peak equals to 1.&The Sync window. The peak equals to 1.This creates a function that contains a Gaussian window with a maximum value of 1. The extra argument specifies how broad the window is, as the standard deviation of the curve; in this example the s.d. is 2. The default value is 1.  winGauss 2This creates a function that contains a Kaiser window with a maximum value of 1. The extra argument specifies how "open" the window is, for example a value of 0 results in a rectangular window and a value of 10 in a Hamming like window. winKaiser opennessSpecs for padsynth algorithm: *defPadsynthSpec partialBandwidth harmonics3partialBandwidth -- bandwidth of the first partial.2harmonics -- the list of amplitudes for harmonics.8Creates tables for the padsynth algorithm (described at  1http://www.paulnasca.com/algorithms-created-by-meC). The table size should be very big the default is 18 power of 2. csound docs: 4http://csound.github.io/docs/manual/GENpadsynth.htmlDCreates a table of doubles (It's f-table in Csound). Arguments are: identificator of the GEN routineGEN routine arguments9All tables are created at 0 and memory is never released. Adds guard point to the table size (details of the interpolation schemes: you do need guard point if your intention is to read the table once but you don't need the guard point if you read table in many cycles, the guard point is the the first point of your table).  Shortcut for .BSets an absolute size value. As you can do it in the Csound files.OSets the relative size value. You can set the base value in the options (see *+ at *,, with tabResolution you can easily change table sizes for all your tables). Here zero means the base value. 1 is the base value multiplied by 2, 2 is the base value multiplied by 4 and so on. Negative values mean division by the specified degree. Sets degrees from -3 to 3.Sets degrees from -3 to 3.Sets degrees from -3 to 3.Sets degrees from -3 to 3.Sets degrees from -3 to 3.Sets degrees from -3 to 3.Sets degrees from -3 to 3.&Writes tables in sequential locations.This opcode writes to a table in sequential locations to and from an a-rate variable. Some thought is required before using it. It has at least two major, and quite different, applications which are discussed below. kstart tablewa kfn, asig, koff csound docs: /http://www.csounds.com/manual/html/tablewa.htmlVTransforms phasor that is defined in seconds to relative phasor that ranges in 0 to 1.;Generates harmonic partials by analyzing an existing table. ,tabHarmonics src minh maxh [ref_sr] [interp]_src -- source ftable. It should be primitive ie constructed not with "ftgen" family of opcodes.minh -- lowest harmonic number'maxh -- maxh -- highest harmonic numberref_sr (optional) -- maxh is scaled by (sr / ref_sr). The default value of ref_sr is sr. If ref_sr is zero or negative, it is now ignored. interp (optional) -- if non-zero, allows changing the amplitude of the lowest and highest harmonic partial depending on the fractional part of minh and maxh. For example, if maxh is 11.3 then the 12th harmonic partial is added with 0.3 amplitude. This parameter is zero by default.GEN30 for Csound: -http://www.csounds.com/manual/html/GEN30.html`It's just like sines3 but inplace of pure sinewave it uses supplied in the first argument shape.BmixOnTab srcTable [(partialNumber, partialStrength, partialPahse)]phahse is in range [0, 1] It's like mixOnTabh but it's more generic since we can mix not only one shape. But we can specify shape for each harmonic.Normalizing tableCsound GEN04: -http://www.csounds.com/manual/html/GEN04.htmlbCreates a new table wich contains all values from the source table rescaled to the given interval. 'scaleTab (minValue, maxValue) sourceTabItabseg -- Writes composite waveforms made up of pre-existing waveforms. #tabseg [(tab, amplitude, duration)]Csound GEN18: -http://www.csounds.com/manual/html/GEN18.htmlButnotice the difference with Csound we specify start and finish of writing but here we only specify the relative length of segments. Segments are arranged so that the start f next segment comes right after the end of the prev segment.Uniform (positive numbers only)Linear (positive numbers only)*Triangular (positive and negative numbers)#Exponential (positive numbers only)-Biexponential (positive and negative numbers)(Gaussian (positive and negative numbers)&Cauchy (positive and negative numbers)'Positive Cauchy (positive numbers only)Beta (positive numbers only) betaDist alpha betaalphaT -- alpha value. If kalpha is smaller than one, smaller values favor values near 0. betaV -- beta value. If kbeta is smaller than one, smaller values favor values near krange.Weibull (positive numbers only)tau -- if greater than one, numbers near ksigma are favored. If smaller than one, small values are favored. If t equals 1, the distribution is exponential. Outputs only positive numbers.Poisson (positive numbers only)GGenerates a random distribution using a distribution histogram (GEN40). Csound docs: -http://www.csounds.com/manual/html/GEN40.html>randDist  Generates a random list of numerical pairs (GEN41). IrandDist [value1, prob1, value2, prob2, value3, prob3 ... valueN, probN]#The first number of each pair is a value, and the second is the probability of that value to be chosen by a random algorithm. Even if any number can be assigned to the probability element of each pair, it is suggested to give it a percent value, in order to make it clearer for the user.rThis subroutine is designed to be used together with duserrnd and urd opcodes (see duserrnd for more information).QrangeDist  Generates a random distribution of discrete ranges of values (GEN42).aThe first number of each group is a the minimum value of the range, the second is the maximum value and the third is the probability of that an element belonging to that range of values can be chosen by a random algorithm. Probabilities for a range should be a fraction of 1, and the sum of the probabilities for all the ranges should total 1.0.This subroutine is designed to be used together with duserrnd and urd opcodes (see duserrnd for more information). Since both duserrnd and urd do not use any interpolation, it is suggested to give a size reasonably big.Reads numbers from file (GEN23) csound doc: -http://www.csounds.com/manual/html/GEN23.html"Reads trajectory from file (GEN28) csound doc: -http://www.csounds.com/manual/html/GEN28.htmlReads PVOCEX files (GEN43) csound doc: -http://www.csounds.com/manual/html/GEN43.htmlreadMultichannel  Creates an interleaved multichannel table from the specified source tables, in the format expected by the ftconv opcode (GEN52). hf # time size 52 nchannels fsrc1 offset1 srcchnls1 [fsrc2 offset2 srcchnls2 ... fsrcN offsetN srcchnlsN] csound doc: -http://www.csounds.com/manual/html/GEN52.htmlKCsound's GEN33  Generate composite waveforms by mixing simple sinusoids.  tabSines1 srcTab nh scl [fmode] Csound docs: -http://www.csounds.com/manual/html/GEN33.htmlJCsound's GEN34  Generate composite waveforms by mixing simple sinusoids.  tabSines2 srcTab nh scl [fmode] Csound docs: ,http://www.csounds.com/manual/html/GEN3.html:"wave"  Generates a compactly supported wavelet function. waveletTab srcTab seq Csound docs: /http://www.csounds.com/manual/html/GENwave.htmlX"wave"  Generates a compactly supported wavelet function. The result table is rescaled. waveletTab srcTab seq Csound docs: /http://www.csounds.com/manual/html/GENwave.html9Linear segments that form a singl cycle of triangle wave. :Linear segments that form a single cycle of sawtooth wave.!8Linear segments that form a single cycle of square wave."aPulse-width wave formed with linear segments. Duty cycle rages from 0 to 1. 0.5 is a square wave.#&Tab with tanh from the given interval. tanhTab (start, end)$=Tab with tanh from the given interval. The table is rescaled. rescaleTanhTab (start, end)%-Tab with exponential from the given interval. expTab (start, end)&DTab with exponential from the given interval. The table is rescaled. rescaleExpTab (start, end)'&Tab with sone from the given interval. soneTab (start, end) equalpointxstart, end -- first and last value to be stored. The points stored are uniformly spaced between these to the table size.Pequalpoint -- the point on the curve when the input and output values are equal.(&Tab with sone from the given interval. soneTab (start, end) equalpointxstart, end -- first and last value to be stored. The points stored are uniformly spaced between these to the table size.Pequalpoint -- the point on the curve when the input and output values are equal.)D"farey"  Fills a table with the Farey Sequence Fn of the integer n.see details in Csound doc: 0http://www.csounds.com/manual/html/GENfarey.html?Notice that the arguments are reversed (in the haskell mindset) fareyTab mode num5num -- the integer n for generating Farey Sequence FnJmode -- integer to trigger a specific output to be written into the table:D0 -- outputs floating point numbers representing the elements of Fn.i1 -- outputs delta values of successive elements of Fn, useful for generating note durations for example.v2 -- outputs only the denominators of the integer ratios, useful for indexing other tables or instruments for example./3 -- same as mode 2 but with normalised output.z4 -- same as mode 0 but with 1 added to each number, useful for generating tables for tuning opcodes, for example cps2pch.*:tablew  Change the contents of existing function tables. This opcode operates on existing function tables, changing their contents. tablew is for writing at k- or at a-rates, with the table number being specified at init time. Using tablew with i-rate signal and index values is allowed, but the specified data will always be written to the function table at k-rate, not during the initialization pass. The valid combinations of variable types are shown by the first letter of the variable names.  tablew asig, andx, ifn [, ixmode] [, ixoff] [, iwgmode] tablew isig, indx, ifn [, ixmode] [, ixoff] [, iwgmode] tablew ksig, kndx, ifn [, ixmode] [, ixoff] [, iwgmode] csound doc: .http://www.csounds.com/manual/html/tablew.html+)Notice that this function is the same as tab?, but it wraps the output in the SE-monad. So you can use the tab, if your table is read-only and you can use readTabU if you want to update the table and the order of read/write operation is important.Fast table opcodes.CFast table opcodes. Faster than table and tablew because don't allow wrap-around and limit and don't check index validity. Have been implemented in order to provide fast access to arrays. Support non-power of two tables (can be generated by any GEN function by giving a negative length value). 9kr tab kndx, ifn[, ixmode] ar tab xndx, ifn[, ixmode] csound doc: +http://www.csounds.com/manual/html/tab.html,)Notice that this function is the same as table?, but it wraps the output in the SE-monad. So you can use the table, if your table is read-only and you can use  readTableU if you want to update the table and the order of read/write operation is important.)Accesses table values by direct indexing. ares table andx, ifn [, ixmode] [, ixoff] [, iwrap] ires table indx, ifn [, ixmode] [, ixoff] [, iwrap] kres table kndx, ifn [, ixmode] [, ixoff] [, iwrap] csound doc: -http://www.csounds.com/manual/html/table.html-)Notice that this function is the same as tablei?, but it wraps the output in the SE-monad. So you can use the tablei, if your table is read-only and you can use  readTableiU if you want to update the table and the order of read/write operation is important.BAccesses table values by direct indexing with cubic interpolation. ares table3 andx, ifn [, ixmode] [, ixoff] [, iwrap] ires table3 indx, ifn [, ixmode] [, ixoff] [, iwrap] kres table3 kndx, ifn [, ixmode] [, ixoff] [, iwrap] csound doc: .http://www.csounds.com/manual/html/table3.html.)Notice that this function is the same as table3?, but it wraps the output in the SE-monad. So you can use the table3, if your table is read-only and you can use  readTable3U if you want to update the table and the order of read/write operation is important.CAccesses table values by direct indexing with linear interpolation. ares tablei andx, ifn [, ixmode] [, ixoff] [, iwrap] ires tablei indx, ifn [, ixmode] [, ixoff] [, iwrap] kres tablei kndx, ifn [, ixmode] [, ixoff] [, iwrap] csound doc: .http://www.csounds.com/manual/html/tablei.html/7tableikt  Provides k-rate control over table numbers. Tk-rate control over table numbers. Function tables are read with linear interpolation. The standard Csound opcode tablei, when producing a k- or a-rate result, can only use an init-time variable to select the table number. tableikt accepts k-rate control as well as i-time. In all other respects they are similar to the original opcodes.  mares tableikt xndx, kfn [, ixmode] [, ixoff] [, iwrap] kres tableikt kndx, kfn [, ixmode] [, ixoff] [, iwrap] csound doc: 0http://www.csounds.com/manual/html/tableikt.html06tablekt  Provides k-rate control over table numbers. Qk-rate control over table numbers. Function tables are read with linear interpolation. The standard Csound opcode table when producing a k- or a-rate result, can only use an init-time variable to select the table number. tablekt accepts k-rate control as well as i-time. In all other respects they are similar to the original opcodes.  kares tablekt xndx, kfn [, ixmode] [, ixoff] [, iwrap] kres tablekt kndx, kfn [, ixmode] [, ixoff] [, iwrap] csound doc: /http://www.csounds.com/manual/html/tablekt.html1Ltablexkt  Reads function tables with linear, cubic, or sinc interpolation.  Eares tablexkt xndx, kfn, kwarp, iwsize [, ixmode] [, ixoff] [, iwrap] csound doc: 0http://www.csounds.com/manual/html/tablexkt.html2Acuserrnd  Continuous USER-defined-distribution RaNDom generator.6Continuous USER-defined-distribution RaNDom generator. kaout cuserrnd kmin, kmax, ktableNum iout cuserrnd imin, imax, itableNum kout cuserrnd kmin, kmax, ktableNum csound doc: 0http://www.csounds.com/manual/html/cuserrnd.html:the tab should be done with tabDist, randDist or rangeDist3?duserrnd  Discrete USER-defined-distribution RaNDom generator.4Discrete USER-defined-distribution RaNDom generator. Gaout duserrnd ktableNum iout duserrnd itableNum kout duserrnd ktableNum csound doc: 0http://www.csounds.com/manual/html/duserrnd.html:the tab should be done with tabDist, randDist or rangeDist                !"#$%&'()*+,-./0123 45   34567GH !"#$%&'()*+,-./0:      !"#$%&'()*+,-./0123G   :0/ !"#$%&'()     76.-,+*)('&%$#!" H543*+,-./0123                !"#$%&'()*+,-./0123 45None@Sets sample rate and block size setRates sampleRate blockSizeA#Sets hardware and software buffers. setBufs hardwareBuf ioBuf Defines a header for a Jacko opcodes. The Jacko opcodes allow for greater flexibility with definition of Jack-client. See the Csound docs for details and the datatype Jacko. Ccsound doc: <http://csound.github.io/docs/manual/JackoOpcodes.html>NSets the output to nosound.OSets midi devicePSets midi device to all.@ABC DEFGHIJKLMNOPQRS   #"!9876543210/.-,+*)('&%$A@?>=<;:KJIHGFEDCBPONMLWVUTSRQa`_^]\[ZYXjihgfedcbyxwvutsrqponmlk}|{z~987654321@ABCDEFGHIJKLMNOPQRS987654321@ABCEDFJIGHKLMNOPQRS   9876543210/.-,+*)('&%$#"!A@?>=<;:KJIHGFEDCBPONMLWVUTSRQa`_^]\[ZYXjihgfedcbyxwvutsrqponmlk}|{z~@ABC DEFGHIJKLMNOPQRSNoneNNNoneT/Gets an init-rate value from the list by index.U8Gets an control/audio-rate value from the list by index.XkPerforms tree search f the first argument lies within the interval it performs the corresponding procedure.TUVWXefghijklmnopqrstuvwxy~}|{z !"#$%&'()*+,-./01289:;<=>?@ABCDEFGLIKJMTUVWX9:G;<=DELKJIM>?@ABC210/.-,+*)(wvtrusqp"! &%#$'WVXF8UT~}|{zyxonmlkjihgfeTUVWXNone 9:;<=DRYSpectral crossfade.Z!Spectral bilinear crossfade (see cfd4).[Generic spectral crossfade.\ Weighted sum.]GIt applies an effect and balances the processed signal by original one.^It applies an effect and balances the processed signal by original one. Also it applies an effect and mixes the processed balanced signal with original one.YZ[\]^  YZ[\]^  ]^YZ[\YZ[\]^None_List of temperaments (or more precisely f-table of temperaments). It can be passed as an argument to the instrument (it can be a part of the note).bUData structure for musical temperament. The value can be created with constructors genTemp and  genTempCentT. It can be passed as an argument to the instrument (it can be a part of the note).e$Creates a temperament. Arguments are +genTemp interval baseHz baseMidiPitch cents For example: 9genTemp 2 261.63 60 [0, 100, 200 .. more cents .. , 1200]aCent list should include the first note from the next octave(interval of temperament repetition).f$Creates a temperament. Arguments are 0genTempCent interval baseHz baseMidiPitch ratios For example: 3genTempRatio 2 261.63 60 [1, .. more ratios .. , 2]aCent list should include the first note from the next octave(interval of temperament repetition).gtTemperament with base note at note C (261.63 Hz) and an octave as interval (2). The argument is the list of ratios.hsTemperament with base note at note C (261.63 Hz) and an octave as interval (2). The argument is the list of cents.i[Temperament with 9th note tuned to 440 Hz (Concert A). The argument is the list of ratios.jZTemperament with 9th note tuned to 440 Hz (Concert A). The argument is the list of cents.kcBaroque Temperament with 9th note tuned to 415 Hz (Concert A). The argument is the list of ratios.lbBaroque Temperament with 9th note tuned to 415 Hz (Concert A). The argument is the list of cents.m[Temperament with 9th note tuned to 440 Hz (Concert A). The argument is the list of ratios.nZTemperament with 9th note tuned to 440 Hz (Concert A). The argument is the list of cents.oCreates a list of temperaments.p)Selects one of the temperaments by index.qlSelects one of the temperaments by index. Works at the time of instrument initialization (remains constant).rConverts cents to ratios.sConverts ratios to cents.|Equal temperament}Just intonation~Meantone temperamentPythagorean tuningRWerckmeister III temperament. Probably it was temperament of the Bach musical era.Tomas Young temperament6Tomas Young temperament 1 (aligned with ET by C and A)6Tomas Young temperament 2 (aligned with ET by C and A)+_`abcdefghijklmnopqrstuvwxyz{ |}~%_`abcdefghijklmnopqrstuvwxyz{|}~%bcdefhgjilknm|}~tuvwxyz{_`aopqrs'_`abcdefghijklmnopqrstuvwxyz{ |}~-None9:;DRConstructs a simple instrument that takes in a tuple of two arguments. They are amplitude and the frequency (in Hz or cycles per second).mConstructs a drum-like instrument. Drum like instrument has a single argument that signifies an amplitude.* & .None9:;DR   /None9:;DR`Converts a value to the midi-instrument with custom temperament. It's used with the functions *0, *1.FConverts a value to the midi-instrument. It's used with the functions *0, *1. 6Midi message convertion to Hz with custom temperament.x                           ! " # $ % & ' ( ) * + , - . / 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 ju                           ! " # $ % & ' ( ) * + , - . / 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 j2None None.Listens for continuous signal from OSC-channel #listenOscSig host address initValue7Listens for pair of continuous signals from OSC-channel $listenOscSig2 host address initValue 3456789:; :78965;34None?     @?>=<;?     @?>=<;NoneTLayouts the widgets in grid. The first argument is the number of widgets in the row. grid rowLength widgets  None:L-0Represents a values with frequency of occurence.Converts event stream to signal. The first argument is initial value. It holds the value while nothing happens. If the event happens it overwrites the current value of the output signal.aConverts an event stream to boolean signal. It's True when something happens and False otherwise.dCreates a trigger signal out of event stream. It equals to 1 when something happens and 0 otherwise.UConstant event stream. It produces the same value (the first argument) all the time. Behaves like (3, but returns an event stream.@Creates a stream of events that happen with the given frequency.!Csound's original metro function.VCreates a stream of ticks that happen around the given frequency with given deviation. gaussTrig freq deviationQCreates a stream of random events. The argument is a number of events per second. dust eventsPerSecondNCreates a signal that contains a random ones that happen with given frequency._Creates a signal that contains a random ones or negative ones that happen with given frequency.Fires a single event right now. loadbang = pulseE 02Fires a single true value in the given time ahead.-Fires a single event in the given time ahead.*Makes an event stream from list of events. Behaves like (4, but returns an event stream. Behaves like (5, but returns an event stream.;the sync function but time is measured in beats per minute.2Splits event stream on two streams with predicate.9Splits a toggle event stream on on-events and off-events.wConstructs an event stream that contains pairs from the given pair of signals. Events happens when any signal changes.Constructs an event stream that contains an infinite repetition values from the given list. When an event happens this function takes the next value from the list, if there is no values left it starts from the beggining of the list.bTurns an event of indices to the event of the values from the list. A value is taken with index.  1range (xMin, xMax) === cycleE [xMin .. pred xMax]>An event stream of the integers taken from the given diapason.5An event stream of the random values in the interval (0, 1).9An event stram of lists of random values in the interval (0, 1)5. The first argument is the length of the each list.Skips elements at random.  randSkip probwhere prob@ is probability of includinng the element in the output stream. Skips elements at random. randSkip probFunIt behaves just like randSkip', but probability depends on the value.When something happens on the given event stream resulting event stream contains an application of some unary function to the given initial value. So the event stream contains the values: '[s0, f s0, f (f s0), f (f (f s0)), ...]ISubstitutes all values in the input stream with the given constant value.uAccumulates a values from the given event stream with binary function. It's a variant of the fold for event streams. appendE z f evt When value a happens with evt2, the resulting event stream contains a value (z f a) and in the next time z equals to this value."A special variant of the function % for the monoids. Initial value is  k and binary function is  l, which belong to the instance of the class  m.iConstructs an event stream that contains values from the given list which are taken in the random order.Constructs an event stream that contains values from the given list which are taken in the random order. In the list we specify not only values but the frequencies of occurrence. Sum of the frequencies should be equal to one.%This function combines the functions 6 and . We transform the values of the event stream with stateful function that produce not just values but the list of values with frequencies of occurrence. We apply this function to the current state and the value and then at random pick one of the values.Specialization of the function .  every n [a, b, c, ..] evt#constructs a mask that skips first n elements and then produces an event and skips next (a - 1) events, then produces an event and skips next (b - 1) events and so on. It's useful for construction of the percussive beats. For example  every 0 [2] (metroE 2)ktriggers an event on the odd beats. With this function we can create a complex patterns of cyclic events.Filters events with the mask. A mask is a list of ones and zeroes. n'th element from the given list should be included in the resulting stream if the n'th element from the list equals to one or skipped if the element equals to zero.<Converts clicks to alternating 0 and 1 (toggle event stream)VConverts clicks to alternating 1 and 0 (toggle event stream with first value set to 1)MTakes the ns events from the event stream and ignores the rest of the stream.LDrops the ns events from the event stream and leaves the rest of the stream.)Takes events while the predicate is true.)Drops events while the predicate is true.4 n o p q r s@@4 n o p q r sNone)#Pair of minimum and maximum values.6A radio button. It takes a list of values with labels.A matrix of values.URadio button that returns functions. Useful for picking a waveform or type of filter.Matrix of functional values.Shortcut for press  events.Shortcut for release  events.GCreates an event in the output stream when one of the chars is pressed.ICreates an event in the output stream when one of the chars is depressed.eUnipolar linear slider. The value belongs to the interval [0, 1]. The argument is for initial value.cUnipolar linear knob. The value belongs to the interval [0, 1]. The argument is for initial value.DExponential slider (usefull for exploring frequencies or decibels).  xknob (min, max) initValVThe value belongs to the interval [min, max]. The last argument is for initial value.BExponential knob (usefull for exploring frequencies or decibels).  xknob (min, max) initValVThe value belongs to the interval [min, max]. The last argument is for initial value.Unit linear joystick.The sample and hold widget. You can pick a value from the list of doubles. The original value is a head of the list (the first element). The visual grouping is horizontal (notice the prefix h(). It's common to use it with function selector.The sample and hold widget. You can pick a value from the list of doubles. The original value is a head of the list (the first element). The visual grouping is vertical (notice the prefix v(). It's common to use it with function selector.The matrix of unipolar knobs. (knobPad columnNum rowNum names initVals It takes in the dimensions of matrix, the names (we can leave it empty if names are not important) and list of init values. It returns a function that takes in indices and produces the signal in the corresponding cell.The matrix of toggle buttons. *togglePad columnNum rowNum names initVals It takes in the dimensions of matrix, the names (we can leave it empty if names are not important) and list of init values (on/off booleans). It returns a function that takes in indices and produces the event stream in the corresponding cell.The matrix of buttons.  buttonPad columnNum rowNum namesIt takes in the dimensions of matrix, the names (we can leave it empty if names are not important). It returns a function that takes in indices and produces the event stream in the corresponding cell.A generic constructor for matrixes of sound source widgets. It takes the constructor of the widget, a default initial value, the dimensions of the matrix, the list of names and the list of initial values. It produces the function that maps indices to corresponding values.Horizontal radio group.Vertical radio group.Horizontal radio group.Vertical radio group.fCreates a knob that outputs only integers in the given range. It produces a signal of integer values.  rangeKnobSig (min, max) initVal hCreates a slider that outputs only integers in the given range. It produces a signal of integer values. "rangeSliderSig (min, max) initVal Creates a knob that outputs only integers in the given range. It produces an event stream of integer values. It can be used with list access functions listAt, atTuple, atArg. %rangeKnob needInit (min, max) initValThe first argument is a boolean. If it's true than the initial value is put in the output stream. If its False the initial value is skipped.Creates a slider that outputs only integers in the given range. It produces an event stream of integer values. It can be used with list access functions listAt, atTuple, atArg. 'rangeSlider needInit (min, max) initValThe first argument is a boolean. If it's true than the initial value is put in the output stream. If its False the initial value is skipped.z2d range range slider. Outputs a pair of event streams. Each stream contains changes in the given direction (Ox or Oy). /rangeJoy needsInit rangeX rangeY (initX, initY)The first argument is a boolean. If it's true than the initial value is put in the output stream. If its False the initial value is skipped.d2d range range slider. It produces a single event stream. The event fires when any signal changes. 0rangeJoy2 needsInit rangeX rangeY (initX, initY)The first argument is a boolean. If it's true than the initial value is put in the output stream. If its False the initial value is skipped.>2d range range slider. It produces the pair of integer signalsIt's like simple button^, but it can be controlled with external control. The first argument is for external control.It's like simple toggle^, but it can be controlled with external control. The first argument is for external control.It's like simple uknob^, but it can be controlled with external control. The first argument is for external control.It's like simple uslider^, but it can be controlled with external control. The first argument is for external control.It's like simple knob^, but it can be controlled with external control. The first argument is for external control.It's like simple slider^, but it can be controlled with external control. The first argument is for external control.It's like simple  hradioSig^, but it can be controlled with external control. The first argument is for external control.It's like simple  vradioSig^, but it can be controlled with external control. The first argument is for external control.It's like simple hradio^, but it can be controlled with external control. The first argument is for external control.It's like simple vradio^, but it can be controlled with external control. The first argument is for external control.5 t u v w x y z { | } ~RQP~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQP~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTS5 t u v w x y z { | } ~None 9:;<=DR&6Creates a window with the given name, size and content win name (width, height) guiHides the SE inside Source.Resizes all default minimal sizes for all elements in the source. It affects the total sizes of the widgets. So for example if our UI is too big and it doesn't fir to the screen we can make it smaller by scaling: !resizeSource (0.75, 0.5) uiSourceFGroups a list of Source-widgets. The visuals are horizontally aligned.DGroups a list of Source-widgets. The visuals are vertically aligned.wGroups a list of Source-widgets. The visuals are put on the grid. The first argument is numer of elements i each row.iGroups a list of Source-widgets. The visuals are horizontally aligned. It uses the list of proportions.fGroups a list of Source-widgets. The visuals are vertically aligned. It uses the list of proportions.The shortcut for  mapSource.wCombines two sound sources. Visuals are aligned horizontally and the sound sources a grouped with the given function. uCombines two sound sources. Visuals are aligned vertically and the sound sources a grouped with the given function. It's just like the hlift2> but two more parameters change visual scaling of the widgets.It's just like the vlift2> but two more parameters change visual scaling of the widgets. The same as hlift2 but for three sound sources. The same as vlift2 but for three sound sources. The same as hlift2' but for three sound sources. The same as vlift2' but for three sound sources. The same as hlift2 but for four sound sources.  The same as vlift2 but for four sound sources.  The same as hlift2' but for four sound sources.  The same as vlift2' but for four sound sources.  The same as hlift2 but for five sound sources.  The same as vlift2 but for five sound sources. The same as hlift2' but for five sound sources. The same as vlift2' but for five sound sources.6Monadic bind with horizontal concatenation of visuals.4Monadic bind with vertical concatenation of visuals.7Monadic apply with horizontal concatenation of visuals.5Monadic apply with vertical concatenation of visuals.vMonadic bind with horizontal concatenation of visuals. It expects scaling factors for visuals as first two arguments.tMonadic bind with vertical concatenation of visuals. It expects scaling factors for visuals as first two arguments.wMonadic apply with horizontal concatenation of visuals. It expects scaling factors for visuals as first two arguments.uMonadic apply with vertical concatenation of visuals. It expects scaling factors for visuals as first two arguments.OCreates a list of sources with mapping a function and stacks them horizontally.MCreates a list of sources with mapping a function and stacks them vertically. It's like hmapM. but we can supply the list of relative sizes. It's like hvapM. but we can supply the list of relative sizes.Creates a list of sources with mapping a function and puts them on the grid. The first argument is the number of items in the row.9             ORQP~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTS     @?>=<;     D     9             None9;#Renders Csound file.$0Render Csound file and save it to the give file.%=Render Csound file with options and save it to the give file.&9Render Csound file and save result sound to the wav-file.'FRender Csound file with options and save result sound to the wav-file.(qRenders Csound file, saves it to the given file, renders with csound command and plays it with the given program. playCsd program file csd Produces files file.csd (with 78) and file.wav (with csound) and then invokes: program "file.wav")Works just like 79# but you can supply csound options.*Renders csound code to file tmp.csd with flags set to -odac and -Ma0 (sound output goes to soundcard in real time).+*: with options.,)Output to dac with virtual midi keyboard.-@Output to dac with virtual midi keyboard with specified options..Renders to file tmp.csd and invokes the csound on it./Renders to file tmp.csd and invokes the csound on it.06Renders to tmp.csd and tmp.wav and plays with mplayer.16Renders to tmp.csd and tmp.wav and plays with mplayer.2;Renders to tmp.csd and tmp.wav and plays with totem player.3;Renders to tmp.csd and tmp.wav and plays with totem player.4}Runs the csound files with cabbage engine. It invokes the Cabbage command line utility and setts all default cabbage flags.5Runs the csound files with cabbage engine with user defined options. It invokes the Cabbage command line utility and setts all default cabbage flags.63Alias to process inputs of single input audio-card.73Alias to process inputs of stereo input audio-card.84Alias to process inputs of audio-card with 4 inputs.94Alias to process inputs of audio-card with 6 inputs.:4Alias to process inputs of audio-card with 8 inputs.t!" #$%&'() *+,- ./0123 456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~QRS!"#$%&'()*+,-./0123456789:!"#$%&'()0123*+,-./456789:SRQs!" #$%&'() *+,- ./0123 456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None 9:;DRT ,Mixes the scores and plays them in the loop.0Mixes the procedures and plays them in the loop.kInvokes an instrument with first event stream and holds the note until the second event stream is active.VInvokes an instrument with toggle event stream (1 stands for on and 0 stands for off).kInvokes an instrument with first event stream and holds the note until the second event stream is active.Transforms an instrument from always on to conditional one. The routput instrument plays only when condition is true otherwise it produces silence.FSets the same duration for all events. It's useful with the functions sched, schedBy, sched_. >Executes some procedure for the whole lifespan of the program,Turns off named instruments. %turnoffNamedInstr name kmode krelease/name of the instrument (should be defined with  trigByName or smth like that).%kmode -- sum of the following values:K0, 1, or 2: turn off all instances (0), oldest only (1), or newest only (2)q4: only turn off notes with exactly matching (fractional) instrument number, rather than ignoring fractional part@8: only turn off notes with indefinite duration (p3 < 0 or MIDI)krelease -- if non-zero, the turned off instances are allowed to release, otherwise are deactivated immediately (possibly resulting in clicks)  m k l <=>?@ABCDEFGHIJTUVWXYZ[\ 1JIHDFEGBCA>@?=<\[ZTYXWVU  None:'Specifies the midi channel or programm.^Converts midi velocity number to amplitude. The first argument is dynamic range in decibels. 4ampmidinn (volMinDb, volMaxDb) volumeKey = amplitude0Midi message convertion with custom temperament.6Midi message convertion to Hz with custom temperament.OMidi pitch key convertion to Hz with custom temperament. It works on constants.MMidi pitch key convertion to Hz with custom temperament. It works on signals.Produces midi amplitude and frequency as a signal. The signal fades out when nothing is pressed. It can be used in mono-synths. Arguments are portamento time and release time. A portamento time is time it takes for transition from one note to another. *monoMsg channel portamentoTime releaseTime"Produces midi amplitude and frequency as a signal. The signal fades out when nothing is pressed. It can be used in mono-synths. Arguments are custom temperament, midi channel, portamento time and release time. A portamento time is time it takes for transition from one note to another. :monoMsgTemp temperament channel portamentoTime releaseTimeProduces an argument for monophonic midi-synth. The signal fades out when nothing is pressed. It can be used in mono-synths. genMonoMsg channelJust like mono  genMonoMsgI but also we can alter the temperament. The temperament spec goes first. "genMonoMsgTemp temperament channelJust like mono  genMonoMsgI but also we can alter the temperament. The temperament spec goes first. "genMonoMsgTemp temperament channelProduces midi amplitude and frequency as a signal and holds the last value till the next one is present. It can be used in mono-synths. Arguments are portamento time and release time. A portamento time is time it takes for transition from one note to another. holdMsg portamentoTimeProduces midi amplitude and frequency as a signal and holds the last value till the next one is present. It can be used in mono-synths. Arguments are portamento time and release time. A portamento time is time it takes for transition from one note to another. holdMsg portamentoTimeCreates a named instrument that can be triggered with Csound API. This way we can create a csd file that can be used inside another program/language.\It simulates the input for monophonic midi-like instrument. Notes are encoded with messages: di "givenName" 1 pitchKey volumeKey -- note on i "givenName" 0 pitchKey volumeKey -- note off The output is a pair of signals (midiVolume, midiPitch).~Listens to midi on event on the given key as event stream. The event stream carries the level of volume (ranges from 0 to 1).;Listens to midi on event off the given key as event stream.,Initialization of the midi control-messages.BInitializes midi control and get the value in the specified range.BInitializes midi control and get the value in the range (-1) to 1.RUnipolar midiCtrl. Initializes midi control and get the value in the range 0 to 1.4Invokes ooverloaded instruments with midi. Example: *dac $ tryMidi (mul (fades 0.01 0.1) . tri)KInvokes ooverloaded instruments with midi and custom temperament. Example: 6dac $ tryMidi' youngTemp2 (mul (fades 0.01 0.1) . tri)'    /KLMNOPO/OPONMLK$     NoneCreates a midi instrument from sf2 sound font. Midi listens on all channels. It's useful to quickly test a sound font. The second argument is a sustain in seconds. How long it takes for the sound to decay.Creates a midi instrument from sf2 sound font. Midi listens on all channels. It's useful to quickly test a sound font. The second argument is a sustain in seconds. How long it takes for the sound to decay.Creates a midi instrument from sf2 sound font file. The second argument is sustain in seconds. Reads samples with linear interpolation.Creates a midi instrument from sf2 sound font file. The second argument is sustain in seconds. Reads samples with cubic interpolation.Creates a midi instrument from sf2 sound font file. The second argument is sustain in seconds. Reads samples with linear interpolation. Produces mono output.Creates a midi instrument from sf2 sound font file. The second argument is sustain in seconds. Reads samples with cubic interpolation. Produces mono output.]Midi looper of the sf2 samples. The first arguments are: start, end, crossfade of the loop.Creates a midi instrument from sf2 sound font file. The second argument is sustain in seconds. Reads samples with linear interpolation.Creates a midi instrument from sf2 sound font file. The second argument is sustain in seconds. Reads samples with cubic interpolation.Creates a midi instrument from sf2 sound font file. The second argument is sustain in seconds. Reads samples with linear interpolation. Produces mono output.Creates a midi instrument from sf2 sound font file. The second argument is sustain in seconds. Reads samples with cubic interpolation. Produces mono output.]Midi looper of the sf2 samples. The first arguments are: start, end, crossfade of the loop.Reads sf2 samples at given midi velocity and key (both are from 0 to 127). The second argument is sustain. Interpolation is linear.Reads sf2 samples at given midi velocity and key (both are from 0 to 127). The second argument is sustain. Interpolation is cubic.Reads sf2 samples at given midi velocity and key (both are from 0 to 127). The second argument is sustain. Interpolation is linear. The output is mono.Reads sf2 samples at given midi velocity and key (both are from 0 to 127). The second argument is sustain. Interpolation is cubic. The output is mono.XLooper of the sf2 samples. The first arguments are: start, end, crossfade of the loop.^Reads sf2 samples with amplitude in (0, 1) and frequency in Hz. The interpolation is linear.]Reads sf2 samples with amplitude in (0, 1) and frequency in Hz. The interpolation is cubic.sReads sf2 samples with amplitude in (0, 1) and frequency in Hz. The interpolation is linear. The output is mono.rReads sf2 samples with amplitude in (0, 1) and frequency in Hz. The interpolation is cubic. The output is mono.XLooper of the sf2 samples. The first arguments are: start, end, crossfade of the loop. frequency to midi  2121  None]^_`abcddbca`_^];None m k l 213456789:;<=>?@ABCDEFGHIJKLMNOPTUVWXYZ[\]^_`abcdNORQP~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTS     @?>=<;      NoneTABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~T~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA None,Low frequency oscillatorA pure tone (sine wave).@A pure tone (sine wave) with initial phase (the first argiment).*An oscillator with user provided waveform.SAn oscillator with user provided waveform with initial phase (the second argiment).LTurns a bipolar sound (ranges from -1 to 1) to unipolar (ranges from 0 to 1)MTurns an unipolar sound (ranges from 0 to 1) to bipolar (ranges from -1 to 1)Unipolar pure tone. Unipolar <=.Unipolar sawtooth.Unipolar integrated sawtooth.Unipolar square wave.Unipolar triangle wave.Unipolar pulse.!Unipolar band-limited oscillator.Unipolar random splines. It generates the splines with unipolar output (ranges from 0 to 1). Arguments affect the frequency for generation of new values. urspline cpsMin cpsMaxBipolar random splines. It generates the splines with bipolar output (ranges from -1 to 1). Arguments affect the frequency for generation of new values. birspline cpsMin cpsMaxFrequency modulation +fosc carrierFreq modulatorFreq modIndex cps.Pulse width modulation (width range is 0 to 1) pw dutyCycle cps.Pulse width modulation (width range is 0 to 1) pw' dutyCycle phase cps9Triangle wave with ramp factor (factor's range is 0 to 1) ramp factor cps9Triangle wave with ramp factor (factor's range is 0 to 1) ramp' factor phase cps%Unipolar pulse width modulation wave.'Unipolar triangle wave with ram factor.$Generic random smoothTypephase oscil GConstant random signal. It updates random numbers with given frequency. constRnd freq  ELinear random signal. It updates random numbers with given frequency.  rndi freq   Unipolar rndh  Unipolar rndi  White noise. Pink noise.Low frequency oscillator lfo shape depth ratebScales the oscillator by frequency. That's how we can rise the pitch by 2 semitones and 15 cents: !detune (semitone 2 * cent 15) oscUnision by Hertz. It creates n oscillators that are playing the same pitch slightly detuned. The oscillatos's pitch is evenly distributed in Hz. #multiHz numberOfUnits amountHz waveUnision by Cents. It creates n oscillators that are playing the same pitch slightly detuned. The oscillatos's pitch is evenly distributed in cents. 'multiCent numberOfUnits amountCent wave7Oscillators are detuned randomly in the given interval. &multiRnd numberOfUnits amountCent waveOOscillators are detuned randomly with Gauss distribution in the given interval. (multiGauss numberOfUnits amountCent waverOscillators are detuned randomly in the given interval. Useful for waves that return a signals with Side Effects. &multiRnd numberOfUnits amountCent waveOscillators are detuned randomly with Gauss distribution in the given interval. Useful for waves that return a signals with Side Effects. (multiGauss numberOfUnits amountCent wave  Mean value.6Output is a set of harmonically related sine partials. buz numOfHarmonics frequencyBuz with phase8Output is a set of harmonically related cosine partials. 'gbuz (minHarm, maxHarm) ratio frequencyGbuz with phaseg          !"#$%&'()*+,-./012n !"#$%&'()*      !"#$%&'()*+,-./012n*)'&(%$#! " !"#$%&'()*+,-./012     g          !"#$%&'()*+,-./012 None31Hard sync with saw waveform and randomized phase.4:Hard sync with integral saw waveform and randomized phase.53Hard sync with pulse waveform and randomized phase.64Hard sync with square waveform and randomized phase.76Hard sync with triangle waveform and randomized phase.8IHard sync with band-limited table waveform waveform and randomized phase.9-Hard-sync with non-bandlimited triangle wave.:+Hard-sync with non-bandlimited square wave.;-Hard-sync with non-bandlimited sawtooth wave.<0Hard-sync with non-bandlimited pulse-width wave.=-Hard-sync with non-bandlimited triangle wave.>+Hard-sync with non-bandlimited square wave.?-Hard-sync with non-bandlimited sawtooth wave.@0Hard-sync with non-bandlimited pulse-width wave.A-Hard-sync with non-bandlimited triangle wave.B+Hard-sync with non-bandlimited square wave.C-Hard-sync with non-bandlimited sawtooth wave.D0Hard-sync with non-bandlimited pulse-width wave.E-Hard-sync with non-bandlimited triangle wave.F+Hard-sync with non-bandlimited square wave.G-Hard-sync with non-bandlimited sawtooth wave.H0Hard-sync with non-bandlimited pulse-width wave. %Hard-sync with non-bandlimited waves.ISoft sync with given waveform (with band-limited square wave for switch). The soft sync amount is controlled with ratio between master and slave frequencies. #softSync slaveWave ratio masterWaveJRSoft sync with given waveform (with raw square wave for switch). It's faster than IU The soft sync amount is controlled with ratio between master and slave frequencies. &rawSoftSync slaveWave ratio masterWaveKSoft sync with given waveform (with band-limited square wave for switch). The soft sync amount is controlled with ratio between master and slave frequencies. With first argument we can specify the smoothness algorithm. *softSyncBy spec slaveWave ratio masterWaveLRSoft sync with given waveform (with raw square wave for switch). It's faster than K The soft sync amount is controlled with ratio between master and slave frequencies. With first argument we can specify the smoothness algorithm. -rawSoftSyncBy spec slaveWave ratio masterWaveMSoft sync with given waveform (with band-limited square wave for switch). The soft sync amount is controlled with absolute frequency of the slave oscillator. &softSyncAbs slaveWave ratio masterWaveNRSoft sync with given waveform (with raw square wave for switch). It's faster than MU The soft sync amount is controlled with absolute frequency of the slave oscillator. )rawSoftSyncAbs slaveWave ratio masterWaveOSoft sync with given waveform (with band-limited square wave for switch). The soft sync amount is controlled with absolute frequency of the slave oscillator. With first argument we can specify the smoothness algorithm. -softSyncAbsBy spec slaveWave ratio masterWavePRSoft sync with given waveform (with raw square wave for switch). It's faster than O The soft sync amount is controlled with absolute frequency of the slave oscillator. With first argument we can specify the smoothness algorithm. -rawSoftSyncBy spec slaveWave ratio masterWave' 3456789:;<=>?@ABCDEFGH  IJKLMNOP  T     0/.-,+3456789:;<=>?@ABCDEFGHIJKLMNOPT0/.-,+345678     =>?@9:;<EFGHABCDIJKLMNOP' 3456789:;<=>?@ABCDEFGH  IJKLMNOP  None Q'Settings for cross filtering algorithm.#They are the defaults for opvodes: pvsifd, tradsyn, trcross and partials. ;Fft size degree -- it's the power of 2. The default is 12.8Hop size degree -- it's the power of 2. The default is 9.scale --amplitude scaling factor. default is 10pitch -- the pitch scaling factor. default is 1  maxTracksJ -- max number of tracks in resynthesis (tradsyn) and analysis (partials).winType$ -- O: Hamming, 1: Hanning (default)Search/ -- search interval length. The default is 1.05Depth -- depth of the effectThreshq -- analysis threshold. Tracks below ktresh*max_magnitude will be discarded (1 > ktresh >= 0).The default is 0.01 MinPointsY -- minimum number of time points for a detected peak to make a track (1 is the minimum).MaxGap -- maximum gap between time-points for track continuation (> 0). Tracks that have no continuation after kmaxgap will be discarded.^Converts signal to spectrum._Converts spectrum to signal.`7Applies a transformation to the spectrum of the signal.a~Scales all frequencies. Usefull for transposition. For example, we can transpose a signal by the given amount of semitones: scaleSpec (semitone 1) asigb+Adds given amount of Hz to all frequencies. addSpec hz asigcScales frequency in semitones.dLFilters the partials of the second signal with partials of the first signal.ePSubstitutes the partials of the second signal with partials of the first signal.fcrossSpecFilter for mono signals.gcrossSpecVocoder for mono signals.QRSTUVWXYZ[\]^_`abc defg hQRSTUVWXYZ[\]^_`abcdefg^_`abcQRSTUVWXYZ[\]defgQ RSTUVWXYZ[\]^_`abc defg hNoneMi2Scaling factor for pitch. The 1 is inherent pitch.j2Scaling factor for tempo. The 1 is inherent tempo.kFidelity corresponds to the size of the FFT-window that is used by functions of RAM-family. The function performs the FFT transform and it has to know the size. It's not the value for the size it's an integer value that proportional to the size. The higher the value the higher the size the lower the value the lower the size. The default value is 0. Zero is best for most of the cases. For drums we can lower it to (-2).PS: here is the formula for window size: 2 ** (fidelity + 11). So the fidelity is actually the degree for power of two. The FFT-algorithm requires the window size to be a power of two.AThe lower fidelity is the less power is consumed by the function.lYLooping phasor. It creates a looping pointer to the file. It's used in the function ram.jTher arguments are: file name, start and end of the looping segment (in seconds), and the playback speed.rThe sample format.s,32-bit floating point samples without headert16-bit integers without headeruP16-bit integers with a header. The header type depends on the render (-o) formatvu-law samples with a headerw16-bit integers with a headerx32-bit integers with a header y32-bit floats with a headerz%8-bit unsigned integers with a header{24-bit integers with a header|64-bit floats with a headerKTakes only given amount (in seconds) from the signal (the rest is silence).0Delays signals by the given amount (in seconds).{Delays a signal by the first argument and takes only second argument amount of signal (everything is measured in seconds).)Repeats the signal with the given period.TPlays the first signal for some time (in seconds) and then switches to the next one. afterSnd dur sig1 sig2iCreates a sequence of signals. Each segment lasts for fixed amount of time given in the first argument.Creates a sequence of signals and loops over the sequence. Each segment lasts for fixed amount of time given in the first argument.1Converts stereosignal to mono with function mean.$Length in seconds of the sound file.;Produces repeating segments with the given time in seconds.=Reads stereo signal from the sound-file (wav or mp3 or aiff).nReads stereo signal from the sound-file (wav or mp3 or aiff) and loops it with the given period (in seconds).`Reads stereo signal from the sound-file (wav or mp3 or aiff) and loops it with the file length.Reads the wav file with the given speed (if speed is 1 it's a norma playback). We can use negative speed to read file in reverse.$Reads th wav file and loops over it.Reads a segment from wav file. Reads the wav file with the given speed (if speed is 1 it's a norma playback). We can use negative speed to read file in reverse. Scales the tempo with first argument.JReads th wav file and loops over it. Scales the tempo with first argument.!The mono variant of the function readSnd.!The mono variant of the function  loopSndBy.!The mono variant of the function loopSnd.!The mono variant of the function readWav.!The mono variant of the function loopWav.Reads a segment from wav file.Reads the mono wav file with the given speed (if speed is 1 it's a norma playback). We can use negative speed to read file in reverse. Scales the tempo with first argument.OReads th mono wav file and loops over it. Scales the tempo with first argument.Loads the sample in the table. The sample should be short. The size of the table is limited. It's up to 3 minutes for 44100 sample rate (sr), 2.9 minutes for 48000 sr, 1.4 minutes for 96000 sr.Loads the sample in the table. The sample should be short. The size of the table is limited. It's up to 6 minutes for 44100 sample rate (sr), 5.9 minutes for 48000 sr, 2.8 minutes for 96000 sr.rWrites a sound signal to the file with the given format. It supports only four formats: Wav, Aiff, Raw and Ircam.Writes wav files.QDumps signals to file and sends the audio through. Useful to monitor the signals.UDumps mono signal to file and sends the audio through. Useful to monitor the signals.Writes aiff files.!Writes mono signals to wav files."Writes mono signals to aiff files.)mincer  Phase-locked vocoder processing.mincer implements phase-locked vocoder processing using function tables containing sampled-sound sources, with GEN01, and mincer will accept deferred allocation tables.SThis opcode allows for time and frequency-independent scaling. Time is controlled by a time index (in seconds) to the function table position and can be moved forward and backward at any chosen speed, as well as stopped at a given position ("frozen"). The quality of the effect is generally improved with phase locking switched on. ?asig mincer atimpt, kamp, kpitch, ktab, klock[,ifftsize,idecim] csound doc: .http://www.csounds.com/manual/html/mincer.htmlMtemposcal  Phase-locked vocoder processing with onset detection/processing, 'tempo-scaling'. temposcal implements phase-locked vocoder processing using function tables containing sampled-sound sources, with GEN01, and temposcal will accept deferred allocation tables.:This opcode allows for time and frequency-independent scaling. Time is advanced internally, but controlled by a tempo scaling parameter; when an onset is detected, timescaling is momentarily stopped to avoid smearing of attacks. The quality of the effect is generally improved with phase locking switched on.dtemposcal will also scale pitch, independently of frequency, using a transposition factor (k-rate).  Pasig temposcal ktimescal, kamp, kpitch, ktab, klock [,ifftsize, idecim, ithresh] csound doc: 1http://www.csounds.com/manual/html/temposcal.html=Mincer. We can playback a table and scale by tempo and pitch. $mincer fidelity table pointer pitch fidelity is the parameter that specifies the size of the window (for FFT transform). The size equals to formula (fidelity + 11) ^ 2. If you don't know what to choose choose 0 for pitched sounds and -2 for drums. The table contains the sample to playback. The pointer loops over the table. The pitch specifies a scaling factor for pitch. So we can raise tone an octave up by setting the pitch to 2.CCreates a pointer signal for reading audio from the table in loops. lphase length start end speedArguments are:length of the table in seconds,start and end points of the reading intervalplayback speed Forces phasor to play only once.Reads the file forth and back. Creates a phasor if segments are relative to the total length. It can be useful for drum loops. If we don't know the complete length but we know that loop contains four distinct parts.OCreates a phasor for reading the whole audio file in loops with given speed.Reads audio files in loops. The file is loaded in RAM. The size of the file is limited. It should be not more than 6 minutes for sample rate of 44100. 5.9 minutes for 48000.What makes this function so cool is that we can scale the sound by tempo without affecting pitch, and we can scale the sound by pitch without affecting the tempo. Let's study the arguments. ram fidelity phasor pitch fidelity corresponds to the size of the FFT-window. The function performs the FFT transform and it has to know the size. It's not the value for the size it's an integer value that proportional to the size. The higher the value the higher the size the lower the value the lower the size. The default value is 0. Zero is best for most of the cases. For drums we can lower it to (-2).#The phasor is a quadruple of values /(Phsr fileName startTime endTime playbackSpeed)we can read the file from startTime to endTime (in seconds) and we can set the speed for playback. If speed is negative file is played in reverse. The playback is looped. So to scale the tempo or play in reverse we can change the playbackSpeed.The last argument is pitch factor. We can rise by octave with factor 2. It's good place to use the function semitone. It produces factors for a number in semitones.Note that all parameters (except window size) are signals. It makes this function very flexible. We can change the speed of playback and start and end of the reading segment as we wish. !ram 0 (Phsr "file.wav" 0 1 1.2) 1=PS: here is the formula for window size: 2 ** (fidelity + 11)1Reads file once and scales it by tempo and pitch.NLoop over file and scales it by tempo and pitch (it's based on mincer opcode).`Reads a segment from file once and scales it by tempo and pitch. Segment is defined in seconds.^Loops over a segment of file and scales it by tempo and pitch. Segment is defined in seconds.Reads a relative segment from file once and scales it by tempo and pitch. Segment is defined in seconds. The end ponits for the segment are relative to the total length of the file.Loops over a relative segment of file and scales it by tempo and pitch. Segment is defined in seconds. The end ponits for the segment are relative to the total length of the file.The mono version of readRam.The mono version of loopRam.The mono version of readSeg.The mono version of loopSeg.The mono version of readRel.The mono version of loopRel.3ScaleWav function with fidelity set for drum-loops.9ScaleWav function with fidelity set for hormonical-loops.4ScaleWav1 function with fidelity set for drum-loops.:ScaleWav1 function with fidelity set for hormonical-loops.\Scaling mono audio files (accepts both midi and wav). It's based on temposcal Csound opcode.^Scaling stereo audio files (accepts both midi and wav). It's based on temposcal Csound opcode.[ijklmnopqrstuvwxyz{|}~    Wijklmnopqrwxstuvyz{|}~W}~lmnopqkjirstuvwxyz{|Iijklmnopqr stuvwxyz{|}~    NoneDRA segment of the signal. The signal segment is a limited span of signal in time. The time can be measured in seconds or in events! The time span which is measured in events is the first occurence of the event in the event stream. (There are handy functions for scheduling the signal segments. we can delay the segment or loop over it or limit it with tme interval or play a sequence of segments. The main feature of the segments is the ability to schedule the signals with event streams (like button clicks or midi-events). DConverts signals to segments. The segment is not limited in length. 3Limits the length of the segment with event stream.ALimits the length of the segment with constant length in seconds. 1Plays the sequence of segments one ofter another. jPlays a list of segments at the same time. the total length equals to the biggest length of all segments. LLoops over a segment. The segment should be limited for loop to take effect.BLimits a signal with an event stream and retriggers it after stop.Converts segments to signals. CA pause. Plays nothing until something happens on the event stream. =Delays a segment until something happens on the event stream.>A pause. Plays nothing for the given time interval in seconds.5Delays a segment by a given time interval in seconds. OTakes the first event from the event stream and ignores the rest of the stream.&                                          None+The same as headPan but for stereo signals.,The same as headPan' but for stereo signals.1The same as staticHeadPan but for stereo signals.Net of sounds evenly distributed oround the head. First argument is a pair of numbers (column, rows) in the matrix. The second argument is a matrix written in a single list. The rows are for elevation and the columns are for azimuth.A ghci session example: let f t x = mul 0.4 $ sched (\_ -> return $ fades 0.07 0.1 * tri x) $ withDur 0.2 $ metro t dac $ headPanNet (3, 2) [f 1 220, f 0.75 330, f 0.5 440, f 0.2 660, delaySnd 0.75 $ f 2 (220 * 5/4),delaySnd 0.4 $ f 1 (220 * 9/8)].The same as headPanNet but for stereo signals.  None 3D matrix (cube of vectors)2D matrix (grid of vecotrs) 1D matrix Hvs vectordAllows one-dimensional Hyper Vectorial Synthesis (HVS) controlled by externally-updated k-variables.ihvs1 allows one-dimensional Hyper Vectorial Synthesis (HVS) controlled by externally-updated k-variables. R hvs1 kx, inumParms, inumPointsX, iOutTab, iPositionsTab, iSnapTab [, iConfigTab] csound doc: ,http://www.csounds.com/manual/html/hvs1.htmldAllows two-dimensional Hyper Vectorial Synthesis (HVS) controlled by externally-updated k-variables.ihvs2 allows two-dimensional Hyper Vectorial Synthesis (HVS) controlled by externally-updated k-variables. c hvs2 kx, ky, inumParms, inumPointsX, inumPointsY, iOutTab, iPositionsTab, iSnapTab [, iConfigTab] csound doc: ,http://www.csounds.com/manual/html/hvs2.htmlfAllows three-dimensional Hyper Vectorial Synthesis (HVS) controlled by externally-updated k-variables.khvs3 allows three-dimensional Hyper Vectorial Synthesis (HVS) controlled by externally-updated k-variables. t hvs3 kx, ky, kz, inumParms, inumPointsX, inumPointsY, inumPointsZ, iOutTab, iPositionsTab, iSnapTab [, iConfigTab] csound doc: ,http://www.csounds.com/manual/html/hvs3.htmlPOne dimensional Hyper vectorial synthesis. We can provide a list of vectors (of lists but the same length for all items is assumed) and a signal that ranges from 0 to 1. It interpolates between vectors in the list. As a result we get a n interpolated vector. It's a list but the actual length equals to the length of input vectors.bAn example. We can set the center frequency and resonance of the filter with the single parameter: let f = hvs1 [[100, 0.1], [300, 0.1], [600, 0.5], [800, 0.9]] dac $ lift1 (\x -> fmap (\[cps, q] -> mlp cps q (saw 110)) $ f x) (uknob 0.5)TNotice the exact pattern match with the list in the argument of the lambda function: '\[cps, q] -> mlp cps q (saw 110)) $ f x=It's determined by the length of the items in the input list.Two dimensional Hyper vectorial synthesis. Now we provide a list of lists of vectors. The length of all vectors should be the same but there is no limit for the number! So that's how we can control a lot of parameters with pair of signals. The input 2D atrix is the grid of samples. It finds the closest four points in the grid and interpolates between them (it's a weighted sum). hvs2 matrix (x, y)(The usage is the same as in the case of hvs1 . An example: Vg = hvs2 [[[100, 0.1, 0.3], [800, 0.1, 0.5], [1400, 0.1, 0.8]], [[100, 0.5, 0.3], [800, 0.5, 0.5], [1400, 0.5, 0.8]], [[100, 0.8, 0.3], [800, 0.8, 0.5], [1400, 0.8, 0.8]]] main = dac $ do (g1, kx) <- uknob 0.5 (g2, ky) <- uknob 0.5 [cfq, q, w] <- g (kx, ky) panel $ hor [g1, g2] at (mlp cfq q) $ fmap (cfd w (saw 110)) (white)The three dimensional    None "Creates fm node with generic wave. fmOsc' wave modFreqCreates fm node with sine wave.  fmOsc modFreqQCreates fm node with signal generator (it's independent from the main frequency).Renders Fm synth to function.Renders mono output.Renders stereo output. 3 +--+ 6 | +--+ 5 | 2 4 | | 1 3 +---+ R 6 | 5 +--+ | 2 | 4 +--+ | 1 3 +-----+ 6 +--+ 3 6 | | +--+ 2 5 | | 1 4 +---+ L +--+ 3 6 | | | | 2 5 | | | | 1 4 | | +--+ +---+ ) ! " # $ % & ' ( ) * + , - . / 0 1 ! " # $ % & ' ( ) * + , - . / 0 1None5Filter without a resonance. f centerFreq q asigResonant filter. f centerFreq q asigLow-pass filter. lp cutoff resonance sigHigh-pass filter. hp cutoff resonance sigBand-pass filter. bp cutoff resonance sigBand-reject filter. br cutoff resonance sigAll-pass filter. alp cutoff resonance sigHigh-pass filter. bhp cutoff sigLow-pass filter. blp cutoff sigBand-pass filter. bbp cutoff bandwidth sigBand-regect filter. bbr cutoff bandwidth sigMoog's low-pass filter. %mlp centerFrequency qResonance signal Makes slides between values in the signals. The first value defines a duration in seconds for a transition from one value to another in piecewise constant signals. Produces smooth transitions between values in the signals. The first value defines a duration in seconds for a transition from one value to another in piecewise constant signals. ]Makes fake resonant filter from flat filter. The resulting filter just ignores the resonance. >Applies a filter n-times. The n is given in the first rgument. WApplies a flat filter (without resonance) n-times. The n is given in the first rgument.7Low pass filter 18 dB with built in distortion module. )lp18 distortion centerFreq resonance asigdistortion's range is 0 to 1resonance's range is 0 to 1uAnother implementation of moog low pass filter (it's moogladder in Csound). The arguments have are just like in the mlp filter.Mooglowpass filter with 18 dB.2First order low pass filter (tone in Csound, 6 dB) lp1 centerFreq asig4First order high pass filter (atone in Csound, 6 dB) hp1 centerFreq asigNResonance band pass filter (yet another implementation, it's reson in Csound) bp2 centerFreq q asigQResonance band reject filter (yet another implementation, it's areson in Csound) br2 centerFreq q asigFormant filter. $formant bandPassFilter formants asigIt expects a band pass filter, a list of formants and processed signal. The signal is processed with each filter the result is a sum of all proceessed signals. Formant filters are used to mimic the vocalization of the sound.Formant filter that sings an A.Formant filter that sings an O.Formant filter that sings an E.Formant filter that sings an U.Formant filter that sings an O.Analog-like low-pass filter $alpf1 centerFrequency resonance asigAnalog-like low-pass filter $alpf2 centerFrequency resonance asigAnalog-like low-pass filter $alpf3 centerFrequency resonance asigAnalog-like low-pass filter $alpf4 centerFrequency resonance asigAnalog-like high-pass filter ahp centerFrequency asig Moog ladder lowpass filter.[Moogladder is an new digital implementation of the Moog ladder filter based on the work of Antti Huovilainen, described in the paper "Non-Linear Digital Implementation of the Moog Ladder Filter" (Proceedings of DaFX04, Univ of Napoli). This implementation is probably a more accurate digital representation of the original analogue filter. )asig moogladder ain, kcf, kres[, istor] csound doc: 2http://www.csounds.com/manual/html/moogladder.html$Emulator of analog high pass filter. mvchpf asig xfreq!7Emulators of analog filters (requires Csound >= 6.07). mvclpf1 asig xfreq xresonance "Emulators of analog filters. mvclpf2 asig xfreq xresonance #Emulators of analog filters. mvclpf3 asig xfreq xresonance $Emulators of analog filters. mvclpf4 asig xfreq xresonance %1Chebyshev type I low pass filter (with 2 poles).&OChebyshev type I low pass filter (with given number of poles, first argument).'2Chebyshev type II low pass filter (with 2 poles).(PChebyshev type II low pass filter (with given number of poles, first argument).)AButterworth lowpass filter based on clfilt opcode (with 2 poles).*_Butterworth lowpass filter based on clfilt opcode (with given number of poles, first argument).+2Chebyshev type I high pass filter (with 2 poles).,PChebyshev type I high pass filter (with given number of poles, first argument).-3Chebyshev type II high pass filter (with 2 poles)..QChebyshev type II high pass filter (with given number of poles, first argument)./CButterworth high pass filter based on clfilt opcode (with 2 poles).0aButterworth high pass filter based on clfilt opcode (with given number of poles, first argument).6NFixed version of tbfcv filter the first argument is distortion (range [0, 1])T      2 3 4 5 6 !"#$ 7%&'()*+,-./0 8 9 : ; < = > ? @ A B C D E123456789:;<Y      !"#$%&'()*+,-./0123456789:; ? @ A B C D E123456789:;<None:FKAux parameters for ping pong delay. They are maximum delay time, low pass filter center frequency and Pan width. The defaults are (5 sec, 3500, 0.3).PKDry/Wet mix value (ranges from 0 to 1). The 0 is all dry. The 1 is all wet.QFeedback for delayRThe delaya timeSThe maximum delay time.T7Mono version of the cool reverberation opcode reverbsc. 'reverbsc1 asig feedbackLevel cutOffFreqUReverb with given time.VMono reverb (based on reverbsc) rever1 feedback asigWMono reverb (based on reverbsc) %rever2 feedback (asigLeft, asigRight)XMono reverb for small room.YMono reverb for small hall.ZMono reverb for large hall.[The magic cave reverb (mono).\Stereo reverb for small room.]Stereo reverb for small hall.^Stereo reverb for large hall._The magic cave reverb (stereo).` An alias for 3let room dryWet asig = mixAt dryWet smallRoom2 asiga An alias for 3let room dryWet asig = mixAt dryWet smallHall2 asigb An alias for 3let room dryWet asig = mixAt dryWet largeHall2 asigc An alias for 3let room dryWet asig = mixAt dryWet magicCave2 asigdWFast zero delay convolution with impulse response that is contained in mono-audio file. monoIR irFile aineFast zero delay convolution with impulse response that is contained in mono-audio file. We can specify aux parameters for convolution algorithm (see zconv'). monoIR' spec irFile ainfYFast zero delay convolution with impulse response that is contained in stereo-audio file. stereoIR irFile aingFast zero delay convolution with impulse response that is contained in stereo-audio file. We can specify aux parameters for convolution algorithm (see zconv'). stereoIR' spec irFile ainh+If IR is encoded in a couple of mono files.i+If IR is encoded in a couple of mono files.j7Precise mono IR with pconvolve (requires a lot of CPU).k9Precise stereo IR with pconvolve (requires a lot of CPU).mNThe simplest delay with feedback. Arguments are: delay length and decay ratio. echo delayLength rationDelay with feedback. 2fdelay maxDelayLength delayLength feedback balanceo?Multitap delay. Arguments are: max delay length, list of pairs (delayLength, decayRatio)1, balance of mixed signal with processed signal. *fdelay maxDelayLength delays balance asigp'Generic multitap delay. It's just like fvdelaysj but instead of constant feedbackLevel it expects a function for processing a delayed signal on the tap. *fdelay maxDelayLength delays balance asigqSDelay for functions that use some table (as a buffer). As granular synth or mincer. 8tabDelay fn maxDelayTime delayTime feedback balance asigrPing-pong delay. $pingPong delayTime feedback mixLevels.Ping-pong delay with miscellaneous arguments. *pingPong' spec delayTime feedback mixLeveltWPing-pong delay defined in csound style. All arguments are present (nothing is hidden). EcsdPingPong maxTime delTime damp feedback width mixLevel (ainL, ainR)u Distortion. distort distLevel asigvChorus. chorus depth rate balance asigw$Flanger. Lfo depth ranges in 0 to 1.!flanger lfo feedback balance asigxFirst order phaser.yGSecond order phaser. Sweeping gaps in the timbre are placed harmonicalyz\Second order phaser. Sweeping gaps in the timbre are placed by powers of the base frequency.{ Distortion  fxDistort level drive tone sigIn|Stereo chorus. $stChorus2 mix rate depth width sigIn} Analog delay. (analogDelay mix feedback time tone sigIn~@Filter effect (a pair of butterworth low and high pass filters). (fxFilter lowPassfFreq highPassFreq gain  Equalizer (equalizer gainsAndFrequencies gain sigIn@Equalizer with frequencies: 100, 200, 400, 800, 1600, 3200, 64000Equalizer with frequencies: 100, 400, 1600, 6400Gain fxGain gain sigIn'Adds filtered white noize to the signal fxWhite lfoFreq depth sigIn&Adds filtered pink noize to the signal fxWhite lfoFreq depth sigInSimplified delay ,fxEcho maxDelayLength delTime feedback sigInlInstrument plays an input signal in different modes. The segments of signal can be played back and forth.  &trackerSplice maxLength segLength mode maxLength9 -- the maximum length of the played segment (in seconds) segLength! -- the segment length in secondsmode! -- mode of the playing. If it's 1 - only a part of the sample is plyaed and it's played forward. The portion of the signal starts from the current playback point. It lasts for segLength. If it's 2 - the segment is played in reverse. Other values produce the normal input signal.Original author: Rory WalshExample: rmain = dac $ do let ev ch1 ch2 dt = fmap (\x -> (x, dt)) $ mconcat [ fmap (const 1.5) $ charOn ch1 , fmap (const 2.5) $ charOn ch2 , fmap (const 0) $ charOff ch1 <> charOff ch2] (k, dt) <- stepper (0, 0.1) $ ev 'q' 'w' 0.1 <> ev 'a' 's' 0.2 <> ev 'z' 'x' 0.4 mul 1.3 $ trackerSplice 0.8 dt (int' k) $ fst $ loopWav 1 "drumLoop.wav" F Mean value.PitchShifterDelay/A pitch shifter effect that employs delay lines RpitchShifterDelay maxDelayTime delayTime (feedback1, feedback2) transposeRatio ain Arguments maxDelayTime ; -- maximum delay time (kdlt should not exceed this value)transposeRatio ' -- pitch transposition (in semitones)delayTime g -- delay time employed by the pitch shifter effect (should be within the range ksmps/sr and imaxdlt) feedback1  -- feedback using method 1 (output from delay taps are fed back directly into their own buffers before enveloping and mixing)feedback2 i -- feedback using method 2 (enveloped and mixed output from both taps is fed back into both buffers)-- ain $ -- input audio to be pitch shifteddDelay line with low-pass filter in the feedback chain. The filter adds natural decay to the echoes. 7fxAnalogDelay mixRatio delayTime feedback toneRatio ain\Note that the center frequency of the filter is measured in normalized units (form 0 to 1).%Distortion unit with low-pass filter. %fxDistortion driveLevel toneRatio ain\Note that the center frequency of the filter is measured in normalized units (form 0 to 1).Envelope follower.  7fxFollower sensitivity baseFrequencyRatio resonance ain Arguments:sensitivity C -- sensitivity of the envelope follower (suggested range: 0 to 1)baseFrequencyRatio Y -- base frequency of the filter before modulation by the input dynamics (range: 0 to 1); resonance > -- resonance of the lowpass filter (suggested range: 0 to 1)1An effect that reverses an audio stream in chunks fxReverse timetime& -- the size of the chunck in seconds.HA flanger effect following the typical design of a so called 'stomp box' / fxFlanger rate depth delayTime feedback ain =  Arguments rate H -- rate control of the lfo of the effect *NOT IN HERTZ* (range 0 to 1) depth 2 -- depth of the lfo of the effect (range 0 to 1) delayTime > -- static delay offset of the flanging effect (range 0 to 1) feedback B -- feedback and therefore intensity of the effect (range 0 to 1) ain = -- input audio to which the flanging effect will be appliedPhaserJAn phase shifting effect that mimics the design of a so called 'stomp box' "fxPhaser rate depth freq fback ain Arguments:rate - -- rate of lfo of the effect (range 0 to 1)depth . -- depth of lfo of the effect (range 0 to 1)freq W -- centre frequency of the phase shifting effect in octaves (suggested range 6 to 11)fback D -- feedback and therefore intensity of the effect (range 0 to 1) ain $ -- input audio to be pitch shiftedLoFiN'Low Fidelity' distorting effects of bit reduction and downsampling (foldover) fxLoFi bits fold ain = ... Argumentsbits ' -- bit depth reduction (range 0 to 1)fold * -- amount of foldover (range 0 to 1) ain @ -- input audio to have low fidelity distortion effects applied Stereo ChorusA stereo chorus effect .fxChorus2 rate depth width (ainLeft, ainRight) Argumentsrate H -- rate control of the lfo of the effect *NOT IN HERTZ* (range 0 to 1)depth 2 -- depth of the lfo of the effect (range 0 to 1)width , -- width of stereo widening (range 0 to 1)ainX  -- input stereo signalAuto pan fxAutoPan wave rate depth ain ; Arguments:wave : -- waveform used by the lfo (0=sine 1=triangle 2=square)rate H -- rate control of the lfo of the effect *NOT IN HERTZ* (range 0 to 1)depth 2 -- depth of the lfo of the effect (range 0 to 1)mode 2 -- mode of the effect (0=auto-panning 1=tremolo)ain  -- input stereo audioTremolotremolo effect fxTrem wave rate depth ain ; Arguments:wave : -- waveform used by the lfo (0=sine 1=triangle 2=square)rate H -- rate control of the lfo of the effect *NOT IN HERTZ* (range 0 to 1)depth 2 -- depth of the lfo of the effect (range 0 to 1)mode 2 -- mode of the effect (0=auto-panning 1=tremolo)ain  -- input stereo audio PitchShifter.A pitch shifter effect based on FFT technology <fxPitchShifter fftSize mixRatio transposeRatio feedback ain Arguments fftSize  -- size for FFT analysis (good values 1024, 512, 256, 2048), the higher values introduce latency but lower values are less accurate. mix 6 -- dry / wet mix of the output signal (range 0 to 1) transpose -- pitch ratio feedback k -- control of the amount of output signal fed back into the input of the effect (suggested range 0 to 1)  ain $ -- input audio to be pitch shiftedEFreqShifter ; ---------------- ; A frequency shifter effect using the hilbert filter ; ; aout FreqShifter adry,kmix,kfreq,kmult,kfback ; ; Performance ; ----------- ; adry -- input audio to be frequency shifted ; kmix -- dry / wet mix of the output signal (range 0 to 1) ; kfreq -- frequency of frequency shifter effect (suggested range -1000 to 1000) ; kmult -- multiplier of frequency value for fine tuning control (suggested range -1 to 1) ; kfback -- control of the amount of output signal fed back into the input of the effect (suggested range 0 to 1)9Compressor. All arguments are relative (range in 0 to 1). <fxCompress thresh (loknee, hiknee) ratio (att, rel) gain ain^=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz G H I J{|}~ F`=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~`TVWUXYZ[\]^_`abcdfhjklegiSRQPmnopqKLMNOrstuJIHGvwxyzFEDCBA@?>={|}~Z=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz G H I J{|}~ FNone9 Defaults for fof2 opcode./Sndwarp secondary parameters. It's instance of Default, we can use the constant def to get the value.WinSizeL - window size in seconds (not in samples as in Csound!). The default is 0.1Randw - the bandwidth of a random number generator. The random numbers will be added to iwsize. It's measured in ratio to WinSize. So the 1 means the one WinSize length. The default is 0.3Overlapg - determines the density of overlapping windows. The default value is 50. It's in range (0 to 100)6Randomized parameters for arguments (in range 0 to 1).#Secondary parameters for syncgrain.Win8 -- grain window function (half-sine is used by default)OverlapC -- grain overlap (use values in range 0 to 100, the 25 is default)Secondary parameters for granule. We can use the def to get the defaults. Gap - gap between grains in sec.PVoice - number of voices (integer value in magnitude of 1 to 128, 64 is default)gRatio - ratio of the speed of the gskip pointer relative to output audio sample rate (the default is 1)Mode - playback mode (see  GranuleMode, play forward is the default)TSkip_os - gskip pointer random offset in sec, 0 will be no offset (0.5 is default). bGap_os - gap random offset in ratios (0 to 1) of the gap size, 0 gives no offset (0.5 is default).gSize_os -grain size random offset in ratios (0 to 1) of grain size, 0 gives no offset (0.5 is default).=Seed - seed for the random number generator (0.5 is default).XAtt - attack of the grain envelope in ratios (0 to 1) of grain size (0.3 is default).UDec - decay of the grain envelope in ratios (0 to 1) of grain size (0.3 is default).Granule playback mode.#Randomized parameters for function grainy. We can randomize pitch scaleing factor (0 to 1), read position (in ratio: 0 to 1), and duration of the grains (in seconds, in magnitude of 0.005 to 0.5). >Secondary parameters for the partikkel opcode. We can use the defN to get the defaults. See the official docs to know the complete description: csound doc: 1http://www.csounds.com/manual/html/partikkel.htmlGranular synthesizer with "per grain" control over many of its parameters. Has a sync input to sychronize its internal grain scheduler clock to an external clock source.@partikkel was conceived after reading Curtis Roads' book  Microsound , and the goal was to create an opcode that was capable of all time-domain varieties of granular synthesis described in this book. The idea being that most of the techniques only differ in parameter values, and by having a single opcode that can do all varieties of granular synthesis makes it possible to interpolate between techniques. Granular synthesis is sometimes dubbed particle synthesis, and it was thought apt to name the opcode partikkel to distinguish it from other granular opcodes. :partikkel spec grainrate grainsize kpitch ifiltabs apntersspec - secondary parameters grainrate - rate of the grain creation grainsize5 - grain size in sec (!!!not in ms as for Csound!!!).kpitch -- pitch scaling factor.apnters1 -- list of pointers (up to 4 values can be used)ifiltabs/ -- list of tables (up to 4 values can be used)?Simplified version of partikkel. The partikkel for mono sounds. 2grainy1 speed grainrate grainsize kfreqFactor filespeed - speed of the playback grainrate - rate of the grain creation grainsize - size of the grainsfile0 - filename of an audio file to read the grains.ASimplified version of partikkel. The partikkel for stereo sounds. 2grainy1 speed grainrate grainsize kfreqFactor filespeed - speed of the playback grainrate - rate of the grain creation grainsize - size of the grainsfile0 - filename of an audio file to read the grains.Randomized version of grainy1.Randomized version of grainy.`Simplified version of partikkel with pointer access to the table. The partikkel for mono sounds. 4ptrGrainy grainrate grainsize kfreqFactor tab apnterspeed - speed of the playback grainrate - rate of the grain creation grainsize - size of the grainstab - table with sampled sound.apnterD - pointer to the table. pointer is relative to total size (0 to 1).`Simplified version of partikkel with pointer access to the table. The partikkel for mono sounds. 4ptrGrainy grainrate grainsize kfreqFactor tab apnterspeed - speed of the playback grainrate - rate of the grain creation grainsize - size of the grainsfile - file with sampled sound.apnter" - pointer to the table in seconds`Simplified version of partikkel with pointer access to the table. The partikkel for mono sounds. 4ptrGrainy grainrate grainsize kfreqFactor tab apnterspeed - speed of the playback grainrate - rate of the grain creation grainsize - size of the grainsfile - file with sampled sound.apnter" - pointer to the table in secondsRandomized version of  ptrGrainy.4A more complex granular synthesis texture generator.granule is a Csound unit generator which employs a wavetable as input to produce granularly synthesized audio output. Wavetable data may be generated by any of the GEN subroutines such as GEN01 which reads an audio data file into a wavetable. This enable a sampled sound to be used as the source for the grains. Up to 128 voices are implemented internally. The maximum number of voices can be increased by redefining the variable MAXVOICE in the grain4.h file. granule has a build-in random number generator to handle all the random offset parameters. Thresholding is also implemented to scan the source function table at initialization stage. This facilitates features such as skipping silence passage between sentences. !granule spec chord grainSize ftabspec% -- secondary parameters. We can use def to get the defaults. chord :: [D] -- the list of pitch factors to scale the original sound. It can be up to 4 items long. This parameters allows us to create a chords out of grains. grainSize -- grain size in sec.ftab - table with sampled sound.granulei that is defined on stereo audio files. We provide the filename instead of table. The rest is the same. granulef that is defined on mono audio files. We provide the filename instead of table. The rest is the same.Synchronous granular synthesis.syncgrain implements synchronous granular synthesis. The source sound for the grains is obtained by reading a function table containing the samples of the source waveform. For sampled-sound sources, GEN01 is used. syncgrain will accept deferred allocation tables. 4syncgrain spec graidDuration timeScale PitchSig ftabspec - secondary params (use def to get the defaults) graidDuration! - duration of grains in seconds. timeScale - tempo scaling factor.PitchSig - pitch scaling factor.ftab - table with sampled sound.)The syncgrain with randomized parameters.qsyncgrain that is defined on stereo audio files. We provide the filename instead of table. The rest is the same.osyncgrain that is defined on mono audio files. We provide the filename instead of table. The rest is the same.trndSyncgrain that is defined on stereo audio files. We provide the filename instead of table. The rest is the same.rrndSyncgrain that is defined on mono audio files. We provide the filename instead of table. The rest is the same.:Simple sndwarp with scaling mode (corresponds to Csound's  initmode == 0). !sndwarp spec resample speed ftab spec - secondary params (use def to get the defaults)resample - the factor by which to change the pitch of the sound. For example, a value of 2 will produce a sound one octave higher than the original. The timing of the sound, however, will not be altered.speed: - the factor by which to change the tempo of the sound. ftab -- table with the samplesStereo version of the sndwarp.oSndwarp that is defined on stereo audio files. We provide the filename instead of table. The rest is the same.mSndwarp that is defined on mono audio files. We provide the filename instead of table. The rest is the same.(The simple sndwarp with pointer (Csound  initmode = 1).  sndwarp spec resample ftab ptrspec - secondary params (use def to get the defaults)resample - the factor by which to change the pitch of the sound. For example, a value of 2 will produce a sound one octave higher than the original. The timing of the sound, however, will not be altered.ftab -- table with the samplesptr, - pointer to read the table (in seconds). Stereo version of  ptrSndwarp.rptrSndwarp that is defined on stereo audio files. We provide the filename instead of table. The rest is the same.pptrSndwarp that is defined on mono audio files. We provide the filename instead of table. The rest is the same.8Reimplementation of fof2 opcode for stereo audio files.5Reimplementation of fof2 opcode for mono audio files. Reimplementation of fof2 opcode.GGranular delay effect for fof2. Good values for grain rate and size are grainRate = 25 grainSize = 2.5Granular delay effect for grainy.Granular delay effect for  rndGrainy.Granular delay effect for sndwarp.Granular delay effect for  syncgrain.Granular delay effect for  rndSyncgrain.Granular delay effect for  partikkel.Granular effect for grainy.Granular effect for  rndGrainy. Granular effect for sndwarp. Granular effect for  syncgrain. Granular effect for  rndSyncgrain. Granular effect for  partikkel. Granular effect for fof2.Granular synthesizer with "per grain" control over many of its parameters. Has a sync input to sychronize its internal grain scheduler clock to an external clock source.@partikkel was conceived after reading Curtis Roads' book  Microsound , and the goal was to create an opcode that was capable of all time-domain varieties of granular synthesis described in this book. The idea being that most of the techniques only differ in parameter values, and by having a single opcode that can do all varieties of granular synthesis makes it possible to interpolate between techniques. Granular synthesis is sometimes dubbed particle synthesis, and it was thought apt to name the opcode partikkel to distinguish it from other granular opcodes. a1 [, a2, a3, a4, a5, a6, a7, a8] partikkel agrainfreq, \ kdistribution, idisttab, async, kenv2amt, ienv2tab, ienv_attack, \ ienv_decay, ksustain_amount, ka_d_ratio, kduration, kamp, igainmasks, \ kwavfreq, ksweepshape, iwavfreqstarttab, iwavfreqendtab, awavfm, \ ifmamptab, kfmenv, icosine, ktraincps, knumpartials, kchroma, \ ichannelmasks, krandommask, kwaveform1, kwaveform2, kwaveform3, \ kwaveform4, iwaveamptab, asamplepos1, asamplepos2, asamplepos3, \ asamplepos4, kwavekey1, kwavekey2, kwavekey3, kwavekey4, imax_grains \ [, iopcode_id] csound doc: 1http://www.csounds.com/manual/html/partikkel.htmlSynchronous granular synthesis. syncgrain implements synchronous granular synthesis. The source sound for the grains is obtained by reading a function table containing the samples of the source waveform. For sampled-sound sources, GEN01 is used. syncgrain will accept deferred allocation tables. Wasig syncgrain kamp, kfreq, kpitch, kgrsize, kprate, ifun1, \ ifun2, iolaps csound doc: 1http://www.csounds.com/manual/html/syncgrain.html4A more complex granular synthesis texture generator.VThe granule unit generator is more complex than grain, but does add new possibilities. ares granule xamp, ivoice, iratio, imode, ithd, ifn, ipshift, igskip, \ igskip_os, ilength, kgap, igap_os, kgsize, igsize_os, iatt, idec \ [, iseed] [, ipitch1] [, ipitch2] [, ipitch3] [, ipitch4] [, ifnenv] csound doc: /http://www.csounds.com/manual/html/granule.html]Reads a mono sound sample from a table and applies time-stretching and/or pitch modification.sndwarp reads sound samples from a table and applies time-stretching and/or pitch modification. Time and frequency modification are independent from one another. For example, a sound can be stretched in time while raising the pitch! sares [, ac] sndwarp xamp, xtimewarp, xresample, ifn1, ibeg, iwsize, \ irandw, ioverlap, ifn2, itimemode csound doc: /http://www.csounds.com/manual/html/sndwarp.html_Reads a stereo sound sample from a table and applies time-stretching and/or pitch modification.sndwarpst reads stereo sound samples from a table and applies time-stretching and/or pitch modification. Time and frequency modification are independent from one another. For example, a sound can be stretched in time while raising the pitch! ar1, ar2 [,ac1] [, ac2] sndwarpst xamp, xtimewarp, xresample, ifn1, \ ibeg, iwsize, irandw, ioverlap, ifn2, itimemode csound doc: 1http://www.csounds.com/manual/html/sndwarpst.html KZProduces sinusoid bursts including k-rate incremental indexing with each successive burst.EAudio output is a succession of sinusoid bursts initiated at frequency xfund with a spectral peak at xform. For xfund above 25 Hz these bursts produce a speech-like formant with spectral characteristics determined by the k-input parameters. For lower fundamentals this generator provides a special form of granular synthesis. ~ares fof2 xamp, xfund, xform, koct, kband, kris, kdur, kdec, iolaps, \ ifna, ifnb, itotdur, kphs, kgliss [, iskip] csound doc: ,http://www.csounds.com/manual/html/fof2.html L M N O P Q R S T U V W X Y Z [ \ ]      K}     }     W L   M N O P Q R S T U V W X Y Z [ \ ]      K None vSpecification of morphing synth. It has the default instance and the values in its records has default instances tooParameters for grain envelope.4attShape -- table that contains shape of the attack.2decShape -- table that contains shape of the decayBsustRatio -- how big is sustain phase relative to attack and decay`attack to decay ration -- relative amount of attack decay ration. 0.5 means attack equals decay.Csee docs for Csound partikkel opcode for more detailed information 1http://www.csounds.com/manual/html/partikkel.html%Density of the grain stream. rate+ is how many grains per second is generatedsizeW is the size of each grain in milliseconds (it's good to set it relative to grain rate)skip{ skip is a skip ratio (0 to 1). It's the probability of grain skip. Zero means no skip and 1 means every grain is left out.Csee docs for Csound partikkel opcode for more detailed information 1http://www.csounds.com/manual/html/partikkel.html-~Synth that is based on partikkel. It allows easy morphing between unlimited number of waves. While partikkel allows only 4 waves to be used. We can use as many as we like. Internally the list is split on groups 4 elements or less in each and one partikkel is applied to each group. Many parameters of partikel were simplified to get the good defaults for sound morphing behavior. "morpheus spec waves frequencyScale%spec -- contains many misc parametersBwaves list can contain up to four wave tables to read grains from.frequencyScale -- scaling factor for frequency. 1 means playing at the original frequency, 2 rises the pitch by octave. We can use negative values to play the grains in reverse..1Creates four control signals out two signals. The control signals are encoded by the position of the point on XY-plane. The four resulting signals are derived from the proximity of the point to four squares of the ((0, 1), (0, 1)) square. It can be useful to control the morpheus with XY-pad controller./Morpheus synth for mono-audio files. The first cell in each tripple is occupied by file name. The rest arguments are the same as for morpheus.0Morpheus synth for stereo-audio files. The first cell in each tripple is occupied by file name. The rest arguments are the same as for morpheus.1Morpheus oscillator. +morpheusOsc spec (baseFrequency, table) cps baseFrequencyy is the frequency of the sample contained in the table. With oscillator we can read the table on different frequencies. 2_Morpheus oscillator. We control the four tables with pair of control signals (see the function  pairToSquare). 6morpheusOsc2 spec baseFrequency waves (x, y) cps = ...  !"#$%&'()*+,- ^ _ `./0 a1 b2345 !"#$%&'()*+,-./012,+*%&'() !"#$-/0.12 !"#$%&'()*+,- ^ _ `./0 a1 b2345!None6Padsynth oscillator. padsynthOsc spec frequencyIt makes it easy to create padsynth sound waves (see Tab.padsynth). It creates a padsynth table and reads it with poscil at the right speed.7XStereo padsynth oscillatro. It creates two padsynth ftables for left and right channels.8It uses several padsynth tables. Each table is responsible for specific interval of frequencies. The list of pairs specifies the threshhold value and padsynth specification. The padsynth table is active for all frequencies that lie below the given threshold. 6padsynthOscMultiCps thresholdSpecPairs frequency = ...9Stereo version of padsynthOscMultiCps.:It behaves just like padsynthOscMultiCps} but it spreads the padsynth tables among amplitude values. So the last input argument is a pair of amplitude and frequency: CpadsynthOscMultiVol thresholdSpecPairs (amplitude, frequency) = ...;Stereo version of padsynthOscMultiVol.<TODO (undefined function)?With this function we can create square zones in the domain of (amplitude, frequency)u. We can assign a separate padsynth table for each zone. The list of pairs contains a pair of two threshold values (amplitude, frequency)& and dedicated padsynth specification. FpadsynthOscMultiVolCps thresholdSpecPairs (amplitude, frequency) = ...=TODO (undefined function)Stereo version of padsynthOscMultiVolCps.>1Creates padsynth oscillator with given harmonics. %bwOscBy harmonics bandwidth frequency?Stereo version of bwOscBy.@5Creates padsynth oscillator with given odd harmonics. (bwOddOscBy harmonics bandwidth frequencyAStereo version of  bwOddOscBy.B(Pure sine wave with padsynth wave table: bwOsc bandwidth frequencyC'Triangle wave with padsynth wave table: bwTri bandwidth frequencyD%Square wave with padsynth wave table: bwSqr bandwidth frequencyE(Saw-tooth wave with padsynth wave table: bwSaw bandwidth frequencyFStereo version of bwOsc.GStereo version of bwTri.HStereo version of bwSqr.IStereo version of bwSaw.JdCombines morpheus oscillators with padsynth algorithm. It uses single table for granular synthesis.KiCombines morpheus oscillators with padsynth algorithm. It uses up to four tables for granular synthesis.6 c d7 e f89:;<=>?@A g h i jBCDEFGHIJK6789:;<=>?@ABCDEFGHIJK67>@?ABCDEFGHI89:;<=JK6 c d7 e f89:;<=>?@A g h i jBCDEFGHIJK"None9;T?LThe patch can be:a monophonic syntpolyphonic syntset of common parameters (SyntSkin)patch with chain of effects, (split on keyboard with certain frequencylayer of patches. That is a several patches that sound at the same time. the layer is a patch and the weight of volume for a given patch.V)Specification for monophonic synthesizer. Chn -- midi channel to listen on-SlideTime -- time of transition between notesZStereo-output patch.[Mono-output patch.\LFx specification. It;s a pair of dryWet ratio and a transformation function.`Stereo effect.a Mono effect.c%An effect processes the input signal.d,An instrument transforms a note to a signal.eqA simple csound note (good for playing with midi-keyboard). It's a pair of amplitude (0 to 1) and freuqncy (Hz).f%Data type for monophonic instruments.g-Generic monophonic instrument. It depends on SyntSkin.hGeneric FX. It depends on SyntSkin.i-Generic polyphonic instrument. It depends on SyntSkin.jCommon parameters for patches. We use this type to parametrize the patch with some tpyes of arguments that we'd like to be able to change after patch is already constructed. For instance the filter type can greatly change the character of the patch. So by making patches depend on filter type we can let the user to change the filter type and leave the algorithm the same. It's like changing between trademarks. Moog sound vs Korg sound.-The instruments in the patches depend on the SyntSkin through the Reader data type. ?If user doesn't supply any syntSkin value the default is used ( -- moog low pass filter). Right now the data type is just a synonym for filter but it can become a data type with more parameters in the future releases.kTConstructor for polyphonic synthesizer. It expects a function from notes to signals.lConstructor for polyphonic synthesizer with flexible choice of the low-pass filter. If we use the filter from the first argument user lately can change it to some another filter. It defaults to mlp.mConstructor for monophonic synth with envelope generator. The envelope generator is synced with note triggering. So it restarts itself when the note is retriggered. The envelope generator is a simple ADSR gennerator see the type MonoAdsr.ngConstructor for monophonic synth with envelope generator and flexible choice of filter. It's just like adsrMono^ but the user lately can change filter provided in the first argument to some another filter.oeConstructor for monophonic synthesizer. The instrument is defned on the raw monophonic aruments (see MonoArg). pCConstructor for monophonic synthesizer with flexible filter choice.q"Constructor for FX-specification. fxSpec dryWetRatio fxFunr>Constructor for FX-specification with flexible filter choice. fxSpec dryWetRatio fxFunu#Removes all effects from the patch.v7Sets the dryWet ratio of the effects wwithin the patch.wFSets the dryWet ratios for the chain of the effects wwithin the patch.x.Renders the effect chain to a single function.y*Plays a patch with a single infinite note.zPlays a patch with midi. {4Plays a patch with midi with given temperament (see  Csound.Tuning).|!Plays a patch with event stream. }=Plays a patch with event stream with stop-note event stream. ~HPlays notes indefinetely (it's more useful for monophonic synthesizers).Plays a patch with scores. )Transform the spec for monophonic patch.7Sets the midi channel for all instruments in the patch.:Sets the monophonic to sharp transition and quick release.GSets the slide time for pitch and amplitude of monophomic synthesizers.eTranspose the patch by a given ratio. We can use the functions semitone, cent to calculate the ratio.)Adds an effect to the patch's instrument.(Appends an effect before patch's effect.'Appends an effect after patch's effect.QPlays a patch when the condition signal is satisfied. Can be useful for switches.Mix two patches together.Harmnoic series of patches.EAdds an octave below note for a given patch to make the sound deeper. kFTransforms instrument functions for polyphonic and monophonic patches.&Sound font patch with a bit of reverb.Sound font patch.aTriggers patch with Csound API. It creates a named instruement with given name (first argument).GIt simulates the midi-like instrument. Notes are encoded with messages: di "givenName" 1 pitchKey volumeKey -- note on i "givenName" 0 pitchKey volumeKey -- note offTriggers patch with Csound API. It creates a named instruement with given name (second argument). It behaves like the function patchByNameMidi' but we can specify custom temperament.&Make an effect out of a pure function.@Make an effect out of a pure function and specify dry/wet ratio.-Make an effect out of a stereo pure function.GMake an effect out of a stereo pure function and specify dry/wet ratio.'Adds post fx with pure signal function.CAdds post fx with pure signal function and specifies dry/wet ratio.,Adds post fx with effectful signal function.HAdds post fx with effectful signal function and specifies dry/wet ratio.&Adds pre fx with pure signal function.BAdds pre fx with pure signal function and specifies dry/wet ratio.+Adds pre fx with effectful signal function.GAdds pre fx with effectful signal function and specifies dry/wet ratio.oLMNOPQRSTUVWXYZ[\]^_`abcdefghij lklmnopqrstuvw m nxy o p qz{ r s t u|}~ v w x k y z { |XLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Xedfca`\]^_b[ZLMNOPQRSTUVWXYjighkomnqlprtsuxvwz|}~y{aLMNOPQRSTUVWXYZ[\]^_`abcdefghij lklmnopqrstuvw m nxy o p qz{ r s t u|}~ v w x k y z { |#NoneRTriggers the signal with the first stream and turns it off with the second stream. }%Toggles the signal with event stream.Consider note limiting? or performance degrades every note is held to infinity and it continues to produce zeroes. No it's not every sequence note triggers it but it's best to limit them anywayPlays a list signals. It triggers the signal with event stream and silences all the rest in the list so that only one signal is playing. We can create simple costum monosynthes with this function. The last event stream stops all signals.7Triggers one signal after another with an event stream.7Triggers one signal after another with an event stream.Triggers a signal when one of the chars from the first string is pressed. Stops signal from playing when one of the chars from the second string is pressed.Triggers a signal when one of the chars from the first string is pressed. Stops signal from playing when one of the chars from the second string is pressed. Synchronizes the signal with bpm (first argument). &Plays a signal while a key is pressed.LPlays a signal while a key is pressed. Synchronized by BPM (first argument).'Toggles the signal when key is pressed.NToggles the signal when key is pressed. Synchronizes by BPM (first argument). ~'Toggles the signal when key is pressed.Plays a list of signals when corresponding key is pressed. Turns off all other signals in the group. The last string is for stopping the group from playing.Plays a list of signals when corresponding key is pressed. Turns off all other signals in the group. The last string is for stopping the group from playing. Events are syncronized by BPM (first argument).Plays signals one after another when key is pressed. Stops the group from playing when the char from the last argument is pressed.Plays signals one after another when key is pressed. Stops the group from playing when the char from the last argument is pressed. Events are syncronised with BPM (first argument).%Scales the signal with the amplitude.Applies a low pass filter to the signal. The first two arguments are the frequency range for center frequency of the filter and the second one is amount of resonance (ranges from 0 to 1).6the midiLpInstr with audio range for center frequency.=Ignores the amplitude and justplays back the original signal.Plays a signal when the key is pressed. Retriggers the signal when the key is pressed again. The key is an integer midi code. The C1 is 60 and the A1 is 69.Plays a signal when the key is pressed. Retriggers the signal when the key is pressed again. Turns off the signal after specified duration (n seconds). The key is an integer midi code. The C1 is 60 and the A1 is 69.iPlyas a signal while the key is pressed. The key is an integer midi code. The C1 is 60 and the A1 is 69.nPlays and stops a signal in the toggle mode. The key is an integer midi code. The C1 is 60 and the A1 is 69.Plays a set of signals on the list of keys. When certain key is pressed the corresponding signal starts to play and all the rest are stopped. A- The key is an integer midi code. The C1 is 60 and the A1 is 69.The generic midiTrig. We can specify the midi function. The midi function takes in a signal and a volume of the pressed key (it ranges from 0 to 1). It produces some output. The default is scaling the signal with the amplitude.The generic midiTap. We can specify the midi function. The midi function takes in a signal and a volume of the pressed key (it ranges from 0 to 1). It produces some output. The default is scaling the signal with the amplitude.The generic midiPush. We can specify the midi function. The midi function takes in a signal and a volume of the pressed key (it ranges from 0 to 1). It produces some output. The default is scaling the signal with the amplitude.The generic midiToggle. We can specify the midi function. The midi function takes in a signal and a volume of the pressed key (it ranges from 0 to 1). It produces some output. The default is scaling the signal with the amplitude.The generic midiGroup. We can specify the midi function. The midi function takes in a signal and a volume of the pressed key (it ranges from 0 to 1). It produces some output. The default is scaling the signal with the amplitude.6 }   ~   ..6 }   ~   None9;DRTA function transformer (decorator). We can transform an envelope producer so that all values and durations are sumed with some random value. The amplitude of the random value is given with the first two arguments.WIt can transform linseg, expseg, sequence producers and simplified sequence producers.  An example: Ddac $ mul (humanValTime 0.1 0.1 sqrSeq [1, 0.5, 0.2, 0.1] 1) $ whiteXAs you can see it transforms the whole function. So we don't need for extra parenthesis.A function transformer (decorator). We can transform an envelope producer so that all durations are sumed with some random value. The amplitude of the random value is given with the first argument.WIt can transform linseg, expseg, sequence producers and simplified sequence producers.  An example: =dac $ mul (humanTime 0.1 sqrSeq [1, 0.5, 0.2, 0.1] 1) $ whiteXAs you can see it transforms the whole function. So we don't need for extra parenthesis.A function transformer (decorator). We can transform an envelope producer so that all values are sumed with some random value. The amplitude of the random value is given with the first argument.WIt can transform linseg, expseg, sequence producers and simplified sequence producers.  An example: <dac $ mul (humanVal 0.1 sqrSeq [1, 0.5, 0.2, 0.1] 1) $ whiteXAs you can see it transforms the whole function. So we don't need for extra parenthesis.NThe seq is a type for step sequencers. The step sequencer is a monophonic control signal. Most often step sequencer is a looping segment of some values. It's used to create bas lines or conrtrol the frequency of the filter in dub or trance music. There are simple functions for creation of step sequencers defined in the module Csound.Air.Envelope./Basically the step sequence is a list of pairs: + [(valA, durA), (valB, durB), (valC, durC)]each pair defines a segment of height valN that lasts for durN. The sequence is repeated with the given frequency. Each segment has certain shape. It can be a constant or line segment or fragment of square wave or fragment of an adsr envelope. There are many predefined functions.With Seq we can construct control signals in very flexible way. We can use the score composition functions for creation of sequences. We can use mel0 for sequencing of individual steps, we can use str@ for stretching the sequence in time domain, we can delay with del.Here is an example: Adac $ tri $ seqConst [str 0.25 $ mel [440, 220, 330, 220], 110] 1We can see how the function strp was used to make a certain segment faster. There are numerical instaces for Seq. Bt it defines only functions  fronInteger and  fromRational.+Linear adsr envelope generator with release  leg attack decay sustain release0Exponential adsr envelope generator with release  xeg attack decay sustain release>Makes time intervals relative to the note's duration. So that: onIdur [a, t1, b, t2, c] becomes: [a, t1 * idur, b, t2 * idur, c]>Makes time intervals relative to the note's duration. So that: onDur dt [a, t1, b, t2, c] becomes: , t1 * dt, b, t2 * dt, c] The opcode >?B with time intervals relative to the total duration of the note. The opcode >@B with time intervals relative to the total duration of the note. The opcode >?T with time intervals relative to the total duration of the note given by the user. The opcode >@T with time intervals relative to the total duration of the note given by the user. The opcode >Ah with time intervals relative to the total duration of the note. Total time is set to the value of idur. linendur asig rise decay The opcode >Aw with time intervals relative to the total duration of the note. Total time is set to the value of the first argument. linendurBy dt asig rise decay$Fades in with the given attack time.%Fades out with the given attack time.Slope envelope. It stays at zero for a given time then it raises to 1 for thre given time. The function is usefull to delay the LFO. slope zeroTime rizeTime$Exponential slope (See the function slope). 0Fades in by exponent with the given attack time.1Fades out by exponent with the given attack time.&A combination of fade in and fade out. "fades attackDuration decayDuration2A combination of exponential fade in and fade out. %expFades attackDuration decayDuration3Sample and hold cyclic signal. It takes the list of [a, dta, b, dtb, c, dtc, ...]4the a, b, c, ... are values of the constant segmentsAthe dta, dtb, dtc, are durations in seconds of constant segments.@The period of the repetition equals to the sum of all durations.It's just like linseg but it loops over the envelope.It's just like expseg but it loops over the envelope.NSample and hold sequence. It outputs the looping sequence of constan elements.&Step sequencer with unipolar triangle.$Step sequencer with unipolar square.&Step sequencer with unipolar sawtooth.,Step sequencer with unipolar inveted square..Step sequencer with unipolar inveted sawtooth.2Step sequencer with unipolar exponential sawtooth.;Step sequencer with unipolar inverted exponential sawtooth.2Step sequencer with unipolar exponential triangle. wA sequence of unipolar waves with pulse width moulation (see upw). The first argument is a duty cycle in range 0 to 1. A sequence of unipolar inverted waves with pulse width moulation (see upw). The first argument is a duty cycle in range 0 to 1. A sequence of unipolar triangle waves with ramp factor (see uramp). The first argument is a ramp factor cycle in range 0 to 1. A sequence of unipolar exponential triangle waves with ramp factor (see uramp). The first argument is a ramp factor cycle in range 0 to 1. A sequence of unipolar inverted triangle waves with ramp factor (see uramp). The first argument is a ramp factor cycle in range 0 to 1. A sequence of unipolar inverted exponential triangle waves with ramp factor (see uramp). The first argument is a ramp factor cycle in range 0 to 1. JLooping sample and hold envelope. The first argument is the list of pairs:  [a, durA, b, durB, c, durc, ...]It's a list of values and durations. The durations are relative to the period of repetition. The period is specified with the second argument. The second argument is the frequency of repetition measured in Hz. lpshold valDurs frequency JLooping linear segments envelope. The first argument is the list of pairs:  [a, durA, b, durB, c, durc, ...]It's a list of values and durations. The durations are relative to the period of repetition. The period is specified with the second argument. The second argument is the frequency of repetition measured in Hz. loopseg valDurs frequency OLooping exponential segments envelope. The first argument is the list of pairs:  [a, durA, b, durB, c, durc, ...]It's a list of values and durations. The durations are relative to the period of repetition. The period is specified with the second argument. The second argument is the frequency of repetition measured in Hz. loopxseg valDurs frequency WIt's like lpshold but we can specify the phase of repetition (phase belongs to [0, 1]). WIt's like loopseg but we can specify the phase of repetition (phase belongs to [0, 1]). XIt's like loopxseg but we can specify the phase of repetition (phase belongs to [0, 1]). The looping ADSR envelope. 7xadsrSeq attack decay sustain release weights frequencyVThe sum of attack, decay, sustain and release time durations should be equal to one. The looping exponential ADSR envelope. there is a fifth segment at the end of the envelope during which the envelope equals to zero. 7xadsrSeq attack decay sustain release weights frequencyVThe sum of attack, decay, sustain and release time durations should be equal to one. 3The looping ADSR envelope with the rest at the end. ;adsrSeq attack decay sustain release rest weights frequency\The sum of attack, decay, sustain, release and rest time durations should be equal to one. The looping exponential ADSR envelope. there is a fifth segment at the end of the envelope during which the envelope equals to zero. =xadsrSeq_ attack decay sustain release rest weights frequency\The sum of attack, decay, sustain, release and rest time durations should be equal to one. *The looping sequence of constant segments. DlinSeg [a, durA, b, durB, c, durC, ...] [scale1, scale2, scale3] cpsThe first argument is the list that specifies the shape of the looping wave. It's the alternating values and durations of transition from one value to another. The durations are relative to the period. So that lists *[0, 0.5, 1, 0.5, 0] and [0, 50, 1, 50, 0]produce the same results. The second list is the list of scales for subsequent periods. Every value in the period is scaled with values from the second list. The last argument is the rate of repetition (Hz). (The looping sequence of linear segments. DlinSeg [a, durA, b, durB, c, durC, ...] [scale1, scale2, scale3] cpsThe first argument is the list that specifies the shape of the looping wave. It's the alternating values and durations of transition from one value to another. The durations are relative to the period. So that lists *[0, 0.5, 1, 0.5, 0] and [0, 50, 1, 50, 0]produce the same results. The second list is the list of scales for subsequent periods. Every value in the period is scaled with values from the second list. The last argument is the rate of repetition (Hz). -The looping sequence of exponential segments. DexpSeg [a, durA, b, durB, c, durC, ...] [scale1, scale2, scale3] cpsThe first argument is the list that specifies the shape of the looping wave. It's the alternating values and durations of transition from one value to another. The durations are relative to the period. So that lists *[0, 0.5, 1, 0.5, 0] and [0, 50, 1, 50, 0]produce the same results. The second list is the list of scales for subsequent periods. Every value in the period is scaled with values from the second list. The last argument is the rate of repetition (Hz).  Creates a %Squashes a sequence to a single beat. KSquashes a sequence to a single beat and then stretches to the given value.  A sequence of constant segments. A linear sequence. An exponential sequence. \The sequence of pulse width waves. The first argument is a duty cycle (ranges from 0 to 1). +The sequence of inversed pulse width waves. The sequence of square waves. &The sequence of inversed square waves. The sequence of sawtooth waves. (The sequence of inversed sawtooth waves. +The sequence of exponential sawtooth waves. 4The sequence of inversed exponential sawtooth waves. !DThe sequence of ramp functions. The first argument is a duty cycle. "MThe sequence of inversed ramp functions. The first argument is a duty cycle. #!The sequence of triangular waves. $(The sequence of ramped triangular waves. %The sequence of ADSR-envelopes. seqAdsr att dec sus rel It has to be: att + dec + sus_time + rel == 1 &+The sequence of exponential ADSR-envelopes. '4The sequence of ADSR-envelopes with rest at the end. seqAdsr att dec sus rel rest It has to be: &att + dec + sus_time + rel + rest == 1 (@The sequence of exponential ADSR-envelopes with rest at the end. )Function for creation of accented beats. The steady beat pattern of accents is repeated. The first argument describes the list of integers. Each integer is a main beat and the length of the beat. We can create a typical latino beat: -dac $ mul (seqSaw [seqPat [3, 3, 2]] 1) white * It's like seqPatK but inplace of rests it fills the gaps with segments descending in value. .dac $ mul (seqSaw [seqDesc [3, 3, 2]] 1) white + It's like seqPatJ but inplace of rests it fills the gaps with segments ascending in value. -dac $ mul (seqSaw [seqAsc [3, 3, 2]] 1) white , It's like seqPat2 but inplace of rests it fills the gaps with 0.5s. .dac $ mul (seqSaw [seqHalf [3, 3, 2]] 1) white - Alias for humanVal. . Alias for  humanTime. / Alias for  humanValTime. 0aTriggers the table based envelope when the trigger signal equals to 1 and plays for dur seconds: trigTab table dur trigger lTriggers the table based envelope when the something happens on the event stream and plays for dur seconds: trigTabEvt table dur trigger                              ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A[                           ! " # $ % & ' ( ) * + , - . / 0[ 0 - . /                           ! " # $ % & ' ( ) + * ,                               ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ ANone:) B#Selects odd elements from the list. C$Selects even elements from the list. D)Reads table once during the note length. E0Reads table once during a given period of time. F3Reads table several times during the note length. G Mean value. HUAdds vibrato to the sound unit. Sound units is a function that takes in a frequency. I^Adds a random vibrato to the sound unit. Sound units is a function that takes in a frequency. J=Chorus takes a number of copies, chorus width and wave shape. KApplies a resonator to the signals. A resonator is a list of band pass filters. A list contains the parameters for the filters: [(centerFrequency, bandWidth)] LA resonator with user defined band pass filter. Warning: a filter takes in a center frequency, band width and the signal. The signal comes last (this order is not standard in the Csound but it's more convinient to use with Haskell). MMixes dry and wet signals.  dryWet ratio effect asigratio - of dry signal to weteffect - means to wet the signalasig -- processed signal N%Chain of mass-spring-damping filters. modes params baseCps exciter params - a list of pairs '(resonantFrequencyRatio, filterQuality)baseCps" - base frequency of the resonator-exciter - an impulse that starts a resonator. O1Doubles the mono signal to get the stereo signal. PRandom panning QRandom panning R'Random volume (with gauss distribution) gaussVol radiusOfDistribution S Random volume gaussVol (minVolume, maxVolume) TpHi-fi output for stereo signals. Saves the stereo signal to file. The length of the file is defined in seconds. "writeHifi fileLength fileName asig U}It picks a signal from the list by integer index. The original value is taken from the head of the list (the first element). VCreates running arpeggios.  +arpeggiBy ampWeights pitches instrument cpsIt plays an instrument with fast sequence of notes. We can specify the pitches and amplitude weights of the notes as well as frequency of repetition. WCreates running arpeggios.  =arpeggiBy ampWave pitchwave ampWeights pitches instrument cpsIt plays an instrument with fast sequence of notes. We can specify amplitude envelope wave, pitch envelope wave, the pitches and amplitude weights of the notes as well as frequency of repetition. XZLow-pass filter pictured as joystick. Ox is for center frequency and Oy is for resonance. Y!Chains all functions in the list. ZHApplies all functions in the list to the given input and summs them up. [pDelay a signal by certain number of seconds There is a subtle difference between the function and the function delaySnd. The delaySig is for delaying a signal on a micro level (the delay time have to be small) It's implemented with delay buffer in the csound. But delaySnd is for delaying on macro level (the delay time can be big). It's implemented with scores and invocation of hidden instruments. delaySig numOfSamples asig \>Metronome with a chain of accents. A typical 7/8 for example:  dac $ nticks [3, 2, 2] (135 * 2) ` Metronome.  ticks n bpm /Tibetan chant. It's a chorus of many sinusoids. tibetan n off cps+n - the number of sinusoids (the best is 9)4off - frequency step of the harmonics ~ (0.01, 0.03)cps - the frequency of the note nightPad fadeInTime cps stringPad amplitude cps The magic cave reverb (stereo). Stereo reverb for small hall. Stereo reverb for large hall. Mono reverb (based on reverbsc) %rever2 feedback (asigLeft, asigRight) hQWave shaper. The signal should be bipolar. It ranges within the interval [-1, 1]. wshaper table amount asigwave shaper transforms the input signal with the table. The amount of transformation scales the signal from 0 to 1. the amount is ratio of scaling. It expects the values from the interval [0, 1]. iWave shaper with sigmoid. &genSaturator sigmoidRadius amount asigsigmoid radius is 5 to 100.amount is [0, 1] j Alias for genSaturator 5 k Alias for genSaturator 10 l Alias for genSaturator 50 m Alias for genSaturator 100] 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- 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- G H I J K L N M D E F O B C Q P S R U T V W X [ h i k j l m Y Z ` \ a ] b ^ c _ d e f gV   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$None 9:;DRT' zWidget that represents a mixer. {DWidget that represents a mixer with horizontal grouping of elements. |ETransforms the mono signal to the stereo input for the mixer widget. }Creates a widget that represents a stereo signal processing function. The parameters of the widget are updated with sliders. For example let's create a simple gain widget. It can be encoded like this: uiGain :: Double -> Source FxFun uiGain isOn gain = fxBox "Gain" fx isOn [("gain", gain)] where fx :: Sig -> Sig2 -> Sig2 fx = mul+Let's look at the arguments of the function fxBox name fx isOn argsname -- is the name of the widgetfx1 -- is signal processing function (see the class FxUI). isOn& -- whether widget in the active stateargsD -- list of initial values for arguments and names of the arguments..It's cool to set the color of the widget with fxColor function. we can make our widgets much more intersting to look at. fxBox :: forall a. (FxUI a, Num (FxArg a), Tuple (FxArg a)) => String -> a -> Bool -> [(String, Double)] -> Source (Fx (FxArg a)) ~hCreates an FX-box from the given visual representation. It inserts a big On/Off button atop of the GUI. Colors the source widgets. -Scales the gui for signal processing widgets. jGroups the signal processing widgets. The functions are composed the visuals are grouped horizontally. hGroups the signal processing widgets. The functions are composed the visuals are grouped vertically. Creates a matrix of fx-boxes. fxGrid columnsSize fxs2first argument is a number of columns in each row. fxHor for chain that starts with mono effects and proceeds with stereo effects. The second argument can contain The transition widget (mono to stereo effect) or it can be empty. If it's empty automatic conversion will be inserted. fxVer for chain that starts with mono effects and proceeds with stereo effects. The second argument can contain The transition widget (mono to stereo effect) or it can be empty. If it's empty automatic conversion will be inserted. CCreates a matrix of fx-boxes. Stacks a list of mono and stereo FXs. 0fxGrid columnsSize monoFxs maybeBridge stereoFxs2first argument is a number of columns in each row. )Applies FX with UI to the input argument. 3Applies a function to a signal processing function. Applies FX to the Patch. (The distortion widget. The arguments are +uiDistort isOn levelOfDistortion drive tone $The chorus widget. The arguments are #uiChorus isOn mix rate depth width %The flanger widget. The arguments are )uiFlanger isOn rate depth delay feedback $The phaser widget. The arguments are /uiPhaser isOn mix feedback rate depth frequency #The delay widget. The arguments are (uiDelay isOn mix feedback delayTime tone .The simplified delay widget. The arguments are +uiEcho isOn maxDelayTime delayTime feedback %The pair of low and high pass filters 5uiFilter isOn lowPassfrequency highPassFrequency gain %The reverb widget. The arguments are: uiReverb mix depth =The gain widget, it's set to on by default. The arguments are uiGain amountOfGain 2The filtered white noize widget. The arguments are .uiWhite isOn centerFreqOfFilter amountOfNoize 1The filtered pink noize widget. The arguments are -uiPink isOn centerFreqOfFilter amountOfNoize NThe constructor for signal processing functions with no arguments (controlls). #Midi chooser implemented as FX-box. 0the widget for mixing in a signal to the signal. YA mixer widget represented as an effect. The effect sums the signals with given wieghts. A widget with four standard waveforms: pure tone, triangle, square and sawtooth. The last parameter is a default waveform (it's set at init time). Slider for master volume Knob for master volume BChooses a midi instrument among several alternatives. It uses the hradio for GUI groupping. BChooses a midi instrument among several alternatives. It uses the vradio for GUI groupping. >Chooses an instrument among several alternatives. It uses the hradio for GUI groupping. >Chooses an instrument among several alternatives. It uses the vradio for GUI groupping.  Compressor 2uiCompress thresh loknee hiknee ratio att rel gainC o p q r s t u v w x y z { | } ~  6 o p q r s t u v w x y z { | } ~  6 z { | } ~  u v w x y o p q r s t : o p q r s t u v w x y z { | } ~  %None: kAnalog Delay line with low-pass filter in the feedback chain. The filter adds natural decay to the echoes. /adele mixRatio delayTime feedback toneRatio ain\Note that the center frequency of the filter is measured in normalized units (form 0 to 1). %Distortion unit with low-pass filter. tort driveLevel toneRatio ain\Note that the center frequency of the filter is measured in normalized units (form 0 to 1). Envelope follower.  3fowler sensitivity baseFrequencyRatio resonance ain Arguments:sensitivity C -- sensitivity of the envelope follower (suggested range: 0 to 1)baseFrequencyRatio Y -- base frequency of the filter before modulation by the input dynamics (range: 0 to 1)resonance > -- resonance of the lowpass filter (suggested range: 0 to 1) 1An effect that reverses an audio stream in chunks  revsy timetime& -- the size of the chunck in seconds. HA flanger effect following the typical design of a so called 'stomp box' * flan rate depth delayTime feedback ain =  Arguments rate H -- rate control of the lfo of the effect *NOT IN HERTZ* (range 0 to 1) depth 2 -- depth of the lfo of the effect (range 0 to 1) delayTime > -- static delay offset of the flanging effect (range 0 to 1) feedback B -- feedback and therefore intensity of the effect (range 0 to 1) ain = -- input audio to which the flanging effect will be applied PhaserJAn phase shifting effect that mimics the design of a so called 'stomp box' phasy rate depth freq fback ain Arguments:rate - -- rate of lfo of the effect (range 0 to 1)depth . -- depth of lfo of the effect (range 0 to 1)freq V -- centre frequency of the phase shifting effect in octaves (suggested range 0 to 1)fback D -- feedback and therefore intensity of the effect (range 0 to 1) ain $ -- input audio to be pitch shifted LoFi (Bit Crusher)N'Low Fidelity' distorting effects of bit reduction and downsampling (foldover) crusher bits fold ain = ... Argumentsbits ' -- bit depth reduction (range 0 to 1)fold * -- amount of foldover (range 0 to 1) ain @ -- input audio to have low fidelity distortion effects applied  Stereo ChorusA stereo chorus effect *chory rate depth width (ainLeft, ainRight) Argumentsrate H -- rate control of the lfo of the effect *NOT IN HERTZ* (range 0 to 1)depth 2 -- depth of the lfo of the effect (range 0 to 1)width , -- width of stereo widening (range 0 to 1)ainX  -- input stereo signal Auto pan pany wave rate depth ain ; Arguments:wave : -- waveform used by the lfo (0=sine 1=triangle 2=square)rate H -- rate control of the lfo of the effect *NOT IN HERTZ* (range 0 to 1)depth 2 -- depth of the lfo of the effect (range 0 to 1)ain  -- input stereo audio  Sine auto pan oscPany = pany 0 Triangle auto pan triPany = pany 1 Square auto pan sqrPany = pany 2 Tremolotremolo effect tremy wave rate depth ain ; Arguments:wave : -- waveform used by the lfo (0=sine 1=triangle 2=square)rate H -- rate control of the lfo of the effect *NOT IN HERTZ* (range 0 to 1)depth 2 -- depth of the lfo of the effect (range 0 to 1)ain  -- input stereo audio  Sine tremolo oscTremy = tremy 0 Triangle tremolo triTremy = tremy 1 Square tremolo sqrTremy = tremy 2  RingModulator3An ring modulating effect with an envelope follower "ringo balance rate envelopeMod ain balance ; -- dry / wet mix of the output signal (range 0 to 1) ;  rate H -- frequency of thew ring modulator *NOT IN HERTZ* (range 0 to 1) ;  envelopeMod Q -- amount of dynamic envelope following modulation of frequency (range 0 to 1) ain % -- input audio to be pitch shifted Ping-pong delay &pongy kmix delayTime feedback tone aino                           ! " # $ % &       ' ( ) * + , - . / 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 { | }- ~  ./01 2 3 45 #                           ! " # $ % & ' ( ) * + , - . / 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 { | } ~  o                           ! " # $ % &       ' ( ) * + , - . / 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 { | }- ~  ./01 2 3 45 &None:T External controllers. We can control the looper with UI-widgets but sometimes it's convenient to control the loper with some external midi-device. This structure mocks all controls (except knobs for effects and mix).loopTapR - selects the current tap. It's a stream of integers (from 0 to a given integer).loopFade - can fade in or fade out a group of taps. It's a list of toggle-like event streams. they produce 1s for on and 0s for off.loopDel - is for deleting the content of a given tap. It's just a click of the button. So the value should be an event stream of units (which is Tick = Evt Unit). loopThrough! - is an event stream of toggles.All values are wrapped in the Maybe type. If the value is NothingF in the given cell the looper is controled only with virtual widgets.There is an instance of Default for  LoopControl with all values set to Nothingd. It's useful when we want to control only a part of parameters externally. We can use the value def to set the rest parameters: def { loopTap = Just someEvt } @The type for fine tuning of the looper. Let's review the values:  loopMixValF - list of initial values for mix levels (default is 0.5 for all taps) loopPrefx> - list of pre-loop effects (the default is do-nothing effect) loopPostfx? - list of post-loop effects (the default is do-nothing effect) loopPrefxValQ - list of dry/wet values for pre-looop effects (the default is 0.5 for all taps) loopPostfxValR - list of dry/wet values for post-looop effects (the default is 0.5 for all taps) loopInitInstrh - the initial sounding tap (sound source) (what tap we are going to record when the looper starts up). loopFades_ - the list of instrument groups to fade/out. Eachl list item is a list of integers where an integer points to a tap number. By default a single fader is given to each tap. with lists of integers we can group the sound sources by their functions in the song. We may group all harmonic instruments in a single group and all drums into another group.loopReeatFadesa -- a repeat fade weight is a value that represents an amount of repetition. A looping tap is implemented as a delay tap with big feedback. The repeat fades equals to the feedback amount. It have to be not bigger than 1. If the value equals to 1 than the loop is repeated forever. If it's lower than 1 the loop is gradually going to fade.  loopControlS -- specifies an external controllers for the looper. See the docs for the type LoopSpec. The midiLoop that is adapted for usage with soundfonts. It takes in a list of pairs of sound fonts as sound sources. The second value in the pair is the release time for the given sound font. The sigLoop that is adapted for usage with midi instruments. It takes a list of midi instruments in place of signal inputs. The rest is the same Simple multitap Looper. We can create as many taps as we like also we can create fade outs/ins insert effects and control mix.  sigLoop spec bpm times imputs  Arguments:looper spec (see the docs for the type)main bpm. rate. All taps are aligned with the main ratelist of multipliers for each tap. Each tap is going to have a fixed length that is a multiplier of the main rate. It doesn't have to be an integer. So we can create weird drum patterns with odd loop durations.blist of signal sources. By convention all sources are stereo signals. We can use the function fromMono& to convert the mono signal to stereo.6789 :;<   6789  :;< 'None 9:;<=DR = > ?                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E@ABCDEFG 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 [ \ ]               ! & ' ( ) . / 0 1 6 7 8 9             " # $ % * + , - 2 3 4 5 : ; < = > ? @ A F G H I N O P Q V W X Y B C D E J K L M R S T U Z [ \ ]     = > ?                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E@ABCDEFG 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 { | } ~  <None      !"#$%&'()*0/.-,+      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgijklmnopqrwxstuvyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0126789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 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 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 [ \ ]*NoneHIJKL m k l MNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr stuvwxyz{|   #"!9876543210/.-,+*)('&%$A@?>=<;:KJIHGFEDCBPONMLWVUTSRQa`_^]\[ZYXjihgfedcbyxwvutsrqponmlk}|{z~}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY      !"#$%&'()*0/.-,+213456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy~}|{z      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHLIKJMNORQP~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTS      !"#$%&'()*+,-./0987654321:@?>=<;Z[       !"#$%&'()*+,-./0123@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     !"#$%&'()*+,-./0123456789:      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgijklmnopqrwxstuvyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0126789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 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 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 [ \ ]\BCDBCEBCFBCGBCHBCIBCJBCKBCLBCMBCNBCNBCOBCPBCQBCRBCSBCTBCUBCVBCVBCWBCXBCYBCZBC[BC\BC]BC^BC_BC`BCaBCbBCcBCdBCeBCfBCgBChBCiBCjBCkBClBCmBCnBCoBCpBCqBCrBCsBCtBCuBCvBCwBCxBCyBCzBC{BC|BC}BC~BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC                        !"#$%$&$'$()*)+),-./0/1/2/3/4/5/56768696:6;6<6=6>6?6@6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6\6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6xyzyz{|{}{~{{{{{{106      !"#$%&'()*)+),)-).)/)0)1)2)3)4)5)6)7)89:9;9<9=9>9?9@9A9B9C9D9E9F9G9H9IJKLMNOPQRSTUVWXYZ[\]^_`_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[\]^_`abcdefghijklmnmompmqmrmsmtmumvmwmxmymzm{m|m}m~mmmmmmmmmmmmmmmmmmmmm      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~------..../////   3      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu8vwxy9z:{|}~                        ! " # $ = % & ' ( ) * + , - . / 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 { | } ~                                       !" # $ % & '()*+,-./012234556789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\] ^ ^ _ ` a a b c d e f 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' {' |' }' ~' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '                                 - - - - - - - - - - - - - - - - - - - - - - - - - - - !- "- #- $- %- &- '- (- )- *. +. ,. -. .. /. 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 N O P Q R 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 { | } ~        ! ! ! ! ! ! ! ! " " " " " " " " " " " " " " " " " " # # # # # # # #                   U          E                                                      $ $ $ $ $ $ $ $$$$$$%%%% % % % % %%%%%%%%%%%%%%%%%%% %!%"%#%$%%%&%'%(%)%*%+%,%-%.%/%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 fghighjghkghlghmghnghoghpghqghrghsghtghughvghwghxghyghzgh{gh|gh}gh~ghghgh                       5     4 !"#$%&'()*)+),)-).)/)0)1)2)3)4565758595:5;5<5=5>5?5@5A5B5C5D5EFGFHFIFJFKFLFMFNOPOQOROSOTOUVWVXVYVZV[V\V]^_^`^a^b^c^d^e^f^g^h^i^j^k^l^mnonpnqnrnsntnunvnwnxnynzn{n|n}n~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuAvwxyz{|}~?@10/)      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi jklmn opqrstuvwxyz{|}~      !"#$%&'()*+,-./012345678797:7;<=<><?<@<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<lmnmompmqmrmsmtmumvmwmxmymzm{m|}~}~.csound-expression-5.2.0-88JkUa2G0By7y20Vav3lF9Csound.OptionsCsound.SigSpaceCsound.Control.MidiCsound.Control.GuiCsound.Control.Gui.Widget Csound.Air.FxCsound.Air.FilterCsound.Control.InstrCsound.Air.PanCsound.Air.Wave.SyncCsound.Air.WaveCsound.Control.SfCsound.Control.Osc Csound.IOCsound.Control.Channel Csound.TypesCsound.Control.EvtCsound.Air.MiscCsound.Air.EnvelopeCsound.CabbageCsound.Control.SE Csound.TabCsound.Control.Gui.PropsCsound.Control.Gui.Layout Csound.TuningCsound.Air.SpecCsound.Air.WavCsound.Air.SegCsound.Air.Hvs Csound.Air.FmCsound.Air.GranularCsound.Air.Granular.MorpheusCsound.Air.PadsynthCsound.Air.PatchCsound.Air.SamplerCsound.Air.LiveCsound.Air.Fx.FxBoxCsound.Air.LooperCsound.Air.ModArgCsound.Opcode.Basicbuzz Csound.Base tabResolution CsdOptions!Csound.Control.Overload.SpecInstrCsound.Control.Overload.Outs!Csound.Control.Overload.MidiInstrmidimidinCsound.Control.OverloadmetrochangedtriggeraccumECsound.Render.Mix renderCsdplayCsddacCsound.Control Csound.AiroscBy Csound.Opcodelinsegexpseglinen6csound-expression-dynamic-0.3.0-CsYqsZ09xIOGLtXcCso5q2Csound.Dynamic.Types.Flags flagsVerbatimconfigdisplaysrtmidimidiRTmidiIO pulseAudiortaudioidTagsaudioFileOutputFlagsdithernopeaksnosoundinputoutput formatType formatSamplesAudioFileOutput RewriteHeaderNoHeader FormatHeaderLongShortUlaw FloatSamplesScharUcharAlawBit24 FormatSamplesUniform TriangularDitherXiWavexWavW64VocSvxSdsSd2RawPvfPafNisMat5Mat4IrcamHtkFlacCafAvrAuAiff FormatTypeidTitle idSoftwareidDate idCopyright idCommentidArtistIdTags jackOutport jackInport jackClient NoRtaudio CoreAudioMmeJackAlsa PortAudioRtaudiopaInputpaOutputpaServer PulseAudioterminateOnMidirawControllerMode muteTracks midiOutFilemidiFileMidiIO midiOutDevicemidiVelocityAmp midiVelocity midiKeyPch midiKeyOct midiKeyCpsmidiKey midiDeviceMidiRTNoRtmidi VirtualMidi WinmmeMidiMmeMidiCoreMidiAlsaSeqAlsaMidiPortMidiRtmidi listOpcodesdisplayVerbosemsgColor mBenchmarksmColoursmDb mWarningsmRangemAmps messageLeveldisplayHeartbeat displayMode csdLineNumsDisplays AsciiDisplayPostScriptDisplay NoDisplay DisplayModesetTempo skipSecondsstrsetNschedNumsetSchedsmacroomacroscoreInnewSrnewKrioBufhwBufConfig5csound-expression-typed-0.2.0.0-bSuhxdtQldCuWNkHvYxj5Csound.Typed.Types.SigSpaceon8csound-expression-opcodes-0.0.3.2-3olIIVMtdSM13SXgMbRhiE Csound.Typed.Opcode.RealtimeMIDIcpsmidiampmidictrl7Csound.Typed.Gui.Widget sinkSlice sourceSlicekeyIn setSlidersetKnob setToggle setToggleSigmeter setNumeric butBankSig1butBank1 butBankSigbutBank toggleSigtogglebuttonboxnumeric sliderBanksliderrollerknobjoycountcountSigsetTitledisplay sinkSourcesinksourcewidgetmscamvermhor mapGuiSource mapSource keyPanelBypanelBykeyPanelpanel keyPanelspanelsInputOutputInnerWidgetSinkSource SinkSourceDisplay)Csound.Typed.Plugins.ZeroDelayConvolutionzconv'zconvzconvNp zconvRatio zconvPartSize ZConvSpecCsound.Typed.Plugins.ZdflowShelf highShelfpeakEqzhp4zbp4zlp4zdf4zladderzbr zdf2_notchzhpzbpzlpzdf2zap1zhp1zlp1zdf1Csound.Typed.ControlsetDurCsound.Typed.Control.ApitrigByNameMiditrigByNameMidi_ trigByName trigByName_Csound.Typed.Plugins.Korg35korg_hpkorg_lp linKorg_hp linKorg_lpCsound.Typed.Plugins.Diode noNormDiodediodelinDiode Csound.Typed.Plugins.Audaciouseq audaciousEqCsound.Typed.MischeadPan'headPan staticHeadPan hradPanFade headPanPhase HeadPanSpecCsound.Typed.Control.VcobloscSyncAbsBy' sqrSyncAbsBy'pulseSyncAbsBy' triSyncAbsBy'isawSyncAbsBy' sawSyncAbsBy'bloscSyncAbsBy sqrSyncAbsBypulseSyncAbsBy triSyncAbsBy isawSyncAbsBy sawSyncAbsBy bloscSyncAbs' sqrSyncAbs' pulseSyncAbs' triSyncAbs' isawSyncAbs' sawSyncAbs' bloscSyncAbs sqrSyncAbs pulseSyncAbs triSyncAbs isawSyncAbs sawSyncAbs bloscSyncBy' sqrSyncBy' pulseSyncBy' triSyncBy' isawSyncBy' sawSyncBy' bloscSyncBy sqrSyncBy pulseSyncBy triSyncBy isawSyncBy sawSyncBy bloscSync'sqrSync' pulseSync'triSync' isawSync'sawSync' bloscSyncsqrSync pulseSynctriSyncisawSyncsawSyncblosc'sqr'pulse'tri'isaw'saw'bloscsqrpulsetriisawsawUserSyncTrapSyncTriSyncSawSyncRawSync SyncSmoothCsound.Typed.Control.Sf2SfCsound.Typed.Control.Osc listenOscValsendOsc listenOscinitOscOscPort OscAddressOscTypeOscHostOscValCsound.Typed.Control.Evt monoSched schedHarpBy schedHarpschedBysched_schedCsound.Typed.Control.Mixmix_mixBymixmonoScoeffsco_scoMixScoCsound.Typed.Control.Midipgmidi_midin_midi_pgmidiCsound.Typed.Control.MacrosArgs readMacrosIntreadMacrosDoublereadMacrosStringCsound.Typed.Control.InstrRefturnoff2noteOffnoteOn newOutInstraddFracInstrRefnegateInstrRef scheduleEventnewInstrInstrRefCsound.Typed.Control.Channel chnSetStr chnSetCtrl chnSetSigchnSetD chnGetStr chnGetSig chnGetCtrlchnGetD"Csound.Typed.Control.ArrayTraversefoldColumnsArrD foldRowsArrD foldColumnArr foldRowArrfoldArr forColumnArrD forRowArrD forColumnArr forRowArr foreachArrD foreachArrCsound.Typed.TypeswithSeedwithTabwithTabswithSigwithSigswithDwithDs withInitsCsound.Typed.Types.MonoArgmonoAdsr adsrMonoSyntmonoTrigmonoGatemonoCpsmonoAmpMonoArgMonoAdsrCsound.Typed.Types.EvtsyncsteppersnapsreadSnapsnapshot filterAccumE filterAccumSEaccumSEfilterSEfilterEsigToEvt boolToEvtrunEvtEvtBamSnapCsound.Typed.Types.Array phsArrayCopy magsArrayCopyc2rCopyr2cCopywindowArrayCopy pol2rect2Copy pol2rectCopy rect2polCopy cmplxprodCopy rifftCopyrfftCopy fftinvCopyfftCopyslicearrayCopy maparrayCopy phsArrayNew magsArrayNewc2rNewr2cNewwindowArrayNew pol2rect2New pol2rectNew rect2polNew cmplxprodNewtab2pvspvs2tabrifftNewrfftNew fftinvNewfftNew slicearrayNew scalearraysumarraymaxarrayminarray maparrayNew copya2ftab copyf2arraylenarraymixArr modifyArrwriteArrreadArrfillGlobalCtrlArrfillLocalCtrlArr fillGlobalArr fillLocalArrnewGlobalCtrlArrnewLocalCtrlArr newGlobalArr newLocalArrdarr3arr3darr2arr2darr1arr1Arr1DArr1Arr2DArr2Arr3DArr3ArrSpecArrCsound.Typed.Plugins.Utilitiesdelay1kCsound.Typed.Plugins.Adsr140adsr140Csound.Typed.Gui.CabcabbageCsound.Typed.Control.RefwhileRef newGlobalTabnewTabnewClearableGlobalRefglobalSensorsSEnewGlobalCtrlRef newGlobalRef sensorsSE modifyRefmixRef newCtrlRefnewRefreadRefwriteRefRefCsound.Typed.Types.TuplecaseArg guardedArgifArg caseTuple guardedTupleifTuplear8ar6ar4ar2ar1makeTupleMethods tupleMethodsTupleSigsArgcfdscfd4cfduonmul2'mul2mul'mulmapSigSigSpacebindSigBindSigmapSig2 SigSpace2bindSig2BindSig2atAtOutAtmixAtMixAtCsound.Typed.Types.PrimftcpsftsrftchnlsftlennsampgreaterThanEqualslessThanEquals greaterThanlessThan notEqualsToequalsToboolSigwhileDoDuntilDoDwhileDountilDowhenDswhenD1whenswhen1mod'div'rem'quot'round'int'floor'ceil'frac'sigirkrar getBlockSizegetControlRate getSampleRateidurtextintdouble fromTabListD fromTabListtabList forceNormskipNormunitSigDStrSpecWspecSig2Sig3Sig4Sig5Sig6Sig8BoolSigBoolDUnitTabTabListfromEtoGEfromGEValSigOrDCsound.Typed.GlobalState.SESECsound.Typed.GlobalState.GEMsgReleasePressKeyEvtNumDotNum0Num3Num2Num1Num6Num5Num4Num9Num8Num7NumPlusNumEnterNumDelNumIns NumPgDown NumArrowDownNumEnd NumArrowRightNumSpace NumArrowLeftNumPgUp NumArrowUpNumHomeNumSubNumMulNumDivNumLockPgDownEndDeletePgUpHomeInsert ArrowDown ArrowRight ArrowLeftArrowUp Backspace RightWinKey LeftWinKeyRightAltLeftAltEnter RightCtrlLeftCtrl RightShift LeftShiftCapsLookScrollF12F11F10F9F8F7F6F5F4F3F2F1CharKeyKeyCsound.Typed.Gui.Gui setKnobType setOrient setButtonType setTextType setSliderType setEmphasis setFontType setFontSize setTextColor setColors setColor2 setColor1 setBoxType setMaterialsetLabel setBorder forceProps resizeGuipropsmarginpaddingverScahorScascaspaceverhoruspanExpbspanuspanexpSpanlinSpanColorVerHorOrient valSpanScale valSpanDiapValSpan valDiapMax valDiapMinValDiap ExponentialLinear ValScaleTypeValStepDingbatsScreenSymbolTimesCourier HelveticaFontType BoldItalicBoldItalic NoEmphasisEmphasisFlatClockPieThreeDKnobTypeNiceEngravedFill SliderTypeNoEditNoDrag NormalTextTextTypePlastic NoPlasticMaterial OvalFlatBox OvalShadowBoxOvalBoxDiamondDownBox DiamondUpBoxRoundedDownBox RoundedUpBoxRoundedFlatBoxRoundedShadowBox Roundedbox ShadowBox BorderBox EmbossedBox EngravedBox ThinDownBox ThinUpBoxDownBoxUpBoxFlatBoxBoxTypeThinUpThinDown BlackLineEmbossedBorderEngravedBorder UpBoxBorder DownBoxBorderNoBorder BorderType RoundButton CheckButton LightButton NormalButton ButtonType ScaleFactor SetLabelType SetKnobType SetOrient SetButtonType SetTextType SetSliderType SetEmphasis SetFontType SetFontSize SetTextColor SetColor2 SetColor1 SetBoxType SetMaterialSetLabelPropGuiCsound.Typed.Constants infiniteDur!Csound.Typed.GlobalState.ElementsChannel Csound.Typed.GlobalState.Options idPadsynthidWaveidFareyidSoneidExpidTanhidMp3sidWins idBesselsidChebs2idChebs1idPolys idSplines idStartEndsidExpsidCubesidLinsidConstsidBuzzesidSines4 idPartialsidSines2idSines3idSines idDoublesidWavscoarseFifineFicsdJacko csdScaleUIcsdTabFicsdGain csdBlockSize csdSampleRatecsdFlagsOptionsTabFiCsound.Typed.Gui.BoxModelheightwidthpypxRect Csound.Typed.Gui.Cabbage.Cabbagewrap updaterate displaytypezoom scrubberpos fontstyle scrollbarskeywidthmiddlecshowchildplant guirefreshpluginidsizerange2range linethicknesstrackerthicknesstextbox'minmax sliderincralign channeltypecornersshapefilemodepopulatesvgfileactive popuptext widgetarraycaptionvisiblealpharotate identchannellatched fontcolour1 fontcolour0 fontcolour outlinecolour trackercolour textcolourbackgroundcolourcolour1colour0colourvaluetext2text1channelboundsxypad texteditortextbox signaldisplay soundfilerrslidervsliderhsliderlabelkeyboardimagegroupboxformvrangehrangegentableencoder csoundoutputcomboboxcheckbox infobutton filebuttonCabCabPropRgbHashCol NormTabSpecScanLeftToRightScanFromMiddle PadsynthShape GaussShape SquareShapeExpShape PadsynthSpecpadsynthFundamentalpadsynthBandwidthpadsynthPartialScalepadsynthHarmonicStretch padsynthShapepadsynthShapeParameterpadsynthHarmonics PartialDC PartialPhasePartialStrength PartialNumberMp3ChnMp3Mono Mp3StereoMp3LeftMp3RightMp3AllWavChnWavLeftWavRightWavAllnoTabtabSizeSeconds tabSizePower2tabSizeSecondsPower2wavswavLeftwavRightmp3smp3Leftmp3Rightmp3mdoublesexpseexpscubesecubeslinselinssplinesesplinesconstseconsts startEnds estartEndsbpLinsbpExpssinessines1sines2sines3sines4bwSines bwOddSinessinecosinesigmoid sigmoidRise sigmoidFall tanhSigmoidbuzzesbesselspolyschebs1chebs2 winHamming winHanning winBartlett winBlackman winHarris winRectanglewinSyncwinGauss winKaiserdefPadsynthSpecpadsynthgen guardPointgpsetSize setDegreelllofillofilofimidfihifihhifihhhifitablewasec2rel tabHarmonicsmixOnTabmixTabsnormTabscaleTabtabsegetabseguniDistlinDisttriDistexpDist biexpDist gaussDist cauchyDist pcauchyDistbetaDist weibullDist poissonDistuniDist'linDist'triDist'expDist' biexpDist' gaussDist' cauchyDist' pcauchyDist' betaDist' weibullDist' poissonDist'tabDistrandDist rangeDist readNumFilereadTrajectoryFile readPvocexreadMultichannel tabSines1 tabSines2 waveletTabrescaleWaveletTabtriTabsawTabsqrTabpwTabtanhTabrescaleTanhTabexpTab rescaleExpTabsoneTabrescaleSoneTabfareyTabtablewreadTab readTable readTable3 readTableitableikttablekttablexktcuserrndduserrnd$fDefaultMp3Chn$fDefaultWavChn $fShowWavChn $fEqWavChn $fShowMp3Chn $fEqMp3Chn$fShowPadsynthShape$fEqPadsynthShape$fOrdPadsynthShape$fEnumPadsynthShape$fShowPadsynthSpec$fEqPadsynthSpecsetRatessetBufssetGainsetJack setCoreAudiosetAlsasetMmesetDacsetAdcsetInput setOutputsetDacBysetAdcBysetThru setSilent setMidiDevicesetMasetMessageLevelnoTrace setCabbageatArgatTuple whenElseDwhenElse compareWhenDcfdSpeccfdSpec4cfdsSpecwsumbatbmixAtTempList unTempListTempunTempgenTemp genTempRatio tempRatioCtempC stdTempRatiostdTemp barTempRatiobarTemp ratioConcertAconcertAtempList fromTempList fromTempListD cent2ratio ratio2cent equalCents1 justCents1 meantoneCents pythagorCentswerckmeisterCents youngCents1 youngCents2 youngCents3equal1just1meantonepythagor werckmeisteryoung1young2young3 $fArgTempList$fTupleTempList $fArgTemp $fTupleTemp $fDefaultTempCpsInstr CpsInstrOutonCpsAmpInstr AmpInstrOutonAmpOutsSigOutstoOutsonArg MidiInstrTemponMsg' MidiInstr MidiInstrOutonMsg ListenOsc listenOscSig listenOscSig2gridRndsTickevtToSig evtToBool evtToTrigdevtmetroEmetroSig gaussTrigdustdustSigdustSig2loadbangimpulseimpulseE eventListchangedEtriggerEsyncBpm partitionE splitTogglesnaps2cycleElistAtrandIntsrandDsrandListrandSkip randSkipByiterateErepeatEappendEmappendEoneOffreqOf freqAccumeverymaskedtoTogtoTog1takeEdropE takeWhileE dropWhileERange radioButton matrixButton funnyRadio funnyMatrixcharOncharOffstrOnstrOffuslideruknobxsliderxknobujoyhnumbersvnumbersknobPad togglePad buttonPadgenPadhradiovradio hradioSig vradioSig rangeKnobSigrangeSliderSig rangeKnob rangeSliderrangeJoy rangeJoy2 rangeJoySigbutton'toggle' toggleSig'uknob'uslider'knob'slider' hradioSig' vradioSig'hradio'vradio'winkeyWin joinSource fromSource fromSourceSE resizeSourcehliftsvlifts gridLiftshlifts'vlifts'lift1hlift2vlift2hlift2'vlift2'hlift3vlift3hlift3'vlift3'hlift4vlift4hlift4'vlift4'hlift5vlift5hlift5'vlift5'hbindvbindhapplyvapplyhbind'vbind'happly'vapply'hmapMvmapMhmapM'vmapM'gridMapM $fAt(,)SESE $fAt(,)(,)SE $fAtSigSESE $fSigSpaceSE RenderCsd renderCsdBywriteCsd writeCsdBywriteSnd writeSndBy playCsdBydacByvdacvdacBycsdcsdBymplayer mplayerBytotemtotemBy runCabbage runCabbageByonCard1onCard2onCard4onCard6onCard8 $fRenderCsdSE$fRenderCsdSE0$fRenderCsdSE1$fRenderCsdSE2$fRenderCsdSE3$fRenderCsdSE4$fRenderCsdSE5$fRenderCsdSE6$fRenderCsdSE7$fRenderCsdSE8$fRenderCsdSE9$fRenderCsdSE10$fRenderCsdSE11$fRenderCsdSE12$fRenderCsdSE13$fRenderCsdSE14$fRenderCsdSE15$fRenderCsdSE16$fRenderCsd(->)$fRenderCsd(->)0$fRenderCsd(->)1$fRenderCsd(->)2$fRenderCsd(->)3$fRenderCsd(->)4$fRenderCsd(->)5$fRenderCsd(->)6$fRenderCsd(->)7$fRenderCsd(->)8$fRenderCsd(->)9$fRenderCsd(->)10$fRenderCsd(->)11$fRenderCsd(->)12$fRenderCsd(->)13$fRenderCsd(->)14$fRenderCsd(->)15$fRenderCsd(->)16$fRenderCsd(->)17$fRenderCsd(->)18$fRenderCsd(->)19$fRenderCsd(->)20$fRenderCsd(->)21$fRenderCsd(->)22$fRenderCsd(->)23$fRenderCsd(->)24$fRenderCsd(->)25$fRenderCsd(->)26$fRenderCsd(->)27$fRenderCsd(->)28$fRenderCsd(->)29$fRenderCsd(->)30$fRenderCsd(->)31$fRenderCsd(->)32$fRenderCsd(->)33$fRenderCsd(->)34$fRenderCsd(->)35$fRenderCsd(->)36$fRenderCsd(->)37$fRenderCsd(->)38$fRenderCsd(->)39$fRenderCsd(->)40$fRenderCsd(->)41$fRenderCsd(->)42$fRenderCsd(->)43$fRenderCsd(->)44$fRenderCsdSE17$fRenderCsdSE18$fRenderCsdSE19$fRenderCsdSE20$fRenderCsdSE21$fRenderCsdSE22$fRenderCsdSE23$fRenderCsdSE24$fRenderCsdSE25$fRenderCsdSE26$fRenderCsd(,,,)$fRenderCsd(,)$fRenderCsd(,,,)0$fRenderCsd(,,,,,,,)$fRenderCsd(,,)$fRenderCsd(,,,,,)$fRenderCsd(,)0$fRenderCsd(,,,)1$fRenderCsd(,)1$fRenderCsdSig$fRenderCsdSE27mixLoopmixLoop_ schedUntil schedToggle schedUntil_playWhenwithDurretrigalwaysOn turnoffByNameMidiFunMidiChnChnAllChnPgm toMidiFun toMidiFun_ampCps ampmidinnampCps'cpsmidi' cpsmidi'D cpsmidi'SigmonoMsg monoMsgTemp genMonoMsggenMonoMsgTemp smoothMonoArggenFilteredMonoMsggenFilteredMonoMsgTempholdMsg holdMsgTemp trigNamedMono midiKeyOn midiKeyOffinitc7 midiCtrl7midiCtrl umidiCtrltryMiditryMidi' $fShowMidiChn $fEqMidiChnsf2sfTempsfMsgsfMsg3sfMsgmsfMsg3m sfMsgLooper sfMsgTemp sfMsgTemp3 sfMsgTempm sfMsgTemp3msfMsgLooperTempsfKeysfKey3sfKeymsfKey3m sfKeyLoopersfCpssfCps3sfCpsmsfCps3m sfCpsLooperLfoWaveoscosc'oscBy'unipolarbipolaruoscuoscByusawuisawusqrutriupulseubloscurspline birsplinefoscpwpw'rampramp'upwurampuosc'uoscBy'usaw'uisaw'upulse'usqr'upw'utri'uramp'ublosc'rndPhsrndOscrndOscByrndSawrndIsawrndPulserndSqrrndPwrndTrirndRamprndBloscurndOsc urndOscByurndSawurndIsaw urndPulseurndSqrurndPwurndTriurndRamp urndBloscrndhrndiurndhurndiwhitepinklfodetunemultiHz multiCentmultiRnd multiGauss multiRndSE multiGaussSEbuzbuz'gbuzgbuz'rawTrirawSawrawSqrrawPwrawTri'rawSaw'rawSqr'rawPw' rndRawTri rndRawSaw rndRawSqrrndRawPwurawTriurawSawurawSqrurawPwurawTri'urawSaw'urawSqr'urawPw' urndRawTri urndRawSaw urndRawSqr urndRawPw rndSawSync rndIsawSync rndPulseSync rndSqrSync rndTriSync rndBloscSync rawTriSyncBy rawSqrSyncBy rawSawSyncBy rawPwSyncBy rawTriSync rawSqrSync rawSawSync rawPwSyncrawTriSyncAbsByrawSqrSyncAbsByrawSawSyncAbsByrawPwSyncAbsBy rawTriSyncAbs rawSqrSyncAbs rawSawSyncAbs rawPwSyncAbssoftSync rawSoftSync softSyncBy rawSoftSyncBy softSyncAbsrawSoftSyncAbs softSyncAbsByrawSoftSyncAbsBy CrossSpeccrossFft crossHopSize crossScale crossPitchcrossMaxTracks crossWinType crossSearch crossDepth crossThreshcrossMinPoints crossMaxGaptoSpecfromSpecmapSpec scaleSpecaddSpec scalePitchcrossSpecFiltercrossSpecVocodercrossSpecFilter1crossSpecVocoder1$fDefaultCrossSpecPitchSigTempoSigFidelityPhsrphsrFile phsrStartphsrEnd phsrSpeed SampleFormatNoHeaderFloat32 NoHeaderInt16 HeaderInt16 UlawSamplesInt16Int32Float32Uint8Int24Float64LoopModeOnceLoopBouncetakeSnddelaySnd segmentSnd repeatSndafterSndlineSnd loopLineSndtoMono lengthSndsegmentsreadSnd loopSndByloopSndreadWavloopWav readSegWav tempoReadWav tempoLoopWavreadSnd1 loopSndBy1loopSnd1readWav1loopWav1 readSegWav1 tempoReadWav1 tempoLoopWav1ramSndramSnd1 writeSigswriteWavdumpWavdumpWav1 writeAiff writeWav1 writeAiff1mincer temposcalramTablphasephsrOnce phsrBouncerelPhsrsndPhsrram1ramreadRamloopRamreadSegloopSegreadRelloopRelreadRam1loopRam1readSeg1loopSeg1readRel1loopRel1 scaleDrum scaleHarm scaleDrum1 scaleHarm1 scaleWav1scaleWav$fShowLoopMode $fEqLoopMode$fEnumLoopMode$fEqSampleFormat$fOrdSampleFormat$fEnumSampleFormatSegtoSegconstLimlimSndrunSeg constRestconstDel $fLimitSeg $fRestSeg $fLoopSeg $fDelaySeg $fComposeSeg $fHarmonySeg $fMelodySeg $fSigSpaceSeg $fFunctorSegheadPan2 headPan2'staticHeadPan2 headPanNet headPanNet2 HvsMatrix3 HvsMatrix2 HvsMatrix1 HvsSnapshotcsdHvs1csdHvs2csdHvs3hvs1hvs2hvs3FmGraphfmGraph fmGraphOutsFmSpecfmWavefmCpsfmIndfmOutsFmNodeFmfmOsc'fmOscfmSigfmodfmOutfmOut1fmOut2fmRundx_1dx_2dx_3dx_4 FlatFilter ResonFilterlphpbpbralpbhpblpbbpbbrmlpslidesmoothtoResonfiltflatFiltlp18mlp2mlp3lp1hp1bp2br2formantsingAsingOsingEsingUsingO2alp1alp2alp3alp4ahpmvchpfmvclpf1mvclpf2mvclpf3mvclpf4lpCheb1lpCheb1'lpCheb2lpCheb2'clpclp'hpCheb1hpCheb1'hpCheb2hpCheb2'chpchp'ladderplasticwobbletrumpyharshtbfslpshpsbpsbr multiStatevar multiSvfilterFftSizeRatioSig TremWaveSig FoldoverSigBitsReductionSigTimeSig ResonanceBaseCpsSensitivitySigDriveSigToneSigWidthSigRateSigDepthSig PingPongSpecpingPongMaxTime pingPongDamp pingPongWidthBalanceFeedback DelayTime MaxDelayTime reverbsc1 reverTimerever1rever2 smallRoom smallHall largeHall magicCave smallRoom2 smallHall2 largeHall2 magicCave2roomchamberhallcavemonoIRmonoIR'stereoIR stereoIR' stereoIR2 stereoIR2'pmonoIR pstereoIR pstereoIR2echofvdelayfvdelays funDelaystabDelaypingPong pingPong' csdPingPong distortionchorusflangephase1 harmPhase powerPhase fxDistort stChorus2 analogDelayfxFilter equalizereq7eq4fxGainfxWhitefxPinkfxEcho trackerSplicepitchShifterDelay fxAnalogDelay fxDistortion fxFollower fxReverse fxFlangerfxPhaserfxLoFi fxChorus2 fxAutoPanfxTremfxPitchShifter fxFreqShifter fxCompress$fDefaultPingPongSpecFof2Spec fof2TimeMod fof2PitchModfof2Octfof2Bandfof2Rise fof2Decay fof2Glissfof2Win SndwarpSpecsndwarpWinSize sndwarpRandwsndwarpOvelrap sndwarpWinRndSyncgrainSpecrndSyncTimescalerndSyncgrainPitchrndSyncgrainGrainDur SyncgrainSpec syncgrainWinsyncgrainOverlap GranuleSpec granuleGap granuleVoice granuleRatio granuleModegranuleSkip_os granuleGap_osgranuleSize_os granuleSeed granuleAtt granuleDec GranuleModeGranuleForwardGranuleBackward GranuleRandom RndGrainySpecrndGrainyPitch rndGrainyPos rndGrainyDur PartikkelSpecpartikkelDistributionpartikkelDisttab partikkelSyncpartikkelEnv2amtpartikkelEnv2tabpartikkelEnv_attackpartikkelEnv_decaypartikkelSustain_amountpartikkelA_d_ratio partikkelAmppartikkelGainmaskspartikkelSweepshapepartikkelWavfreqstarttabpartikkelWavfreqendtabpartikkelWavfmpartikkelFmamptabpartikkelFmenvpartikkelCosinepartikkelNumpartialspartikkelChromapartikkelChannelmaskspartikkelRandommaskpartikkelWaveamptabpartikkelWavekeyspartikkelMax_grains ConstPitchSigPointer GrainSize GrainRate partikkelgrainy1grainy rndGrainy1 rndGrainy ptrGrainy ptrGrainySnd ptrGrainySnd1 rndPtrGrainygranule granuleSnd granuleSnd1 syncgrain rndSyncgrain syncgrainSnd syncgrainSnd1rndSyncgrainSndrndSyncgrainSnd1sndwarp sndwarpst sndwarpSnd sndwarpSnd1 ptrSndwarp ptrSndwarpst ptrSndwarpSndptrSndwarpSnd1fof2Sndfof2Snd1fof2fofDelay grainyDelayrndGrainyDelay sndwarpDelaysyncgrainDelayrndSyncgrainDelaypartikkelDelaygrainyFx rndGrainyFx sndwarpFx syncgrainFxrndSyncgrainFx partikkelFxfofFx csdPartikkel csdSyncgrain csdGranule csdSndwarp csdSndwarpst$fDefaultFof2Spec$fDefaultSndwarpSpec$fDefaultRndSyncgrainSpec$fDefaultSyncgrainSpec$fDefaultGranuleSpec$fDefaultGranuleMode$fDefaultRndGrainySpec$fDefaultPartikkelSpec MorphSpecmorphGrainDensity morphGrainEnvGrainEnv grainAttShape grainDecShapegrainSustRatiograinAttDecRatio GrainDensity grainRate grainSize grainSkip MorphWaveWaveKeyWaveAmpmorpheus pairToSquare morphSnd1morphSnd morpheusOsc morpheusOsc2$fDefaultMorphSpec$fDefaultGrainEnv$fDefaultGrainDensity padsynthOsc padsynthOsc2padsynthOscMultiCpspadsynthOscMultiCps2padsynthOscMultiVolpadsynthOscMultiVol2padsynthOscMultiVolCpspadsynthOscMultiVolCps2bwOscBybwOscBy2 bwOddOscBy bwOddOscBy2bwOscbwTribwSqrbwSawbwOsc2bwTri2bwSqr2bwSaw2morphsynthOscMultiCpsquadMorphsynthOscMultiCpsPatchMonoSyntPolySyntSetSkinFxChain SplitPatch LayerPatch PolySyntSpec polySyntChn MonoSyntSpec monoSyntChnmonoSyntSlideTimePatch2Patch1FxSpecfxMixfxFunFx2Fx1 DryWetRatioFxInstrCsdNote MonoInstr GenMonoInstr GenFxSpecGenInstrSyntSkinpolySyntpolySyntFilteradsrMonoadsrMonoFiltermonoSyntmonoSyntFilterfxSpec fxSpecFiltermapMonoPolyInstr mapPatchInstrdryPatchsetFxMix setFxMixes getPatchFxatNoteatMidi atMidiTempatSched atSchedUntil atSchedHarpatScoonMonoSyntSpec setMidiChn setMonoSharp setMonoSlide transPatch addInstrFxaddPreFx addPostFx patchWhenmixInstr harmonPatchdeepPad withSmallRoomwithSmallRoom' withSmallHallwithSmallHall' withLargeHallwithLargeHall' withMagicCavewithMagicCave' sfPatchHallsfPatchpatchByNameMidipatchByNameMidiTempfxSigfxSigMixfxSig2 fxSigMix2mapFxmapFx'bindFxbindFx'mapPreFx mapPreFx' bindPreFx bindPreFx'$fRenderCsdPatch$fRenderCsdPatch0$fSigSpacePatch$fDefaultPolySyntSpec$fDefaultMonoSyntSpec MidiTrigFunevtTrig syncEvtTrigevtTap syncEvtTapevtGroup syncEvtGroupevtCycle syncEvtCyclecharTrig syncCharTrigcharPush syncCharPush charTogglesyncCharTogglecharTap syncCharTap charGroup syncCharGroup charCycle syncCharCycle midiAmpInstr midiLpInstrmidiAudioLpInstrmidiConstInstrmidiTrigmidiTapmidiPush midiToggle midiGroup midiTrigBy midiTapBy midiPushBy midiToggleBy midiGroupBy keyColumn1 keyColumn2 keyColumn3 keyColumn4 keyColumn5 keyColumn6 keyColumn7 keyColumn8 keyColumn9 keyColumn0 keyColumnsHumanizeValueTimeHumanizeValueTimeOut humanValTime HumanizeTimeHumanizeTimeOut humanTime HumanizeValueHumanizeValueOuthumanValSeqlegxegonIduronDurlindurexpdurlindurByexpdurBylinendur linendurByfadeInfadeOutslopeexpSlope expFadeIn expFadeOutfadesexpFadesstepSeqsahlinloopexploopconstSeqtriSeqsqrSeqsawSeqisqrSeqisawSeqxsawSeqixsawSeqxtriSeqpwSeqipwSeqrampSeqxrampSeqirampSeq ixrampSeqlpsholdloopsegloopxseg lpsholdBy loopsegBy loopxsegByadsrSeqxadsrSeqadsrSeq_ xadsrSeq_holdSeqlinSeqexpSeqtoSeqonBeatonBeatsseqConstseqLinseqExpseqPwiseqPwseqSqriseqSqrseqSawiseqSawxseqSawixseqSawseqRampiseqRampseqTri seqTriRampseqAdsrxseqAdsrseqAdsr_ xseqAdsr_seqPatseqDescseqAscseqHalfhvalhtimehvalTimetrigTab$fHumanizeValueTime(->)$fHumanizeValueTime(->)0$fHumanizeValueTime(->)1$fHumanizeTime(->)$fHumanizeTime(->)0$fHumanizeTime(->)1$fHumanizeValue(->)$fHumanizeValue(->)0$fHumanizeValue(->)1$fHumanizeValue(->)2$fFractionalSeq$fNumSeq $fStretchSeq $fMelodySeq $fDelaySeq $fRestSeq $fDurationSeqoddsevensonceonceByseveralmeanvibrate randomPitch chorusPitchresonsresonsBydryWetmodesfromMonorndPan2rndPangaussVolrndVol writeHifiselectorarpeggiarpBylpJoyfunSeqfunPardelaySignticksnticks2nticks3nticks4ticksticks2ticks3ticks4 testDrone testDrone2 testDrone3 testDrone4wshaper genSaturator mildSaturator saturator hardSaturatorhardSaturator2$fDefaultRazorPadAdsrInitattInitdecInitsusInitrelInit AdsrBoundattBounddecBoundrelBoundmixerhmixermixMonofxBoxuiBoxfxColorfxScafxHorfxVerfxGridfxHorMSfxVerMSfxGridMSfxApplyfxMapatFx uiDistortuiChorusuiDry uiFlangeruiPhaseruiDelayuiEchouiFilteruiReverbuiGainuiWhiteuiPinkuiFxuiMidiuiSiguiMixlinAdsrexpAdsr classicWaves masterVolumemasterVolumeKnob hmidiChooser vmidiChooser hinstrChooser vinstrChooser uiCompress fromMonoFxEnvelopeModSigadeletortfowlerrevsyflanphasycrusherchorypanyoscPanytriPanysqrPanytremyoscTremytriTremysqrTremyringoadele1adele2adele3adele4adele5adele1badele2badele3badele4badele5badele1madele2madele3madele4madele5mpongypongy1pongy2pongy3pongy4pongy5pongy1bpongy2bpongy3bpongy4bpongy5bpongy1mpongy2mpongy3mpongy4mpongy5mtort1tort2tort3tort4tort5tort1btort2btort3btort4btort5btort1mtort2mtort3mtort4mtort5mfowler'fowler1fowler2fowler3fowler4fowler5flan'flan1flan2flan3flan4flan5phasy'phasy1phasy2phasy3phasy4phasy5chory'chory1chory2chory3chory4chory5oscPany'oscPany1oscPany2oscPany3oscPany4oscPany5triPany'triPany1triPany2triPany3triPany4triPany5sqrPany'sqrPany1sqrPany2sqrPany3sqrPany4sqrPany5 oscTremy' oscTremy1 oscTremy2 oscTremy3 oscTremy4 oscTremy5 triTremy' triTremy1 triTremy2 triTremy3 triTremy4 triTremy5 sqrTremy' sqrTremy1 sqrTremy2 sqrTremy3 sqrTremy4 sqrTremy5ringo'ringo1ringo2ringo3ringo4ringo5uiAdele1uiAdele2uiAdele3uiAdele4uiAdele5 uiAdele1b uiAdele2b uiAdele3b uiAdele4b uiAdele5b uiAdele1m uiAdele2m uiAdele3m uiAdele4m uiAdele5muiPongy1uiPongy2uiPongy3uiPongy4uiPongy5 uiPongy1b uiPongy2b uiPongy3b uiPongy4b uiPongy5b uiPongy1m uiPongy2m uiPongy3m uiPongy4m uiPongy5muiTort1uiTort2uiTort3uiTort4uiTort5uiTort1buiTort2buiTort3buiTort4buiTort5buiTort1muiTort2muiTort3muiTort4muiTort5m uiFowler' uiFowler1 uiFowler2 uiFowler3 uiFowler4 uiFowler5uiFlan'uiFlan1uiFlan2uiFlan3uiFlan4uiFlan5uiPhasy'uiPhasy1uiPhasy2uiPhasy3uiPhasy4uiPhasy5uiChory'uiChory1uiChory2uiChory3uiChory4uiChory5 uiOscPany' uiTriPany' uiSqrPany' uiOscPany1 uiOscPany2 uiOscPany3 uiOscPany4 uiOscPany5 uiTriPany1 uiTriPany2 uiTriPany3 uiTriPany4 uiTriPany5 uiSqrPany1 uiSqrPany2 uiSqrPany3 uiSqrPany4 uiSqrPany5 uiOscTremy' uiTriTremy' uiSqrTremy' uiOscTremy1 uiOscTremy2 uiOscTremy3 uiOscTremy4 uiOscTremy5 uiTriTremy1 uiTriTremy2 uiTriTremy3 uiTriTremy4 uiTriTremy5 uiSqrTremy1 uiSqrTremy2 uiSqrTremy3 uiSqrTremy4 uiSqrTremy5uiRingo'uiRingo1uiRingo2uiRingo3uiRingo4uiRingo5 uiCrusheruiRevsyuiRoomuiRoom1uiRoom2uiRoom3uiRoom4uiRoom5 uiChamber uiChamber1 uiChamber2 uiChamber3 uiChamber4 uiChamber5uiHalluiHall1uiHall2uiHall3uiHall4uiHall5uiCaveuiCave1uiCave2uiCave3uiCave4uiCave5 uiMonoRoomuiRoom1muiRoom2muiRoom3muiRoom4muiRoom5m uiMonoChamber uiChamber1m uiChamber2m uiChamber3m uiChamber4m uiChamber5m uiMonoHalluiHall1muiHall2muiHall3muiHall4muiHall5m uiMonoCaveuiCave1muiCave2muiCave3muiCave4muiCave5m LoopControlloopTaploopFadeloopDel loopThroughLoopSpec loopMixVal loopPrefx loopPostfx loopPrefxVal loopPostfxVal loopInitInstr loopFadesloopRepeatFades loopControlsfLoopmidiLoopsigLoop$fDefaultLoopControl$fDefaultLoopSpecModArg4 ModArgOut4modArg4ModArg3 ModArgOut3modArg3ModArg2 ModArgOut2modArg2ModArg1 ModArgOut1modArg1 delModArg1 delModArg2 delModArg3 delModArg4adsrArg1adsrArg2adsrArg3adsrArg4 delAdsrArg1 delAdsrArg2 delAdsrArg3 delAdsrArg4 xadsrArg1 xadsrArg2 xadsrArg3 xadsrArg4 delXadsrArg1 delXadsrArg2 delXadsrArg3 delXadsrArg4oscArg1oscArg2oscArg3oscArg4 delOscArg1 delOscArg2 delOscArg3 delOscArg4triArg1triArg2triArg3triArg4 delTriArg1 delTriArg2 delTriArg3 delTriArg4sqrArg1sqrArg2sqrArg3sqrArg4 delSqrArg1 delSqrArg2 delSqrArg3 delSqrArg4sawArg1sawArg2sawArg3sawArg4 delSawArg1 delSawArg2 delSawArg3 delSawArg4 rndOscArg1 rndOscArg2 rndOscArg3 rndOscArg4 delRndOscArg1 delRndOscArg2 delRndOscArg3 delRndOscArg4 rndTriArg1 rndTriArg2 rndTriArg3 rndTriArg4 delRndTriArg1 delRndTriArg2 delRndTriArg3 delRndTriArg4 rndSqrArg1 rndSqrArg2 rndSqrArg3 rndSqrArg4 delRndSqrArg1 delRndSqrArg2 delRndSqrArg3 delRndSqrArg4 rndSawArg1 rndSawArg2 rndSawArg3 rndSawArg4 delRndSawArg1 delRndSawArg2 delRndSawArg3 delRndSawArg4 noiseArg1 noiseArg2 noiseArg3 noiseArg4 delNoiseArg1 delNoiseArg2 delNoiseArg3 delNoiseArg4jitArg1jitArg2jitArg3jitArg4 delJitArg1 delJitArg2 delJitArg3 delJitArg4 gaussArg1 gaussArg2 gaussArg3 gaussArg4 delGaussArg1 delGaussArg2 delGaussArg3 delGaussArg4 gaussiArg1 gaussiArg2 gaussiArg3 gaussiArg4 delGaussiArg1 delGaussiArg2 delGaussiArg3 delGaussiArg4$fModArg4SE(->)$fModArg4SE(->)0$fModArg4SE(->)1$fModArg4SE(->)2$fModArg4Sig(->)$fModArg4Sig(->)0$fModArg4Sig(->)1$fModArg4Sig(->)2$fModArg3SE(->)$fModArg3SE(->)0$fModArg3SE(->)1$fModArg3SE(->)2$fModArg3SE(->)3$fModArg3SE(->)4$fModArg3SE(->)5$fModArg3SE(->)6$fModArg3Sig(->)$fModArg3Sig(->)0$fModArg3Sig(->)1$fModArg3Sig(->)2$fModArg3Sig(->)3$fModArg3Sig(->)4$fModArg3Sig(->)5$fModArg3Sig(->)6$fModArg2SE(->)$fModArg2SE(->)0$fModArg2SE(->)1$fModArg2SE(->)2$fModArg2SE(->)3$fModArg2SE(->)4$fModArg2SE(->)5$fModArg2SE(->)6$fModArg2SE(->)7$fModArg2SE(->)8$fModArg2SE(->)9$fModArg2SE(->)10$fModArg2Sig(->)$fModArg2Sig(->)0$fModArg2Sig(->)1$fModArg2Sig(->)2$fModArg2Sig(->)3$fModArg2Sig(->)4$fModArg2Sig(->)5$fModArg2Sig(->)6$fModArg2Sig(->)7$fModArg2Sig(->)8$fModArg2Sig(->)9$fModArg2Sig(->)10$fModArg1SE(->)$fModArg1SE(->)0$fModArg1SE(->)1$fModArg1SE(->)2$fModArg1SE(->)3$fModArg1SE(->)4$fModArg1SE(->)5$fModArg1SE(->)6$fModArg1SE(->)7$fModArg1SE(->)8$fModArg1SE(->)9$fModArg1SE(->)10$fModArg1SE(->)11$fModArg1SE(->)12$fModArg1SE(->)13$fModArg1SE(->)14$fModArg1Sig(->)$fModArg1Sig(->)0$fModArg1Sig(->)1$fModArg1Sig(->)2$fModArg1Sig(->)3$fModArg1Sig(->)4$fModArg1Sig(->)5$fModArg1Sig(->)6$fModArg1Sig(->)7$fModArg1Sig(->)8$fModArg1Sig(->)9$fModArg1Sig(->)10$fModArg1Sig(->)11$fModArg1Sig(->)12$fModArg1Sig(->)13$fModArg1Sig(->)14WinTypeHammingHanningBartlettBlackmanHarrisGaussianKaiser RectangleSync fromWavChn fromMp3Chninterpplains insertOnes findTableSize isPowerOfTwo winTypeIdwinspadsynthShapeIdplainStringTabgen21distdist' tabSinesBy waveletTabBybpRelativeArgs relativeArgsrelativeArgsGen16 mkRelativesetJackotoTemp$fCpsInstr(->)$fCpsInstr(->)0$fCpsInstr(->)1$fCpsInstr(->)2$fCpsInstr(->)3$fCpsInstr(->)4$fCpsInstr(->)5$fCpsInstr(->)6$fCpsInstr(->)7$fCpsInstr(->)8$fCpsInstr(->)9$fCpsInstr(->)10$fCpsInstr(->)11$fCpsInstr(->)12$fCpsInstr(->)13$fCpsInstr(->)14$fCpsInstr(->)15$fCpsInstr(->)16$fCpsInstr(->)17$fCpsInstr(->)18$fCpsInstr(->)19$fCpsInstr(->)20$fCpsInstr(->)21$fCpsInstr(->)22 $fAmpInstr(,) $fAmpInstrSig $fAmpInstrSE $fAmpInstrSE0$fAmpInstr(->)$fAmpInstr(->)0$fAmpInstr(->)1$fAmpInstr(->)2$fAmpInstr(->)3$fAmpInstr(->)4$fAmpInstr(->)5$fAmpInstr(->)6$fOutsSE $fOutsSE0 $fOutsSE1 $fOuts(,,,) $fOuts(,) $fOutsSigsig2dsigsigdd2sig2'dsig'sigd'd2'$fMidiInstrTemp(->)$fMidiInstrTemp(->)0$fMidiInstrTemp(->)1$fMidiInstrTemp(->)2$fMidiInstrTemp(->)3$fMidiInstrTemp(->)4$fMidiInstrTemp(->)5$fMidiInstrTemp(->)6$fMidiInstrTemp(->)7$fMidiInstrTemp(->)8$fMidiInstrTemp(->)9$fMidiInstrTemp(->)10$fMidiInstrTemp(->)11$fMidiInstrTemp(->)12$fMidiInstrTemp(->)13$fMidiInstrTemp(->)14$fMidiInstrTemp(->)15$fMidiInstrTemp(->)16$fMidiInstrTemp(->)17$fMidiInstrTemp(->)18$fMidiInstrTemp(->)19$fMidiInstrTemp(->)20$fMidiInstrTemp(->)21$fMidiInstrTemp(->)22$fMidiInstrTemp(->)23$fMidiInstrTemp(->)24$fMidiInstrTemp(->)25$fMidiInstrTemp(->)26$fMidiInstrTemp(->)27$fMidiInstrTemp(->)28$fMidiInstrTemp(->)29$fMidiInstrTemp(->)30$fMidiInstrTemp(->)31$fMidiInstrTemp(->)32$fMidiInstrTemp(->)33$fMidiInstrTemp(->)34$fMidiInstrTemp(->)35$fMidiInstrTemp(->)36$fMidiInstrTemp(->)37$fMidiInstrTemp(->)38$fMidiInstrTemp(->)39$fMidiInstrTemp(->)40$fMidiInstrTemp(->)41$fMidiInstrTemp(->)42$fMidiInstrTemp(->)43$fMidiInstrTemp(->)44$fMidiInstrTemp(->)45$fMidiInstrTemp(->)46$fMidiInstr(->)$fMidiInstr(->)0$fMidiInstr(->)1$fMidiInstr(->)2$fMidiInstr(->)3$fMidiInstr(->)4$fMidiInstr(->)5$fMidiInstr(->)6$fMidiInstr(->)7$fMidiInstr(->)8$fMidiInstr(->)9$fMidiInstr(->)10$fMidiInstr(->)11$fMidiInstr(->)12$fMidiInstr(->)13$fMidiInstr(->)14$fMidiInstr(->)15$fMidiInstr(->)16$fMidiInstr(->)17$fMidiInstr(->)18$fMidiInstr(->)19$fMidiInstr(->)20$fMidiInstr(->)21$fMidiInstr(->)22$fMidiInstr(->)23$fMidiInstr(->)24$fMidiInstr(->)25$fMidiInstr(->)26$fMidiInstr(->)27$fMidiInstr(->)28$fMidiInstr(->)29$fMidiInstr(->)30$fMidiInstr(->)31$fMidiInstr(->)32$fMidiInstr(->)33$fMidiInstr(->)34$fMidiInstr(->)35$fMidiInstr(->)36$fMidiInstr(->)37$fMidiInstr(->)38$fMidiInstr(->)39$fMidiInstr(->)40$fMidiInstr(->)41$fMidiInstr(->)42$fMidiInstr(->)43$fMidiInstr(->)44$fMidiInstr(->)45$fMidiInstr(->)46$fMidiInstr(->)47$fMidiInstr(->)48$fMidiInstr(->)49$fMidiInstr(->)50$fMidiInstr(->)51$fMidiInstr(->)52$fMidiInstr(->)53$fMidiInstr(->)54baseGHC.BasememptymappendMonoid takeByWeightaccumWeightList patternToMasktogGenmkRow filterRow readMatrix genNumbers radioGroup radioGroupSig rangeSig1 rangeEvt1toRelativeInitVal fromRelative radioGroup'radioGroupSig'ctrlSigapplyProportionsToListgenLiftslift2lift2'lift3lift3'lift4lift4'lift5lift5'genBindgenMapMrenderrender_simplePlayCsdBy setVirtualrunWithUserInterrupt strTurnoff2mconcat Data.Monoid<>DualgetDualEndoappEndoAllgetAllAnygetAnySumgetSumProduct getProductFirstgetFirstLastgetLastAltgetAlt+temporal-media-0.6.1-6OIJfDqwykkI7WAYmWftRVTemporal.Media linfunRellinfun sortEvents alignByZerosustainTsustaintmapReltmap filterEventstraverseEvents mapEventswithineventEnd singleEvent fromEventtempdropTtakeTslicereflectharTMapharTempmelTempharT=:/nilTrackEvent eventStarteventDur eventContentTemporal.ClassharMapmelMap*|+|loopByDurationdurDurOfMelodymel+:+Harmonyhar=:=ComposeDelaydelStretchstrRestrestLimitlimloop smoothMonoMsg genHoldMsg genAmpCpsSigfilteredGenAmpCpsSiggenHoldAmpCpsSignamedAmpCpsSig midiKeyOnBy midiKeyOffByf2mSfFungenSfMsg genSfMsgTempgenSfKeygenSfCpssfEnv unipolar'linRange genMultiRnd genMultiRndSE oscSyncAbsBy rndPhsSync oscSyncBy uniSawTab uniTriTab uniTrapTabsyncOsc genSoftSyncgenSoftSyncAbsat2 crossSpecByisMp3ramChnmkTabsimpleTempoScaleslimsflowsparsloopsrestsdeltake1UnlimLimConstLimParseq1getDur getEvtAndSigrmTailAfterUnlimtakeByIncludeLastelim maybeElimaftT'simT'StnewIdxunitslinksFmodFsigFmIdxunFmNodedefSt renderGraphmkGraphtoFmIdxnewFmod addDefaultsanOanAanEanIYanO2 genMvclpfmkBpbpCheb1bpCheb1'bpCheb2bpCheb2'cbpcbp'mkResoncheb1cheb1'cheb2cheb2'vcfvcf'expScalelogScale dryWetMixfxWetcsdFof2 GrainDelayw1w2w3 grainyChn rndGrainyChn grainyTab grainyPtrfromGranuleMode toPercentgranuleWithLengthmainfof2ChnfxFeed fxBalance fxMaxLength fxDelTime toGrainFxsplitBy4 morpheus4 getTabLen morphSndByTabcycleTabpadsynthOscByTab toStereoOsclayeredPadsynthSpectoThreshholdCondlimittriCoeffsqrCoeffsawCoefftfmInstrsmoothMonoSpecmapSndwetrunSkingetSplitmidiChngenMidiSplitPatch genSplitPatchrestrictPolyInstrrestrictMonoInstr onLayeredtransMonoInstrtransPolyInstr withRevergenPatchByNameMidivel2amp vel2ampSig evtToggle genCharToggle syncEvtToggle genCharPush genCharGroup evtTriggersyncEvtTriggermidiEvtTriggerBy trigTabEvtSeq1seq1Durseq1ValunSeqgenLoopsawListisawListtriListpwListipwListrampList irampListgenSeqintersperseEndfixEndadsrList adsrList_ genSegSeqseqGen0seqGen1 simpleSeq0 simpleSeq1seq0seqxsaw1isaw1adsr1adsr1_ renderSeq0 renderSeq1 genSeqPatrowDescrndValrndValDtibetan impNightPad stringPadRazorPad razorPadSpeedTrSpectrDurtrTunetrCpstrRnd relResonsByrndAmprndDurrndCpsrndTunerndSpecaddDur'addDur getAccentnticks'ticks'genTicksrimShot' pureRimShot'claves' highConga'genCongamaraca' pwEnsemblenightPadrazorPad razorPad' overtonePad overtoneInstrcaveOvertonePad impPwEnsemble impRazorPadgenRazorgiwavefx1genMixer defSlider uiOnOffSize uiBoxSize uiGroupGui sourceColor2 fxGroupMSfxGroupexpEpsgenAdsrgenMidiChoosergenInstrChooser routeInstrsize1size2size3size4size5adeleByadeleBy_adeleByBadeleByMpongyBypongyBy_pongyByBpongyByMtortBytortBy_tortByBtortByMsetAll tortColor fowlerColor adeleColor pongColor flanColor revsyColor phasyColor crusherColor choryColor panyColor tremyColor ringoColor reverbColorpaintToredmaroonblueaquatealnavyorangelimegreenyellowpurplefuchsiaolive uiAdeleBy uiAdeleBy_ uiAdeleByB uiAdeleByM uiPongyBydefWidth uiPongyBy_ uiPongyByB uiPongyByMuiTortBy uiTortBy_ uiTortByB uiTortByM uiFowlerByuiFlanBy uiPhasyBy uiChoryBy genUiPany' genUiPanyBy uiOscPanyBy uiTriPanyBy uiSqrPanyBy genUiTremy' genUiTremyBy uiOscTremyBy uiTriTremyBy uiSqrTremyBy uiRingoByuiRevBy uiMonoRevByThroughControl DelControl FadeControl TapControl getControlstabSigsdelEnvdelLegdelXegpinkArg1pinkArg2pinkArg3pinkArg4 delPinkArg1 delPinkArg2 delPinkArg3 delPinkArg4<$ Applicativepure<*>*>$Boolean-0.2.4-Jbw7942swS67q7oaeysQFW Data.Booleansort2BmaxBminBcaseBguardedBcropcondbooleanBooleantruefalsenotB&&*||* BooleanOfIfBifBEqB==*/=*OrdB<*<=*>*>=*Control.Applicativeoptional WrappedMonad WrapMonad unwrapMonad WrappedArrow WrapArrow unwrapArrowZipList getZipListData.Functor.ConstConstgetConst Data.Functor<$>liftA3liftA2liftA<**> Alternativeempty<|>somemanyCsound.Typed.Opcode.FLTKflShow flSetTextType flSetTextSizeflSetTextColor flSetText flSetSize flSetPosition flSetFont flSetColor2 flSetColorflSetBox flSetAlignflLabelflHideflColor2flColor vphasesegflXyin flVslidBnk2 flVslidBnkflVkeybdflValueflUpdate flSlidBnkSetk flSlidBnkSetflSlidBnkGetHandleflSlidBnk2Setk flSlidBnk2Set flSlidBnk2 flSlidBnk flSetVal_iflSetValflSetSnapGroup flSetsnap flSavesnapflRun flPrintk2flPrintkflMouse flLoadsnapflKeyInflHvsBoxSetValueflHvsBox flGetsnap flExecButton flCloseButtonflButton flButBankflBoxflTextflSliderflRollerflKnobflJoyflCount flTabsEndflTabs flScrollEndflScroll flPanelEndflPanel flPackEndflPack flGroupEndflGroup*Csound.Typed.Opcode.ImageProcessingOpcodes imagesize imagesetpixel imagesave imageload imagegetpixel imagefree imagecreate%Csound.Typed.Opcode.InstrumentControltimestimek timeinsts timeinstkrtclock readclockdatesdate subinstrinitsubinstrstackpush_fpushpop_fpopxyinwiisendwiirangewiidata wiiconnecttrigseqtimedseqtempovaltempotempestsplitrigsetctrlseqtime2seqtimesensekeyrms rewindscoreptrackplltrack pitchamdfpitchpindexpeakpcountp5gdata p5gconnect miditempojoystickgetcfgfollow2followcontrolpreallocmaxalloc jacktransportexitnowcpuprc scoreline_i scoreline schedwhenscheduleschedkwhennamed schedkwhenremove readscoremuteevent_ieventturnonturnoffiholdclockonclockoff Csound.Typed.Opcode.JackoOpcodesjackoTransportjackoOn jackoNoteOutjackoMidiOutConnect jackoMidiOutjackoMidiInConnect jackoInitjackoAudioOutConnect jackoAudioOutjackoAudioInConnect jackoAudioIn*Csound.Typed.Opcode.MathematicalOperationstaninv2sum'product'pow polynomialmacamacdivzrndbirnddbfsampdbampampdbfsampdbvincrclear!Csound.Typed.Opcode.Miscellaneous tableshufflei tableshufflesystemsystem_ipwd modmatrix fareylenifareylen Csound.Typed.Opcode.MixerOpcodesmixerSetLevel_i mixerSetLevel mixerSend mixerReceive mixerGetLevel mixerClearCsound.Typed.Opcode.Networkstsend socksendssocksendstrecv sockrecvssockrecv remoteport#Csound.Typed.Opcode.PitchConverterscpsxpchcpstunicpstuncps2pchsemitonepchoct pchmidinnoctpch octmidinnoctcpsoctavecpspchcpsoct cpsmidinncent!Csound.Typed.Opcode.PluginHosting vstprogset vstparamget vstparamsetvstnote vstmidioutvstinitvstinfovstedit vstbankload vstaudiogvstaudiodssilistdssiinitdssictls dssiaudio dssiactivatemrtmsgmclockmidiprogramchangemidipolyaftertouch midipitchbend midinoteonpch midinoteonoct midinoteonkey midinoteoncps midinoteoff mididefaultmidicontrolchangemidichnmidichannelaftertouch noteondur2 noteondurnoteonnoteoffmoscilmidion2midionxtratimreleasemidioutmidiinpchmidibpchmidioctmidiboctmidicpstmidcpsmidibampmididoutkpcoutkpboutkpatoutkc14outkcoutkatoutipcoutipboutipatoutic14outicoutiatnrpnvelocpolyaft pgmassignpchbendnotnummidictrlmidic7midic21midic14massigninitc21initc14ctrlinitctrl21ctrl14chanctrlaftouch!Csound.Typed.Opcode.RemoteOpcodesmidremot midglobalinsremot insglobalCsound.Typed.Opcode.SerialIO serialWrite_i serialWrite serialRead serialPrint serialFlush serialEnd serialBegin*Csound.Typed.Opcode.SignalFlowGraphOpcodes outletkidoutletkoutletfoutletainletkidinletkinletfinleta ftgenonce$Csound.Typed.Opcode.SignalGeneratorswgpluck2wgpluckwgflutewgclarwgbrass wgbowedbarwgbowstresonrepluckpluckwterraintableitable3tabletabwtabw_itabtab_iptableiptable3ptableoscil1ioscil1 stkWurley stkWhistle stkVoicForm stkTubeBell stkStifKarpstkSitar stkSimple stkShakers stkSaxofony stkRhodey stkResonate stkPlucked stkPercFlutstkMoog stkModalBar stkMandolin stkHevyMetlstkFlute stkFMVoices stkDrummer stkClarinetstkBrassstkBowed stkBlowHole stkBlowBotl stkBeeThree stkBandedWGxscanu xscansmapxscansxscanmapscanu scantablescans scanhammerwavesetsndloopsfpresetsfplistsfplaymsfplay3msfplay3sfplay sfpassignsfloopersfloadsfinstrm sfinstr3msfinstr3sfinstrsfilist lposcilsa2 lposcilsalposcilalposcil3lposcillphasorloscilxloscil3loscilfluidSetInterpMethodfluidProgramSelectfluidOut fluidNote fluidLoad fluidEngine fluidControlfluidCCkfluidCCi fluidAllOutflooper2flooperbbcutsbbcutmweibullurandomunirandtrirandtrandomseedrnd31randomirandomhrandomrandirandhrandpoissonpinkishpcauchynoiselinrandjitter2jitter gausstriggaussigauss fractalnoiseexprandiexpranddust2cauchyicauchybexprndbetarand syncphasor phasorbnkphasorvoicevibes tambourinestix sleighbellsshakersekere sandpaperprepianoplanetmoogmarimbamandolmandellorenzguirogogobelgendyxgendycgendy dripwatercrunchchuapcabasabarmodelbambooxadsrmxadsrmadsrlinenrenvlpxrenvlpxadsrtransegrtransegbtransegscalersplinelpsholdplooptsegloopsegplogcurvelinsegrlinsegbjspline gainsliderexpsegrexpsegbaexpsegbexpsegaexponexpcurvecossegrcossegbcossegvosimsyncloop partikkelsyncgrain3grain2grainfogfof diskgrainfoscilifoscilfmwurliefmvoicefmrhodefmpercflfmmetalfmbellfmb3 crossfmpmi crossfmpmcrosspmicrosspmcrossfmicrossfmvco2initvco2iftvco2ftvco2vcompulsegbuzzvibratovibrposcil3posciloscilsosciln oscilikts osciliktposciliktoscilioscil3osciloscbnkhsbosciladsynt2adsyntadsynCsound.Typed.Opcode.SignalIOmp3len filevalidfilesrfilepeak filenchnlsfilelenfilebitprintsprintksprintk2printkprintfprintf_iprint'flashtxtdispfftxoutxinsetksmpschnsetchnsendchnrecv chnparamschnmixchnget chnexportchnclearchn_Schn_achn_kchanochani soundoutssoundoutoutzoutxoutvalueouts2outs1outsoutrgoutq4outq3outq2outq1outqoutoouthoutchoutcout32outmonitormdelaysoundinmp3ininzinxinvalueinsinrginqinoinhinchin32in'diskin2diskinreadk4readk3readk2readkfprintsfprintksfoutkfoutirfoutifoutfiopenfinkfinifinficlosedumpk4dumpk3dumpk2dumpk#Csound.Typed.Opcode.SignalModifiersminaccum minabsaccumminabsmin'maxaccum maxabsaccummaxabsmax_kmax' powershapepdhalfypdhalfpdclip chebyshevpolywguide2wguide1zfilter2rbjeqpareqnlfilt2nlfilthilbertfofilterfilter2eqfildcblock2dcblocktonektlinetoresonxkresonkportkportlinetoatonekaresonkvlowrestbvcfsvfilterstatevarrezzyresonzresonyresonxresonrresonmoogvcf2moogvcf moogladderlpf18lowresxlowreslowpass2bqrezaresontonextonedopplerclfiltbutterlpbutterhpbutterbrbutterbpbutlpbuthpbutbrbutbpbiquadabiquadatonexatonephaser2phaser1harmon4harmon3harmon2harmonflangerdistort1distortmirrorvasetvagetupsampsampholdntrpolintegfolddownsampdiffdenormvcombvalpassreverbscreverb2reverbplaterevnreverbnestedapfreeverbcombinvcombbaboalpass vbapzmovevbapzvbapmove vbaplsinitvbapg vbap8movevbap8 vbap4movevbap4 vbap16movevbap16vbapspsendspdistspat3dtspat3dispat3dpan2panlocsiglocsendhrtfstat hrtfreverb hrtfmove2hrtfmove hrtfearly bformenc1bformenc bformdec1bformdec vdelayxws vdelayxwqvdelayxwvdelayxsvdelayxqvdelayxvdelay3vdelaymultitapdeltapxwdeltapxdeltapndeltapideltap3deltapdelaywdelayrvdel_kdelaykdelay1 pconvolveftmorfftconvdconvcross2convolvegaindamcompressclipbalance&Csound.Typed.Opcode.SpectralProcessing lorisread lorisplay lorismorph atsSinnoi atsReadnzatsRead atsPartialtap atsInterpreadatsInfoatsCross atsBufreadatsAddnzatsAddtrsplittrshifttrscaletrmixtrlowest trhighesttrfiltertrcrosstradsynsinsynresynpvsynthpvswarppvsvoc pvstencilpvspitchpvsoutpvsoscpvsmorphpvsmoothpvsmixpvsmaskapvslockpvsinitpvsinfopvsinpvsifdpvshiftpvsgain pvsfwritepvsftwpvsftr pvsfreezepvsfread pvsfilterpvsdisp pvsdiskinpvsdemixpvscrosspvscentpvscale pvsbufread2 pvsbufread pvsbufferpvsblurpvsbinpvsbandrpvsbandppvsarppvsanalpvsadsynpartialsbinitspectrumspecsumspecscalspecptrkspechistspecfiltspecdispspecdiffspecaddmlpslotlpresonlpreadlpinterplpfresonvpvoc tablexsegtablesegpvreadpvocpvinterppvcross pvbufreadpvadd ktablesegCsound.Typed.Opcode.Strings strupperkstrupperstrtolkstrtolstrtodkstrtod strlowerkstrlowerstrcharkstrcharstrsubkstrsub strrindexk strrindexstrlenkstrlen strindexkstrindexstrcpykstrcpystrcmpkstrcmpstrcatkstrcatsprintfksprintfputsstrsetstrget Csound.Typed.Opcode.TableControlsndloadftgentmpftgenftfreeCsound.Typed.Opcode.Vectorialvcellacellvrandivrandhvportvecdelayvdelaykvwrapvmirrorvlimitvlinsegvexpsegvsubv_ivsubvvpowv_ivpowvvmultv_ivmultvvmapvexpv_ivexpvvdivv_ivdivvvcopy_ivcopyvaddv_ivaddvvpow_ivpowvmult_ivmultvexp_ivexpvadd_ivaddvtabwkvtabwivtabwavtablewkvtablewivtablewavtablekvtableivtableavtable1kvtabkvtabivtaba"Csound.Typed.Opcode.ZakPatchSystemzkwmzkwzkrzkmodzkclziwmziwzirzawmzawzargzarzamodzakinitzacl1data-default-class-0.1.2.0-FYQpjIylblBDctdkHAFeXAData.Default.ClassDefaultdef