kyma•tweaky . Know . KymaXDownloads |
Kyma X
file in the folder into your current Kyma
folder, replacing your current copy of Kyma X
. This update includes an update to the Paca(rana) firmware. Please turn off or disconnect all other FireWire devices before proceeding with the firmware update.
After you have installed the update and started Kyma, be sure to download the new examples, documentation, and supporting files by selecting Check for updates to the Kyma Sound Library from the Help menu.
NOTE: If your Macintosh is running OS X 10.4, please make sure that you have installed all of the security updates available from Apple (use Software Update... from the Apple menu to install them). Kyma will not start if the security updates are not installed.
Download the previous update: Kyma X.89 (6.89)
Kyma X.app
folder (inside your Kyma
folder; then, move the new Kyma X.app
folder in the expanded folder into your current Kyma
folder. This update includes an update to the Paca(rana) firmware. Please turn off or disconnect all other FireWire devices before proceeding with the firmware update. See the notes below about updating your desktop shortcut to start Kyma.
After you have installed the update and started Kyma, be sure to download the new examples, documentation, and supporting files by selecting Check for updates to the Kyma Sound Library from the Help menu.
Download the previous update: Kyma X.89 (6.89)
maximum
for the CaptureDuration.
smoothed
and smooth:
now start at the first value of the expression, rather than starting from zero.
fileNameForChannel:
which should return a String but was returning a FileName instead
of:
expressions when the first array contains CapyTalk expressions.
into:
that could cause a crash when an extreme negative number was used as an index (rare)
into:
expressions
0.0 ** 0.5
)
cosh
, sinh
, normCosh
, normSinh
, arcCosh
, arcSinh
to CapyTalk
mean
, absoluteDeviation
, variance
, and standardDeviation
messages, to be sent to collections of numbers
fileDuration
to return the correct result for GA files
fileDuration
can be sent to any file name, for example:
'alien threat.aif' fileDuration
<aFileName> liveLoopingTimeIndexWithGate: aGate start: aStart end: anEnd startLoop: loopStart endLoop: loopEnd rate: aRate
<aFileName> markerLoopingTimeIndexWithGate: gate atkScale: scaleAtkDur susScale: scaleSusDur relScale: scaleRelDur
seed:
message and the nextRandomWithSeed:
messages can both take seeds EITHER in the range of (-1,1) OR as positive integers, for example
((1 bpm: !BPM) nextRandom) seed: 0.8
1 s tick nextRandomWithSeed: 0.8
<afreq with units> compensatedLevel
does a gentle compensation to boost bass and attenuate high pitches according to equal loudness curves
<aFreq> inOctaves
(evaluates to the continuous octaves, fractional for pitch classes relative to 0 c)
fileDuration
can be sent to any file name, for example:
'alien threat.aif' fileDuration
<aFileName> liveLoopingTimeIndexWithGate: aGate start: aStart end: anEnd startLoop: loopStart endLoop: loopEnd rate: aRateor
<aFileName> markerLoopingTimeIndexWithGate: gate atkScale: scaleAtkDur susScale: scaleSusDur relScale: scaleRelDur
tan
and normTan
nextRandomWithSeed:
to pay attention to the seed.
initialSampleAndHold:
expression) would substitute a random value in place of the desired, sampled, value.
/osc/respond_to_default,i
to the Paca(rana) to make it possible to set the default response port. This is useful for the case when the OSC sender is using a different port for each OSC message it sends.
'flamingos s.L.psi' fileNamesOnSameChannelInSameFolder
FlameXP.inf
)
Parameter | Description |
ControlPosition | Typically this is a controller input. This is where you are trying to drag the object which is at the end of a spring. It can also be an audio rate input if you paste a Sound in the field and remove the 'L' that automatically appears after it. |
---|---|
Frequency | If SlipFriction is low or zero, the system can go into oscillations at this frequency. |
Stiffness | The stiffness of the spring affects how quickly the object will slide to its new position. Think of the difference between a very stiff spring and a spring that is more relaxed. For low stiffness values, it takes bigger changes in ControlPosition before the object breaks free of gravity and starts sliding. If you have a periodic ControlPosition input, the response of the object is less regular for low spring stiffness. |
Decay | For settings that produce oscillations, Decay controls how much time it takes for the oscillations to die out. |
StickFriction | Friction between the object and the surface when the object is sticking on the surface. |
SlipFriction | Friction between the object and the surface while the object is sliding along the surface. |
Velocity | To output the velocity of the object in both channels, check this box. (To output the velocity on the left channel and the spring tension on the right channel, check both boxes). |
Stretch | To output the tension or stretching of the spring on both channels, check this box. (To output the velocity on the left channel and the spring tension on the right channel, check both boxes). |
Level | Controls the amplitude of the output signal. |
TimeConstant | Use TimeConstant to smooth out any steps or unevenness in the ControlPosition input (for example, if you supplying the ControlPosition by hand using a physical controller). The shorter the TimeConstant, the faster the actual ControlPosition reaches the desired ControlPosition. Longer TimeConstants give you smoother (but more sluggish) changes in ControlPosition. |
Reset | To reset the object and spring to their original states, change this value from 0 to 1 and then back to 0 (for example, using !Trigger). |
SetReference | Use this field to give an additional push to an object that is already in motion (imagine adding an extra push to an already spinning roulette wheel). This field resets the reference position to the current control position, so you can give the object another push from its current (rather than original) position. |
esc
key on computer keyboard
'aFile.mid' midiFileBPM
1 bpm: !BPM dutyCycle: !duty
'sur.L.aif' fileNameForChannel: chNbr
(?VoiceNumber - 1 / (?NumberVoices - 1)) asLeftPan)
and in the right:
(?VoiceNumber - 1 / (?NumberVoices - 1)) asLeftPan)
Stereoizer | Converts a mono processing Sound into a stereo processor with independent controls for left and right channels (labelled with prefix(es) and/or suffix(es)). If there are any controls that should be shared between the two channels, add them to the DoNotChange list. The SharedSounds are any Sounds in the signal flow graph that should be shared between right and left channels. Typically, the SharedSounds act as the source(s) and the chain of modules between the SharedSounds and the output act as the processing, with independent controls on the processing for the left and the right channels. If the SharedSounds have stereo outputs (for example a GrainCloud? or a StereoSample?), each channel is routed through its own chain of processing modules to maintain left/right separation. Stereoizer is also a handy way to process just the left or just the right channel of a stereo Sound. For example, to process the right channel ONLY, check the LeftBypass box. |
Surroundifier | Creates a pseudo-surround mix by splitting a stereo input into L, R, LS, RS, C, and LFE, routed to output channels 1-6, each with its own level control. Each channel is (optionally) processed through its own independently controlled copy of the ReplicatedSound (controls are labelled with prefixes and/or suffixes). For example, if the ReplicatedSound is a high pass filter, each output channel could have its own cutoff frequency (or could bypass the filtering altogether). On the subwoofer channel 6 you hear the first SharedSound plus a controllable amount of SubBass distortion subharmonics. |
GestosoMidSideEncoderDecoder | Based on a Sound and icon by JesusGestoso, the MidSideEncoderDecoder encodes a stereo input into two parts: Mid (the part that appears in the middle of the stereo image because it is the same in the left and right speakers) and Side (the part that appears on the sides of the stereo image because it differs between left and right speakers). You can apply processing to the Side, the Mid, or both (with independent controls on Mid and Side processing) prior to recombining Mid and Side to form the left and right channels of a standard stereo signal. If you have MS-encoded recordings (or an MS-encoding microphone) you can use this Sound to process decode in real time by checking the SkipEncoding box. |
MonoToMultichannel | Converts a mono processing chain into multiple independent chains with independent controls, one for each of the channels checked with checkboxes. Each of the replicated controls can be identified with a Prefix and/or a Suffix. Use the incrementPrefix/Suffix checkboxes to increment any numerals that appear in the prefix or suffix. To give each channel's replicant a different prefix or suffix, enter an array of strings in the Prefix and/or Suffix array fields. Controls that should be shared between the two channels can be added to the DoNotChange list. The SharedSounds are any Sounds in the signal flow graph that should be shared by all channels. Typically, the SharedSounds act as the source(s) and the chain of modules between the SharedSounds and the output act as the processing, with independent controls on the processing for each output channel. |
Prefixer | Adds an ID as either a prefix or suffix to any hot values in Sounds to the left of the Prefixer in the signal flow graph. By default, the ID is the name of the Input, or you can override the default by entering a different identifier in the ID field. A Prefixer is useful for maintaining separate sets of controls for each Sound when you combine two or more Sounds. If you do not use Prefixers the controls of combined Sounds are intermingled in the VCS alphabetically, and any parameters with shared names are controlled by a single controller.) Use the DoNotChange field for specifying the names of hot values that should NOT have the ID prefix of suffix. For example, to control over the !Frequency of all Sounds in a Mixer using a single VCS fader, add !Frequency to the DoNotChange list. |
MultichannelPan | A MultichannelPan uses the Timeline's panning algorithm plus an option for independently controlled processing on each output channel. Given the Speaker Placement (specified in Edit>Preferences), the SharedSound can be panned to any Angle on a circle surrounding the listener and adjusted to any Radius or distance from the listener. The processing (defined as a portion of the signal chain from just to the right of the SharedSound? through to the output) is replicated for each position. The source (the SharedSound) is not replicated but is panned through each of the fixed-position copies of the processing chain. For simple panning without independently controlled processing chains in each channel, Ctrl+Drag the exact same Sound into both the SharedSound and the ReplicatedSound parameter fields. |
MultichannelMixer | A Mixer that accepts multichannel inputs. Each of the Inputs has an overall Level. The output of channel 1 is the sum of the Inputs' channel 1 outputs. The output of channel 2 is the sum of the Inputs' channel 2s, etc. Each Input has an overall amplitude control specified n the Levels field. |
SelectableAudioInput | Select any input channel from among all of the available input channels. The output of this Sound is mono. The Channel parameter is an integer in the range from 1 to the number of input channels. You can change this while the Sound is playing. |
SelectableAudioOutput | Routes its mono Input Sound to any one of the output channels by number. Channel is an integer in the range from 1 to the number of output channels. You can change this while the Sound is playing. |
SelectableSound | Selects one of its Input Sounds. The Inputs are arranged in order from left to right, top to bottom and numbered from 1 to the total number of Inputs. The Selection parameter is an integer corresponding to the position number of the selected Sound. |
SplitSurroundFilePlayer | Plays back previously-recorded files on multiple channels for 7.1 Surround (.L .R .LS .RS .C .LFE .LC .RC), 5.1 Surround (.L .R .LS .RS .C .LFE), Quadraphonic (.L .R .LS .RS), or Cinema Stereo (.L .R .C), as long as you have followed the file naming convention, aFileName.C.aif, and as long as you have saved the related files within the same folder. Any missing files will result in the corresponding files being silent during the playback. You can select whether to read the files from RAM or to stream them directly off the disk. NOTE: This Sound, as other multichannel output Sounds, can only be used as the last (rightmost) Sound in a chain, just prior to the output. |
SplitSurroundSample | Like SplitSurroundFilePlayer except it allows for live loop point adjustment, and the samples must fit into RAM |
1.5 closestPowerOfTwo = 2.0d 5 closestPowerOfTwo = 4.0d -10 closestPowerOfTwo = -8.0d
(1 bpm: !BPM) triggerEvery: !Beats
except that triggerEverySampled: will evaluate the expression computing the number of beats only when the result of the entire expression is true (i.e., only on a trigger) and it will hold that value for the rest of the time. This is useful for completing a full loop before allowing a change to take place in the number of beats per bar.
'rustDrum130.aif' closestBPMTo: 60 forBeats: 8 = 64.969184875488d
'rustDrum130.aif' closestBPMTo: 300 forBeats: 8 = 259.87673950195d
'aFIleName' fileNamesOfSameTypeInSameFolder
This is helpful for a Sound like MultiSample when you would like a group of filenames from a folder but some of the files in that folder are text files or subfolders. This will return only the files that have the same number of channels as the argument; this is handy since the MultiSample expects all of its files to be either stereo or mono and cannot accomodate a mix of the two.
{!Fader1 copies: 10}
results in:
#(!Fader01 !Fader02 !Fader03 !Fader04 !Fader05 !Fader06 !Fader07 !Fader08 !Fader09 !Fader10)
and
{!Fader100 copies: 4}
is:
#(!Fader100 !Fader101 !Fader102 !Fader103 )
'aSpectrum.spc' fileNamesOfSameTypeInSameFolder
returns a collection of strings corresponding to the names of the files in the same folder as 'aSpectrum.spc' which are of the same type (.spc or a spectrum file).
gateExpr triggerTimeToNext: timeExpr
aBooleanExp trueForLast: nbrMeasurements
"Receiver is a Boolean expression evaluated once per millisecond. If it has been true (nonzero) for the last nbrMeasurements (milliseconds), return a 1. Else return 0. Useful for testing that some characteristics of a live controller remain true for a given number of milliseconds (e.g. stability)."
EXAMPLE: ((!PenZ - 0.2) abs lt: 0.01) trueForLast: 20
Would be true (1) as long as you maintain the value of !PenZ within the range between 0.19 to 0.21 for at least the past 20 milliseconds.
anExpr sameForLast: nbrMeasurements tolerance: epsilon
"Receiver is a gate. During the interval of time that self is true (nonzero), returns a new value whenever anExpr is evaluated. If anExpr equals its previous two measured values, return a 1. Else return 0. Useful for detecting quick changes in a live controller."
EXAMPLE: !PenZ sameForLast: 1 tolerance: 0.5
For small, smooth changes in the pen value, this will be true. However, if the value change jumps 0.5 between updates, the expression becomes false (0).
EXAMPLE2: !AmpFollower sameForLast: 1 tolerance: !Steepness
If you copy/paste an AmplitudeFollower into this expression, you could use it to detect when the onset of a live input was faster (steeper slope) than a given value.
aTrig trueIf: anExpr sameForLast: nbrReps
"Receiver is treated as a 1 ms long trigger. If self becomes true and anExpr equals the value it had the last nbrReps times it was triggered, return a 1. Else return 0. Useful for testing for a given number of repetitions."
EXAMPLE: !KeyDown trueIf: !KeyNumber sameForLast: 2
The value is 0 the first two times you play a new pitch on keyboard; then it is 1 for each subsequent keydown repeating that same pitch
anExpr accumulate
"Receiver is an expression evaluating to a positive or negative increment added to the expression each millisecond. This expression returns a value in the range of 0 to 1, initial value is 0.5. "
anExpr accumulateIf: aBooleanExpr
"Receiver is a positive or negative increment added ONCE to the expression when triggered by aBooleanExpr. It cannot be incremented again until aBooleanExpr returns to 0 first. This expression returns a value in the range of 0 to 1, initial value is 0.5. "
anExpr accumulateIf: aBooleanExpr initialValue: initVal reset: reset
"Receiver is a positive or negative increment added ONCE to the expression when triggered by aBooleanExpr. It cannot be incremented again until aBooleanExpr returns to 0 first. This expression returns a value in the range of 0 to 1, initial value is initVal. Slam back to initVal while reset is true. "
anExpr accumulateWhile: aBooleanExpr
"Receiver is a positive or negative increment added to the expression each millisecond for as long as aBooleanExpr is true. This expression returns a value in the range of 0 to 1, initial value is 0.5. "
anExpr accumulateWhile: aBooleanExpr initialValue: initVal reset: reset
"Receiver is a positive or negative increment added to the expression each millisecond for as long as aBooleanExpr is true. This expression returns a value in the range of 0 to 1, initial value is initVal. Slam back to initVal while reset is true. "
!sw01 normalTrigger: !Dur s
1 normalTriggerCenter: !BPM bpm s deviation: (!BPM bpm s * 0.01)
{1 to: 16 collect: [:i | !Freq * i]}
m
, h
, days
, or beats
messages to values that already had units.
suffix3:
, suffix4:
, and suffix5:
expressions to CapyTalk for adding leading zeroes to numbered faders so they will sort correctly in the VCS.
i
and use the expression !Fader suffix5: i
rimembriancora.aif
that had been omitted from the Kyma installation. Please move this file into the Speech
folder in the Samples
folder of the Kyma
folder.
Kyma X.app
. It is now stored in ~/Library/Preferences
on the Macintosh and ~\Application Data
on the Windows.
into:
expressions.
asToggle
in CapyTalk to toggle on changes in logical value (true or false) rather than actual value.
alignWith:
function (it was not popping the stack)
0.1 s tickwould generate a trigger once every tenth of a second,
!Duration s tickwould generate a trigger once every variable number of seconds, and
1 s randExp s tickwould generate a trigger at random intervals ranging between 0 and 24 seconds apart.
!Gate alignWith: (1 bpm: !BPM)
{'bell.aif' sampleFileNamesInSameFolder}
Kyma Sound Library:anOverview.kym
.
0x
as well as 16r
as the prefix for hexadecimal (base 16) numbers.
?TLDuration s
, making it dependent upon the Sound's duration in the Timeline (and automatically updating it to reflect changes to the duration in the Timeline).
!Fader hasChangedInLast: 0.5 s
and the second one acts like an SR flip flop. In the following example, when !s is 1 the resulting expression is 1. When !r is 1, the resulting expression is 0: !s setReset: !r
.
TimeConstant
is hot and larger than 0.1 seconds.
private
instead of Private
for their recordings.
Duration
is zero or negative.
nextChaotic:seed:
and nextChaotic:seed:reset:
to clip the seed value to the range (0, 1). Also made it possible to use a hot value as a seed.
{}
) in the fly-by help for all array parameter fields.
----- Revision r1.201 - 19 Jan 2015 - 10:12 GMT - JungHyunOH
|