This is a repository of User-Defined Opcodes for the Csound music synthesis software. User-Defined Opcodes are opcodes for Csound created using Csound orchestra text. More information about how to create a User-Defined Opcode can be found here. This database was edited by Steven Yi.
ADSD - An envelope generator modelling the classic analogue ADSD envelopes BufFiPl1 - Plays a mono sample from a GEN01 function table, including sample rate conversion BufFiPl2 - Plays a stereo sample from two GEN01 function tables, including sample rate conversion BufFiPl4 - Plays a four channel sample from four GEN01 function tables, including sample rate conversion BufFiPl8 - Plays an eight channel sample from eight GEN01 function tables, including sample rate conversion BufPlay1 - Plays audio from a mono buffer (function table), with different options BufPlay2 - Plays audio from a stereo buffer (two function tables), with different options FilePlay1 - Plays a mono signal from a mono or stereo soundfile FilePlay2 - Plays a stereo signal from a mono or stereo soundfile footarray - Interface for a foot array which outputs program change MIDI messages. Can be used with any MIDI program change capable device. GaussTrig - Outputs a-rate impulses around a certain frequency. Linek - performs a linear interpolation from one value to another value in a certain time whenever a trigger is received LpPhsr - creates a time pointer for loops msrOsc - Simple Generator p5glove - Unit generator for P5 data glove PartikkelSimpA - A simplified version of the Partikkel opcode, but with some additional parameters PartikkelSimpB - The same as PartikkelSimpA, but with a time pointer input pgmin - Read program change messages from MIDI input RandomWalkA - Generate random walk at a-rate RandomWalkK - Generate random walk at k-rate rbatonPercPad - Senses trigger/whack strength as well as X and Y coordinates of the two batons in a Max Mathew’s Radio Baton system rbatonPot - Implements a sensor for the 4 pots, 2 footswitches and B15+ button on the Max Mathew’s Radio Baton unit rbatonXYZ - polls X, Y, and Z coordinates of a Max Mathew’s Radio Baton stereoGrain - Granular synthesis similar to granule but in stereo with control rate parameters and unlimited transpositions TransGen - Transient envelope generator, pulse divider, and/or LFO. vowgen - fof-based vocal generator with morfable vowels
~ Effects ~
Baboon - UDO wrapper for the babo opcode decimator - Sample rate / Bit depth reduce. Based on the work of Steven Cook ( k-rate parameters) ensembleChorus - A stereo chorus opcode with multiple voices freqShift - Detunes an audio signal PitchShifter - Delay-line pitchshifter SCReverb - 8 delay line stereo FDN reverb SigRec - A table-based signal recorder (looping sampler), with pitch control SigReverse - A table-based reversing opcode trackerSplice - signal splicer
~ Filters ~
Fofilter - A formant filter version of the FOF opcode Moogladder - An improved implementation of the Moog ladder filter Statevar - A digital version of the analogue state variable filter tap_tubewarmth - tap_tubewarmth – A port of Tom Szilagyi’s TAP TubeWarmth LADSPA plugin to a Csound User-Defined Opcode Vocoder - channel vocoder with user-specified number of bands vowel - vowel filter with morfable vowels
~ Panning and Spatialization ~
bformatQuad - Converts quadrophonic to b-format bformatStereo - Converts stereo to b-format ambisonics circumspect - redistribute the spectral content of a monaural signal between 6 loudspeakers
http://csounds.com/udo/cache/PanPotStereo.udo - pans stereo input to stereo output pan_delay_and_filtered - Pan using delay and filters pan_equal_power - Equal Power Panning pan_gm2 - Equal Power Panning scheme defined by MIDI Association for GM2 in RP-036 pan_simple - Simple Linear Pan pan_sin - Pan using Sin/Cos to create more even power between channels pan_sqrt - sqrt method for panning quadBformat - Converts b-format to quadrophonic stereoAsymmetry - Side-only panning of a stereo signal stereoBalance - Stereo ‘panning’ using the balance technique stereoBformat - Converts b-format ambisonics to uhj stereo stereoMpan - Middle panorama panning of the ‘M’ component of a stereo signal stereoMS - Converts Stereo to MS and MS to Stereo stereoRotate - Stereo ‘panning’ using the middle-side technique stereoWidth - Changes the image width of a stereo signal
ampdbN - Normalized conversion from db to amplitude ampSlider - Converts a scaled (0-1) value to a value resembling a hardware mixer slider BufCt1 - creates a function table of ilen seconds for recording BufCt2 - creates two function tables of ilen seconds for recording BufFiCt1 - creates a gen01 function table from a mono soundfile BufFiCt2 - creates two gen01 function table from a stereo soundfile BufFiCt4 - creates fout gen01 function table from a four channel soundfile BufFiCt8 - creates eight gen01 function table from an eight channel soundfile BufFiCtNd1 - creates a non deferred function table from a mono soundfile and returns its length BufFiCtNd2 - creates two non deferred function tables from a stereo soundfile and returns the length BufRec1 - Records in a mono buffer (function table) BufRec2 - Records in a stereo buffer (= two function tables) Counter - Step counter declick - removes clicks from signal start and end deflutter - deflutter k-rate input (data smoothing) ExpCurve - Normalised exponential curve with variable steepness F2M - Comverts a frequency to the next possible MIDI note number F2MC - converts a frequency to a MIDI.Cent note number FilDir - Returns the directory in a given path FilDirUp - Returns the directory above the current directory FileToPvsBuf - Writes an audio file to a pvs buffer FilNam - Returns the file name in a given path FilSuf - Returns the suffix of a filename or path, optional in lower case findPowerOfTwo - Given a value in seconds, finds a power of two size equal to or greater than it in samples flip - Flips an incoming floating point value at k-rate FracLen - Returns the real length of the fractional part of a number FreqByCentTab - frequency calculation of a step of a scale which is defined by a list of cent values FreqByEqScale - frequency calculation for one step of an equal tempered scale FreqByRatioTab - frequency calculation of a step of a scale which is defined by a list of proportions ftreverse - reverses an ftable’s contents in place at k-rate gainslider - Logarithmic gain slider getFrequency - Returns frequency whether being passed in pch or frequency hysteresis - Implements classic 2-threshold hysteresis. Useful for performance controllers KeyOnce - Returns ’1′ once if a certain key has been pressed or released KeyStay - Returns ’1′ as long as a certain key is hold LogCurve - Normalised logarithmic curve with variable steepness lowpass - A k-rate smoothing UDO that is useful for averaging performance controller data midiMonitor - Displays midi channel and control number information MS2S - Converts a floating point number in the format min.sec to seconds PfieldsToTable - Transfers score parameter fields to a function table PhsEdge - Reports whether the upper or lower border of a phasor has been reached Print_a - Prints an audio signal (vector) every kPeriod seconds Residual - extracts stochastic components (transients etc) from a sound (using csound 5 opcodes) Scala - Scales an incoming a-signal from a certain range to another range scale - Scales incoming value to user-definable range. Similar to scale object found in popular dataflow languages Scali - Scales an incoming i-variable from a certain range to another range Scalk - Scales an incoming k-signal from a certain range to another range SinesToSSTI - returns a function table with one of the four standard waveforms, produced by the addition of harmonics Stayed - Reports if a control signal has stayed at the same value for a certain time StrayElMem - Tests whether a string is contained as an element in an array-string StrayGetEl - Gets one element from a string-array StrayGetNum - Gets one number from a string-array StrayLen - Returns the length of an array-string StrayNumLen - Returns the length of numerical elements in an array-string StrayNumMem - Tests whether a number is a member of an array-string StrayNumSum - Adds the elements in a numerical array-string StrayNumToFt - Converts a string-array which just consists of numbers or simple math expressions to a function table StrayRemDup - Removes duplicates in an array-string StrayRev - Reverses the elements of an array-string StraySetEl - Inserts an element in an array-string at a certain position StraySetNum - Inserts a number in an array-string at a certain position StraySub - Returns a subset of elements in an array-string StrExpr1 - Calculates a simple binary expression in a string and returns the result as a number StrExpr2 - Calculates a binary numerical expression in a string and returns the result as a number. One of the elements can be itself a binary expression, in which case it must be set in parentheses. Requires the UDO StrExpr1 StrNumP - tests whether a string is a numerical string TbDmp - Prints a function table at i-time TbDmpk - Prints a function table at k-time TbDmpS - Prints a table with an introducing string at i-time TbDmpSk - Prints a table with an introducing string at k-time TbMem - Looks whether a number is in a function table TbPrmRnd - Permutes the values of a function table randomly, at i-time TbPrmRndk - Permutes the values of a function table randomly, at k-time TbRmDp - Removes duplicates from a function table TbToLin - Reads a table in the same way as a linseg opcode TbToSF - writes the content of a table to a soundfile tieStatus - Returns the status of a note in a group of tied notes Tuner - Tunes a given fundamental to a user-provided scale Y_x4p_i - Calculates a Y value from a given X and 2 pairs of X/Y points, at init-time Y_x4p_k - Calculates a Y value from a given X and 2 pairs of X/Y points, at k-time
boomerangPointer - Pointer to read a function table forwards then backwards or vice versa filterBank - Defines a bank of bandpass filters in parallel whose outputs can be scaled using a function table linearPointer - Pointer to read a function table linearly, forwards or backwards pvshift - Pitch shifting and spectral stretching with pvs streams RecursiveDiskin - Alters kpitch and iskiptime each time it calls itself to create a little bit of texture sampleSlicer - Reads a function table in incremental slices sittinginaroom - A simple,recursive opcode that has pleasant effects. The name pretty much describes what it does.