|
The updates on this page can be used only in conjunction with a complete installation of Kyma X from a Kyma X CD-ROM. Attempting to use an update without a pre-existing install could result in data loss.
NOTE: When you click the link to download the software, you may be asked to provide a name and password. Use the same name and password that you use to log into kyma•tweaky.
Kyma X.90 (6.90f0) - 16 December 2014 NEW
Download the Kyma X Update ZIP Archive (~38 megabytes). The resulting file will automatically expand into a folder containing the new Kyma X application. Move the 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)
Download the Kyma X Update ZIP Archive (~38 megabytes). Double-clicking on the resulting file in Windows Explorer (or My Computer) will automatically expand the file into a folder containing the new Kyma X application. First, delete your current 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)
- Installing the Drivers. If you have already installed drivers previously, you can skip the Driver Installation step; this is only for installing Kyma on a fresh version of Windows.
- Before turning on or connecting your Paca(rana) or Capybara;
- On 64-bit Windows 8, restart your computer with Driver Signature Enforcement disabled (Windows 8 instructions -- Windows 8.1 instructions)
- In the Kyma Folder, go into Kyma X.app
- Double-click InstallDriver.vbs
- Follow the instructions in the wizard to install the driver
- On 64-bit Windows 8, restart your computer to enable Driver Signature Enforcement
- Making the Desktop Shortcut
- If you already have a desktop shortcut from a previous version, please delete that older one first before proceeding.
- In the Kyma Folder, go into Kyma X.app
- Double-click MakeDesktopShortcut.vbs
- Fixed a problem that prevented an OSC source from being mapped to more than one widget in the VCS.
- Fixed a problem that prevented !PenX (for example) from controlling a Sound, when Pen X was also mapped to another widget in the VCS.
- Fixed a problem that prevented Kyma Control from showing more than 100 widgets.
- Fixed a problem that prevented the Timeline from recording controllers in certain circumstances.
- Made it so that all output channels of SurroundFilePlayer Sounds are recorded (rather than just the first two).
- Removed clicks that sometimes happened in Morph1DGA, Morph2DKeymappedGA, and Morph3DGA.
- Fixed a problem where Compiled Sound Grids could not be compiled if an external MIDI controller was selected in the Performance Preferences.
- Added Paca(rana) support for the MOTU 896 mk3 Hybrid.
- Improved the scheduling on the Paca(rana) of CrossFilter_Short when used with default BankSize and
maximum for the CaptureDuration.
- CapyTalk? expressions using
smoothed and smooth: now start at the first value of the expression, rather than starting from zero.
- Corrected a problem with recording to disk when the file path had a non-ASCII character in it.
- Improved the scheduling of the ModalFilter when MaximumUpdateRate is checked.
- Added Paca(rana) support for the Focusrite Saffire Pro 14 and Saffire Pro 40.
- Moving Sounds in the Timeline using the up arrow key will jump over tracks that already contain Sounds (moving Sounds down using the down arrow key was already working correctly).
- Added cursor feedback to indicate when the mouse is in the right position to change the duration of a Sound in the timeline.
- Added a message to the samples editor to request that a newly created file be saved before trying to edit the header information.
- Corrected a problem where some windows would scroll unnecessarily when using a mouse wheel or trackpad (causing a trembling effect).
- Correct a problem with resetting the Kyma Preferences.
- Corrected a problem where the timeline would sometimes not update the recording dot for newly record-enabled time functions.
- Corrected a problem where the timeline would sometimes disregard the first value when recording a time function.
- Corrected a problem where, on some versions of the Mac OS, Kyma thought that the disk was full and therefore would not permit any recording.
- Made it so that the Paca(rana) can once again learn MIDI controls from the VCS or in parameter fields (it had been accidentally broken in 6.85)
- Fixed a problem where the oscilloscope would not display if the "contract time" button in the VCS was clicked
- Fixed a problem that prevented Kyma from starting up, due to a new font in Mac OS 10.9 Mavericks
- Fixed the Smalltalk message
fileNameForChannel: which should return a String but was returning a FileName instead
- Fixed the Windows Driver Installer for 64-bit Windows 8.1
- Fixed a problem where an Annotation could not be added to a Sound that had previously had an Annotation
- Made it so that ModalFilter, when used without feedback and a constant Reset parameter, will no longer give a compiler error
- Modified the Timeline to accept hot values with dots in their names (such as !Amp.L)
- Fixed InterpolatePresets and PresetSpaces to no longer go into an infinite loop in Timelines when their direct Inputs were replaceable inputs and when they were in a track that was the target of a submix.
- PresenceFilter and the HighShelvingFilter and LowShelvingFilter had incorrect computation cost estimates and would schedule incorrectly. Now they can be scheduled correctly.
- Improved the scheduling of the FilterBank aggregate synthesis Sound
- Wave file header parser is now more forgiving of ill-formed files (for example, files written incorrectly by third party software)
- SetDuration no longer loses its name or VCS when used in a Mixer
- ExtraValues (in AnalogSequencer) can be set to a green variable
- Modified Interpolate, InterpolateN and Crossfade so that they use the correct number of output channels.
- Corrected the optimization of nested
of: expressions when the first array contains CapyTalk expressions.
- Increased the size of "static" RAM on the Paca(rana).
- Added Paca(rana) support for the M-Audio ProFire 610.
- Modified CrossFilter_Short so that it will schedule properly on the Paca(rana).
- Fixed bug that would hang Kyma if the image in an ImageDisplay Sound was too large.
- Changed the way values within the range of 1000 to 9999 are printed in the VCS.
- Fixed parsing of empty array parameter fields so that it does not give an error.
- Changing the minimum or maximum of a fader in the VCS now updates the tick marks to reflect that new range.
- In the sample editor, changing the loop mode, loop start, or loop end will now update the looping information used by other parts of Kyma.
- The initial loop points for newly created PSI files are now copied from the original sample.
- New Preference: Option to reverse scroll wheel direction when shift key is held down for fine-tuning (for compatibility between newer and older Mac OS scroll directions)
- VCS remove preset selects the closest remaining preset rather than always returning to the top of the list (making it easier to quickly delete several presets)
- Spectrum editor: Cut frames is now correctly saving and opening the file with the frames removed
- SpectrumAnalyzer Sound can now take analysis lengths longer than 1024
- MIDIVoice & MIDIMapper now allow green variables in the Script field
- Fixed a problem with EventValues MIDIVoice Scripts
- !KeyVelocity and !KeyTimbre now have the full 0 to 1 range (previously it was 0 to 127/128)
- Timeline now keeps the time cursor centered as you zoom in
- Fixed box label placement for Kyma Control (previously it always appeared in upper left)
- Parameters of user-defined classes now in alphabetical order
- Hitting Cancel after unlocking the VCS now properly keeps the VCS editor open
- Restored controller learn for 14-bit MIDI controllers
- Fixed an obscure problem where a Sound of a particular size could not be loaded
- Added support for the MOTU Track16 audio interface (via FireWire connection only)
- Modified Paca(rana) drivers for MOTU Traveler and Track16 interfaces: Traveler Optical A port and Track16 Optical port can now be used with either TOSLINK or ADAT signals, as set by the MOTU Audio Setup Application.
- The Logitech S150 USB speakers now output in both left and right channels, instead of left channel only.
- When learning MIDI continuous controllers, Kyma will now use the more common 7 bit controller message instead of the 14 bit controller messages it was previously using.
- Fixed MultiToMultichannel to work correctly when it is used within the timeline and its SharedSounds includes the replaceable input.
- Added support for single integer argument OSC messages.
- Added support for USB audio interfaces that are output-only, like the Logitech S150 USB speakers
- Fixed an issue in Paca(rana) firmware that could cause a crash after more than 48 hours of continuous use. This should be helpful for installations.
- Fixed an issue with DICE-based audio interfaces (TC interfaces, for example) that could cause a crash due to a FireWire bus reset during initial startup
- Fixed a vulnerability in the CapyTalk
into: that could cause a crash when an extreme negative number was used as an index (rare)
- Fixed SpectralShape on the Paca(rana) to correctly handle partials above half the sample rate
- Added Reset to ModalFilter to improve stability of extreme pitch changes (this change was made for the Paca and Pacarana only)
- Fixed HarmonicResonator so that any DC level in its output will decay to zero over time (for Capybara-66, Capybara-320, and Paca(rana))
- VCF no longer ignores changes to its name or VCS layout
- Added an Appearance preference for selecting the color of the oscilloscope trace in the VCS. This especially useful when projecting the computer screen (red is not easily visible on projectors)
- Timeline now works correctly when the replaceable input of a Sound has expressions in its parameter fields
- Improved the error messages for
into: expressions
- Improved the Sound compiler scheduling of Sounds that include CrossFilter_long or OscillatorBank
- Timeline now allows for multichannel submixes and multichannel inputs to Timeline tracks
- TauPlayer now pays attention to Start and End when in Mix mode
- Allow for 0.0 raised to a non-integer power (for example
0.0 ** 0.5 )
- Closing all windows will now automatically quit Kyma
- A random number generator in the Envelope field of Oscillator will now give the same random number in both the left and right channels
- Fixed a problem in SampleCloud Frequency field to allow for default to be multiplied by a Sound pasted into the parameter field
- Fixed File Archiver so that it will allow you to archive files even if the Kyma folder has been renamed
- Expanded the number of arguments that you can send to an input of a Script to allow for more than 12 parameters to be set from a Script
- Fixed a problem that was causing certain Sounds or Timelines to crash when they had CapyTalk expressions without any EventValues
- Changed VCS and Timeline controller mapping dialogs, limiting the range of controllers 0-119. The MIDI spec reserves higher numbered controllers for "channel modes".
- In the Class editor, fixed shouldExpandFirst checkbox so it does not plot on top of the large icon editor.
* Restored the proper operation of !TimingClock (it was accidentally broken by version 6.82)
- Fixed the Timeline so that Kyma will not get stuck in an infinite loop when there are multiple markers at time zero
- Reduced the CaptureDuration for the CrossFilter_Short example in the Additive folder of the Tau gallery so that the example runs in real time on a Paca
- You can now send a VCS layout program change and a VCS presets program change in quick succession and it will change the layout first and then send the preset from the newly selected layout
- Fixed a longstanding bug in the spectrum analyzer display that would display some of the signal's DC energy at the right-most, half-sample-rate's position
- Paca(rana) only
- Added AllowLiveOverride to the TriggeredSoundToGlobalController so the generated event can be set by either the Sound or by moving the VCS widget
- Restored the Timeline's ability to record envelopes and extract envelopes (inadvertently broken in 6.82f12)
- Changed the Oscilloscope Sound so that the sweep is triggered (rather than gated) by its Trigger input
- Corrected TriggeredSampleAndHold so that it ignores values of -1 for its Trigger input (previously, -1 could sometimes cause the Sound to sample)
- Modified the update firmware notifications so that it is clear when a firmware update has been successful and it is time to restart your Paca(rana).
- Added Paca(rana) support for the Focusrite Saffire Pro 24 audio interface
- Added Paca(rana) support for the Echo AudioFire2 audio interface
- Changed the Clock tool so that it no longer gives an error if it is open when Kyma is exited
- Changed the Capybara-320 firmware to disable the LTC and VITC time code inputs when the sample rate is above 88 khz
- Changed the Capybara-66 firmware to add missing support for a Sound compiler feature introduced in the first version of Kyma X.82
- Improved help for SyntheticSpectrumFromArray
- Changed references to obsolete wavetable glottal to glotalPulse in prototypes
- Corrected SyntheticSpectrumFromSingleCycle so that it works properly for 24-bit WAVE files
- Changed Paca(rana) firmware to reduce likelihood of record-to-disk from going out of real time
- Improved scheduling of disk recordings and playbacks so that large numbers of records and playback will be less likely to get errors
- New Prototypes: MIDIOutput Timing Clock and MIDIOutput Start/Stop Master Clock
- Presonus Fire Studio Mobile support added to Paca(rana)
- Batch harmonic analysis now skips over folders in a folder of files to be analyzed
- Timeline allows single, non-alphanumeric character names
- Fixed an issue with Timeline and ImageDisplay
- Syntax coloring now shows unbalanced parentheses
- Help menu item for documentation on Tau editor
- Help menu item for Batch Harmonic Analysis
- Sound library update (in Help menu) now keeps track of when you have already downloaded an update (and won't ask again)
- GenericSourceDisk no longer clicks at the beginning due to a DC offset
- Pacas and Pacaranas with expanded memories (>2 gigaBytes) can now utilize the entire memory space
- GA analysis now working with extremely short files
- Fixed a problem with FeedbackLoopIn/Out on Capybara
Video: What's New in Kyma X.82 from KISS2011
- X.82 Sped-up the Smalltalk interpreter by an additional 40%
- Sped-up downloading of Sounds and Timelines on the Paca(rana) — up to twice as fast
- Significant improvements made to all of the analysis and resynthesis algorithms
- You can now update your Kyma Sound Library and Support Files by selecting Check for Sound Library Updates from the Help menu
- After updating, you should find several new folders in your Kyma folder: Sets of Samples, Sets of Psi, Sets of Spectra & Sets of GA
- You should also notice a few new samples in your current Kyma/Samples directory
- In the Kyma Sound Library, you will find a new folder named Analysis resynthesis, keymaps, & morphing x82 containing examples of the new algorithms with various controllers
- After you select Check for Sound Library Updates from the Help menu, look in the Kyma Documentation folder for any new documentation such as the Batch Analysis Tool Documentation
- The Help menu has a link to an updated Prototypes Reference including the new Sounds introduced in this release
- Backspace no longer does a Cut operation. This makes Copy/Paste work more as you might expect. For example, copy contents of parameter field, delete contents of another field, then paste your copy buffer into that newly emptied field. (previously, when you deleted contents of a field that was interpreted as a Cut and it put contents into your copy buffer).
- A new Batch Harmonic Analysis Tool is available from the Tools menu
- You can now check for updates to the Kyma Sound Library and download new sets of samples and analysis files from the Help menu.
- Added Performance preference for indicating the air temperature of the environment so that the Paca(rana) can better withstand being operated on hot stages, outdoors, etc (also available on Paca(rana) front panel under Setup menu)
- Optimizations to CapyTalk on Paca(rana)
- Added Paca(rana) support for the MOTU 828mk3 hybrid audio interface
- Added Paca(rana) support for the Weiss AFI1
- Higher quality Spectral Analysis (48 dB SNR improvement on Paca(rana))
- Higher quality GA Analysis (48 dB SNR improvement on Capybara, 96 dB SNR improvement on Paca(rana))
- GA analysis files now use the file extension ".gaf" (older GA files are still recognized without the extension)
- Optimized multichannel processing for timeline and in Sounds
- Optimized the panning function used with the Speaker Positions to reduce the cost of multichannel panning
- default can now be used in the NbrFormants field of FormantBank
- Fixed a left/right channel swap that could happen when certain stereo Sounds were combined with multichannel Sounds
- Fixed MultisegmentEnvelope to work properly when the Gate is a constant
- Fixed SoundCollectionVariable so that it no longer gives an error when Describe Sound is selected from the Info menu
- Implemented the Markers loop mode for TauPlayer & updated the Help on Tau to explain Loop Marker mode
- Fixed the DutyCycle range on PulseGenerator (norm is 0.5) for Paca(rana) (Capybara was already correct)
- Fixed Sample playback LoopFade for sample files that have loop points stored in the header of the file
- Fixed Replicator (and other Sounds with a SharedSounds parameter field) so that the shared Sounds will be properly shared even when referenced in more than one place in the Sound. This results in much more efficient Sounds in these cases.
- Fixed a bug that caused the Live Spectral Analysis to crash when the FrequencyScale parameter was set to zero
- In the InputOutputCharacteristic Sound, found and fixed a bug in the linear interpolation version (bug was in Pacarana version only)
- Fixed FreqScale parameter in LiveSpectralAnalysis so it will not alias when scaled up (Paca(rana) only)
- Syntax coloring in parameter fields (with Preference item to switch off colors)
- Added
cosh , sinh , normCosh , normSinh , arcCosh , arcSinh to CapyTalk
- Added
mean , absoluteDeviation , variance , and standardDeviation messages, to be sent to collections of numbers
- Added button to the Paste Hot dialog so that you can paste either hot values or CapyTalk messages
- Fixed the message
fileDuration to return the correct result for GA files
- Message
fileDuration can be sent to any file name, for example:
-
'alien threat.aif' fileDuration
- You can get a time index for a file by sending
-
<aFileName> liveLoopingTimeIndexWithGate: aGate start: aStart end: anEnd startLoop: loopStart endLoop: loopEnd rate: aRate
or
-
-
<aFileName> markerLoopingTimeIndexWithGate: gate atkScale: scaleAtkDur susScale: scaleSusDur relScale: scaleRelDur
- New messages: tan and normTan
- Changed it so the
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
- New CapyTalk messages
-
<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)
- Added Track delete, rename, move up, move down, insert above, insert below (click the track name for the pop up menu)
- Made it so that you can now use the VCS when recording a timeline. The recording is no longer limited to the duration shown in the timeline; this makes it possible to record timelines that have WaitUntils in them.
- Fixed timeline vertical scrolling so that the track name area and the time bar area are always aligned
- Fixed Timeline cache file names to remove any characters that are normally used as file separators by the operating system (e.g. ':' for Mac OS)
- Can open/edit/save the new 'High Quality' spectrum files
- You can set or move the envelope markers In the spectrum editor: "a" = end attack, "s" = start loop, "e" = end loop, "r" = start release
TAU Editor Changes
- Tau amplitude cross hair now displays dB values
- Found and fixed a very long-standing bug in the Tau editor that would very rarely let you drag one anchor beyond another, resulting in a tangled envelope.
- Added FromTextFile and FromTextFileMultiColumn as additional ways to insert samples into the Sample editor. This is especially useful for sonification of historical data stored on line in text files
- Changed the look of the Sound Class editor
VCS
- Made it so that the VCS updates more frequently when it contains a SoundToGlobalController
- Dragging and dropping on the + in the Sound editor now makes the newly created Mixer inherit the VCS of the previously existing input Sound
* Fixed a bug where multichannel mixer might lose its VCS settings if embedded in another multichannel Sound or in the timeline
- Default range of !FreqScale & !FrequencyScale change to (0,2)
Keyboards, controllers & MIDI
- Added the ability to aggregate up to 4 USB MIDI device inputs on the Paca(rana)
Unfortunately some of the new Sounds are so resource-intensive that they could be implemented only on the newer hardware (Paca and Pacarana) and it was not possible to implement them on the older Capybara-320.
- New Sound ImageDisplay that selects an image to display in the VCS based on the value of a hot expression
- MultiSampleCloud that has an Index field to choose the sample file to granulate the next time the Gate turns on
- Morph1d, Morph2dKeymapped, Morph3d for SampleCloud, Psi, Spectra, and GA
- Morph3dSampleCloud & Morph3dPsi work on both Capybara-320 and Paca(rana)
- All others are Paca(rana) only
- New and improved FormantBank (Capybara-320 & Paca(rana))
- ScaleFormant parameter
- Option to use default in frequency and number of formants field
- Improved computation costs for better scheduling (Paca(rana) only)
- Optimized OscillatorBank to generate only the number of harmonics requested by the SpectrumSource
- There are now Prototypes for each new synthesis type (with online help for parameters)
- New prototype InputOutputCharacteristic Wave folding waveshaper
- Added prototype Noise (white) Stereo
- Added prototype BandpassStereo
- Added prototype Lowpass Stereo
- Added prototype Oscillator w/ FrequencyTracker
- PresetCube prototype has had its name changed back to PresetSpace
- Changed HighPassFilterStereo prototype to use Stereoizer instead of channelized and channelJoin
- Changed AllPassFilterStereo prototype to use Stereoizer instead of channelized and channelJoin
- BatchAnalyze (folders of files)
- Set base pitch
- Samples to Psi
- Psi to Spectra
- Spectra to GA
- To open the Batch analysis Tool, select Batch Harmonic Analysis from the Tools menu.
- Fixed File Archivist tool so that it preserves the relative folder arrangements of the files it is archiving. It no longer makes copies of files internal to Kyma, and now archives any movies associated with timelines.
- In Spectral Analysis Tool, added new option to add inharmonicity factor to analysis of high tension strings (such as the piano). See the Batch Analysis documentation in the Documentation folder for more details.
- Implemented the Markers loop mode for TauPlayer & updated the Help on Tau to explain Loop Marker mode
- File list parameters (such as in MultiSample) work the same way as single file parameters in that you can now hold down the Control, Shift, or Control and shift keys when clicking on the Disk icon to edit a file, get info on all the files, or audition a file, respectively
- Added a new LoopMode called #noMarkers. When #noMarkers is selected, you can scale ENTIRE duration using ScaleAtkDur. When Markers or NoLoops is selected, you can scale attack, sustain, and release separately
- Changed LoopMode = #None to #noLoop
- There's a new parameter field type (drop down menu) for Format and LoopMode (uses less screen real estate than former radio button arrays).
- Shows/selects presets from active layout (not just the top layout)
- Removed Duration from the Get Info listing if the Sound's duration is ON
- Choose microsounds shows up in File menu only when a Capybara is in use
- Only show the Input-to-Output Delay with Disk preference (in Performance preferences) if you are using the Capybara-320
- Fixed TextFileStream so that it can handle different styles of end of line characters (CR versus LF)
- Fixed two very longstanding bugs that could (very very infrequently) cause the signal processor (any flavor) to crash when the DSP Status window was left open
- Restored a multiplication by powers of two optimization that had been accidentally removed when Paca(rana) support was added to Kyma
- Fixed a situation where a garbage collect at the wrong time could crash Kyma
- Clock tool no longer gives error when you quit Kyma with clock still open
- Fixed an infinite loop when Sound was its own replaceable input.
- New: Paca(rana) support for 14-bit MIDI controllers:
- Use controller names of the form !bcnn if your device (or software) sends MSB (most significant byte) first
- Use controller names of the form !lcnn for LSB first
- Use the first 32 controller numbers 0-31 (they are updated when the second byte is received)
- New: Paca(rana) support for polyphonic aftertouch (mapped to !KeyTimbre)
- Increased number of voices for voice-stealing on Paca(rana) (can now handle 128 simultaneous key downs in the same 5 ms interval)
- Added Paca(rana) support for MOTU V4HD audio/video interface
- Fixed Sample playback LoopFade for sample files that have loop points stored in the header of the file
- New Prototype: Tremolo in the Modulation category
- Changed !FreqScale default range to (0,2)
- Implemented the Markers loop mode for TauPlayer & updated the Help on Tau to explain Loop Marker mode
- Changed it so the 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
- The label on a Custom prototypes window no longer shows the file extension .kym
- Fixed Replicator (and other Sounds with a SharedSounds parameter field) so that the shared Sounds will be properly shared even when referenced in more than one place in the Sound. This results in much more efficient Sounds in these cases.
- Duplicating a Sound gives a Sound with 'copy' appended to its name
- To prevent write-protection errors when doing Spectral Analyses and other disk operations on systems set up with multiple log-ins (for example a shared system at a school), it now moves Disk Tracks, Movies Folder, Kyma Temporary Files to the Application Support folder if the Kyma folder has been set to Read-Only
- Fixed an error in the Approximate complexity selection from the Info menu
- Increased the maximum number of Sounds that can be scheduled from 32,768 to ~2 billion
-
- Fixed a problem in keyboard event smoothing that was causing relatively simple keyboard Sounds to use excessive amounts of DSP resources
-
- Fixed a bug that caused the Live Spectral Analysis to crash when the FrequencyScale parameter was set to zero
-
- In the InputOutputCharacteristic Sound, found and fixed a bug in the linear interpolation version (bug was in Pacarana version only)
-
- Apogee Ensemble now verified to work with Pacarana
-
- Legacy support for older MOTU mk2 interfaces. (NB: this driver will not include any future enhancements or improvements to be made to the newer drivers, so a newer MOTU mk3 is the recommended interface)
-
- For Sounds pasted into parameter fields as controls and then downsampled (e.g. [aSound] L:10), the phase of the control is now set to zero on each replay
- Sped up user interface by about 20%
- Sped up arithmetic computations and message-sends
- Sped up downloading of Tau files and Timelines
- Minor speed improvements in compiler
- When you drag a Sound, the target window comes to the front to make it easier to drag and drop
- Added help to Interpolate and InterpolateN to warn that when interpolating spectra, all inputs must have the same number of partials
- Found and fixed a very long-standing bug in the Tau editor that would very rarely let you drag one anchor beyond another, resulting in a tangled envelope.
- Found and fixed a very long-standing bug under Mac OS, where using the file open dialog after 9 pm could cause a crash. It is now safe to use the file open and save dialogs at all times.
- Under Windows, improved the capture of mouse clicks (especially in drop down menus that were in front of other windows)
- Added an alternative version for Windows computers whose processors do not implement SSE3 or SSE2 (this would cause Kyma to get as far as the flash page and then stop)
- Added a link to the new Eighth Nerve from Help menu in Kyma
- Fixed Timeline cache file names to remove any characters that are normally used as file separators by the operating system (e.g. ':' for Mac OS)
- Modified Replicator so it does not rename Timeline variables
- Fixed a situation where trying to print illegal floats and doubles would go into an infinite loop (now it give a Not a Number error instead)
Windows Installation
Changes to the Kyma X Installation Guide for Windows XP and newer (older versions of Windows are no longer supported):
- All the installation steps are the same, with the exception of the following newer and easier ways to install drivers and create a Desktop shortcut.
- If you already have a desktop shortcut from a previous version, please delete that older one first before proceeding.
- NB: If you have already installed drivers previously, you can skip the Driver Installation step (this is only for installing Kyma on a fresh version of WIndows)!
- Installing the Drivers
- Before turning on or connecting your Paca(rana) or Capybara;
- In the Kyma Folder, go into Kyma X.app
- Double-click InstallDriver.vbs
- Follow the instructions in the wizard to install the driver
- Making the Desktop Shortcut
- In the Kyma Folder, go into Kyma X.app
- Double-click MakeDesktopShortcut.vbs
Interface
- Horizontal mouse wheel supported
- Sound editor remembers position of dividing line between signal flow and parameter fields
- Changed Oscilloscope to do an incremental display for sweep rates less than 1 hz (to reduce the delay between making a change and seeing it on the display)
New Sounds
- SpectrumFromSingleCycle: Provide a sample containing one cycle of a waveform and it outputs the spectrum for use by an OscillatorBank or any aggregate synthesis banks.
- InterpolateN interpolates between any number of Sound inputs for cross fading or morphing spectra
- SpectrumInRAM with a Log checkbox so you can do either linear or log frequency output from spectrum sources. (Typically you use log for morphing and linear for all other modifications or resynthesis by OscillatorBank or aggregate synthesis).
- New and improved FormantBank
- ScaleFormant parameter
- Option to use default in frequency and number of formants field
- Improved computation costs for better scheduling
New CapyTalk or Smalltalk
- Message
fileDuration can be sent to any file name, for example:
'alien threat.aif' fileDuration
- You can get a time index for a file by sending
<aFileName> liveLoopingTimeIndexWithGate: aGate start: aStart end: anEnd startLoop: loopStart endLoop: loopEnd rate: aRate
or
<aFileName> markerLoopingTimeIndexWithGate: gate atkScale: scaleAtkDur susScale: scaleSusDur relScale: scaleRelDur
- New messages:
tan and normTan
- Fixed the DutyCycle range on PulseGenerator (norm is 0.5) for Paca(rana) (Capybara was already correct)
Miscellaneous Fixes
- Restored a multiplication by powers of two optimization that had been accidentally removed when Paca(rana) support was added to Kyma
- Fixed a bug in note events that was accidentally introduced when note event smoothing was added
- Fixed FreqScale parameter in LiveSpectralAnalysis so it will not alias when scaled up (Paca(rana) only)
- Fixed AIFF reader for 24-bit files with an odd number of samples
- Fixed translator to open some Kyma X.45 examples
- Prevent Timeline from mapping several hot parameters such as !TimingClock !TimingClockDuration, !Random, !LocalTime and others
- Tau cost help updated
- Tau amplitude cross hair now displays dB values
- DSP Status more robust
- Double-clicking on a marker in the timeline allows you to optionally display a specific VCS layout and/or select a preset from that layout when the time cursor crosses that marker.
- The timeline can now play QuickTime movies synchronized to the time cursor. Select Turn movies on from the Automation menu in the timeline to use.
- Added support for little-endian AIFF (AIFC) files.
- Added VCS Layouts Program Change Channel to Configure MIDI in the DSP menu. A specific layout can be selected by sending a program change MIDI message on this channel with the number of the VCS layout you want to have displayed.
- Layouts in the VCS layouts list are now numbered.
- In the VCS for timelines, arrows have been added to the VCS layouts list indicating the top-level Sounds in the timeline.
- Reduced the computation cost of multichannel panning in the timeline and the MultichannelPanner Sound.
- Modified the Replicator numbering algorithm so that multiples of 10 will have the correct number of leading zeroes.
- Made it so that the VCS editor asks less often about saving the changes to layouts.
- Made the scheduling of MemoryWriters and their readers operate much more quickly (it used to take factorial time to complete).
- Fixed
nextRandomWithSeed: to pay attention to the seed.
- On Windows, it is now possible to select from among the multiple Sound Computation Engines connected to the host computer using Select DSP from the DSP menu.
- On the Paca(rana), it is now possible to record, play back, and edit 32-bit integer AIFF and WAV files.
- On the Paca(rana), made it so that memory written by MemoryWriter and all Private wavetables are allocated from pre-zeroed memory.
- On the Paca(rana), fixed the HarmonicResonator so that it works properly at higher sample rates and no longer accidentally corrupts memory.
- Changed the Sound Browser so that pressing the right arrow key opens selected folders or Sound files and the left arrow key closes the selected folders or Sound files.
- Changed the VCS editor so that you can delete multiple layouts simultaneously. Previously, you could only delete one at a time.
- Two new prototypes, MIN and MAX, useful for creating interesting waveforms and selecting the instantaneous minimum or maximum of two features (such as AmplitudeFollowers)
- Added a new Miscellaneous Preference to specify the amount of memory Kyma should initially use. As long as your computer has one gigabyte or more of system memory, Kyma will operate more quickly with larger settings.
- Reduced the size of Sound files by optimizing the way presets are stored. This should speed up opening and saving Sound files that have many presets stored in them.
- Fixed a problem where button presses and fader movement could be lost when using the MotorMix with SoundToGlobalControllers mapped to MotorMix buttons/switches.
- Fixed a problem in the expression compiler common sub-expression optimizer where certain complex expressions (typically involving the
initialSampleAndHold: expression) would substitute a random value in place of the desired, sampled, value.
- Changed DelayWithFeedback so that initial silence in the audio output when PreZero is checked is the initial value of the Delay parameter, rather than that specified in MaximumDelay.
- Added
/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.
- Changed the master volume control in the Paca(rana) so that changes to the master volume are smoothed over 20 ms, preventing clicks in the audio output.
- Fixed a problem in SampleCloud and GrainCloud on the Paca(rana) where the output channels were reversed (left and right were swapped).
- Fixed a problem where a MultifileDiskPlayer could crash the Paca(rana) if several were used in a timeline and the mouse was clicked in the time ruler.
- Added a message to be displayed on the Paca(rana) front panel if anything goes wrong
- New CapyTalk message for taking a random walk:
!aTrigger randomWalkStartingFrom: !startVal stepSize: !step reset: !Reset
- New Prototype called Pen Replicator makes it easy to create Sounds to be controlled by multiple Wacom pens
- New message can be sent to the name of a sample or Psi files: basePitch returns a keynumber (without units) that it reads from the header of the file.
- Fixed the DSP Status window so that the "m" indicating received MIDI is displayed correctly after switching back into Kyma from another application.
- In the Spectrum Editor, made the Delete key remove either the selected marker or the selected partials, depending on which kind of selection was made most recently.
- Made it so that Interpolate Selection in the Samples Editor clips the interpolated signal if the interpolated signal amplitude is too large. (Formerly, the values would wrap around.)
- Made it so that the DSP Status window will open automatically on start up.
- For Paca(rana):
- Added support for the PreSonus FireStudio Project audio interface.
- Improved scheduling of the OscillatorBank.
- Full MIDI Time Code messages are no longer ignored. This makes it possible for the timeline time cursor to reflect the proper time even when time is not advancing.
- Increased the maximum number of VCS controllers that can be used at one time to be the same as on the Capybara.
- Refined the bank size for FormantBankOscillator to be larger than it was on the Capybara
- Virtual Control Surfaces (VCS) now open 11 times faster (this includes switching between Layouts on an already-open VCS)
- On MotorMix, the Enter key now synchronizes the state of the MotorMix with the state of VCS (this is useful when you start up the MotorMix after a Sound is already playing)
- The Miscellaneous Preferences now include an option to have pop up menus persist on the screen without having to hold the mouse button down. This provides improved track pad compatibility. Trackpad Compatible Menus is now the default setting (you can turn this off by editing the Preferences).
- MultiSample and MultiFileDiskPlayer have a new check box to AutoLabel the Index parameter with the names of the files that you can select.
- Small faders in the VCS can once again do magic scrolling when you right-click or Ctrl+click in the text field. (This capability was inadvertently lost in an earlier release when we added ctrl+click on the widget to remap its control source.)
- Several handy new Prototypes:
- Sample w/ adjustable BPM for varispeeding a sample loop to match a given BPM (switching to half-time or double-time as necessary to avoid extreme pitch changes)
- Multisample Adjustable BPM Looper (Changes only on Loop Starts) uses vari-speeding to adjust a collection of sample loops to the same BPM rate (changes occur at the beginnings of loops)
- MultifileDiskPlayer w/ Rate triggers playback of the selected disk track when you change the selection (and demonstrates the new auto-labelling of the Index fader)
- SyntheticSpectrum 128 w/ Brightness & SyntheticSpectrum 128 w/ Brightness KBD can be used as inputs to OscillatorBank or any of the Aggregate Synthesis banks.
- Spectrum for 4-way Morph where one Morph control moves through four different spectra. It can be used as input to OscillatorBank or any of the Aggregate Synthesis banks.
- SpectrumInRAM Harmonic can be used as input to OscillatorBank or any of the Aggregate Synthesis banks, especially those that require a harmonic input such as FormantBankOscillator.
- New CapyTalk expression:
- The message maxHarmonic can be sent to a frequency to determine the top harmonic number of that fundamental that will not alias. For example:
- 1 a maxHarmonic returns the value 400 meaning that, at the current sample rate, you can have 400 harmonics when your fundamental is 1st octave A
- New Smalltalk expressions:
- The message shuffle can be sent to any Array, String, or OrderedCollection to the shuffle the order of the elements in the collection as one would shuffle a deck of cards
- 'pacarana love' shuffle might return the value 'panacea valor' the first time you evaluate it and 'maar ypkaacna' the second time (the re-ordering is random)
- Fixed a buggette that would show up if you had a trailing space in the value for maxGrains in SampleCloud and GrainCloud
- Prefixer and Replicator now correctly handle the case of their controls also appearing in the Global Map
- Fixed a bug in SelectableOutputChannel that occurred only on the Capybara 320
- For Paca(rana):
- Added support for TC Impact Twin
- Added Beta support for MOTU Ultra Lite Hybrid mk3
- Improved stability of original MOTU Ultra Lite mk3 interfaces
- Added 4.5 ms as a selectable input to output delay in the Preferences (with the caveat that not all audio interfaces can support this at all sample rates)
- Tau Editor frequency shifting greatly improved (extending the range of Psi playback to higher transpositions)
- Tau Editor time stretching greatly improved (extreme slow downs sound smoother)
- TauPlayer Sound has a new checkbox called TimeScaling that should be checked for improved audio quality during time-stretching (it uses more computing resources, so check it only when you plan to do time-stretching as it is not necessary for other applications).
- CrossFilter long no longer has a high computation overhead associated with start up
- Greatly improved the fundamental-tracing in the Spectral Analysis Tool (it was restricting the envelope to fewer points than was necessary)
- In Audio Input Sound when no channels are selected, it no longer gives an error
- Corrected a bug in Pacarana handling of FireWire Continuum fingerboard voice stealing
- Fixed a bug in Multichannel Mixer that occurred when there were more controls than Sounds
- Fixed MIDIOutputEvent to send !Pitchbend before Note_On events (and to no longer output ill-formed MIDI events at the start up of the Sound)
- Replicator, Prefixer, and Timeline now transfer the properties of the replicated widgets to the new, numbered copies of those widgets! (this was a request during KISS09).
- SampleCloud now accepts stereo samples
- Optimized CapyTalk functions of: and true:false:
- Fixed header updates for non-standard AIFF files created by other applications (for example, if the header is at the end of the file instead of at the beginning).
- On Paca(rana), the Scale parameter of AR and ADSR envelopes is now smoothed at the sample rate. Now you can use a controller to smoothly modulate the amplitude of a note (tremolo) while it is playing (for example, if you are controlling it from a Wacom tablet, Continuum Fingerboard, or other MIDI continuous controller)
- Added new option to Configure MIDI on Pacarana called: Continuous Key Event Smoothing, where you can set the smoothing time for continuous !KeyVelocity, !KeyPitch, and !KeyTimbre values to 0, 10, 15, ... 45, 50 ms. Key events jump immediately to their exact values on !KeyDown and are thereafter smoothed according to the value you specify. This is useful for the Wacom tablet, Continuum Fingerboard, or other software that generates key events.
- New CapyTalk expression on Paca(rana), seed:, can be sent to any expression containing one or more random generator(s) to assign an initial seed to to those generators. This is useful if you would like to share the same random number among several parameter fields or if you would like your Sound to have random elements but be repeatable.
- IOCharacteristic is more efficient on Paca(rana) when smoothing is linear (smoothing = 0.5)
- MultiSegmentEnvelopeGenerator linear version has been optimized on the Paca(rana)
- Fixed Master Volume on Paca(rana): MIDI Universal Sysex was byte reversed
- Corrected a problem on Paca(rana) for Timelines having more than 64 simultaneous Sounds
- Fixed a problem in the Sample File Editor of Paca(rana) which was cutting off the ends of very short files (such as 4096 sample wavetables)
- Corrected an error on Paca(rana) where raising a hot value to a non-integer power was always returning and incorrect value when the hot value was zero. For example !x raisedTo: 3.0 would be 1 when !x was zero.
- Annotation has two new options:
- ShowControllerMappings automatically appends to the fly-by help a list of all the controller mappings in your Sound to whatever explanatory text you've entered in the Annotation. When you're about to play a Sound, it can be helpful to see a reminder of what that Sound expects in the way of external control. For example, if you've mapped some of the controls to a Wiimote, some of them to MIDI controller numbers, some to the MIDI keyboard, and some of them to the Pen and Tablet, by checking ShowControllerMappings you'll be able to read all these mappings in the VCS when you play the Sound.
- FlyByOnly: Sometimes the Virtual Control Surface real estate is limited; by checking FlyByOnly in the Annotation, you can limit the display of the notes and mappings to the fly-by help (the yellow box that pops up when you hover the cursor over a widget in the VCS). When FlyByOnly is checked, you'll see a small Question Mark icon in the VCS. Position your cursor over the Question Mark to see your annotations and controller mappings. Click on the Question Mark to open a separate window displaying this information.
- To copy the full path name of a file for pasting somewhere else: In the Sound Browser, locate and select the file. In the small info window at the bottom of the Sound Browser, use Ctrl+L to make the window large. Select and copy the full path name (or any other information about the file).
- New CapyTalk message:
- countTriggersReset: increments each time the receiver changes from a zero-or-negative value to a positive value. Resets the count when the argument changes from a zero-or-negative value to a positive value. Here's an example of using countTriggersReset: in a Live Looping Sound
- New Smalltalk message you can send to split multichannel file names to find other files on that same channel: fileNamesOnSameChannelInSameFolder, for example:
'flamingos s.L.psi' fileNamesOnSameChannelInSameFolder
- By default, error messages are now displayed in a dialog (rather than in the Status view). You can change this in Edit>Preferences; Performance; Sound Compiler Warnings
- Swapped Left surround and Right surround in the Preferences>Speaker Placement preset named 'Film Composer' to make it consistent with ITU 775
- Shortened and added CRs to error messages so the longer ones can no longer fill the screen and make it difficult to find and click the OK box.
- Fixed a problem with shared MIDIVoices in a Timeline.
- Corrected a problem that could cause AnalogSequencer to hang (was a problem with Event Value initialization)
- Corrected a problem with ForcedProcessorAssignment interfering with the location of wavetables or samples required by the Sound
- When Sample ReleaseTime is set to ON, its initial amplitude envelope is now 1 (previously it was 0). If you use a Sample on a FullRamp as a time index, set its release time to ON.
- Front panel of Paca(rana) now displays 'Initializing Sound Engine' feedback while Kyma initializes the DSP
- Improvements to communication between Paca(rana) and MOTU interfaces
- Added Main-L and Main-R to the default output channel routing (DSP Status Configure)
- Multisample now pays attention to a constant Index value. For example, if a Multisample is used in a MIDIVoice, you can use ?VoiceNumber in the Index field to pick a different sample for each voice
- Added varTimesRepeat: to Smalltalk (allow you to repeat a block of code a variable number of times).
- In Timeline select-All, copy, create new Timeline, paste now assumes that you want to paste all Sounds at the same time points as in the original Timeline (unless you click at a different starting time point in the new Timeline).
- In the Timeline the double arrow >> jumps to the next important time (including Anchors)
- New Prototype AnalogSequencer with 16 stages
- Fixed problem introduced in last release that would sometimes leave icons floating in space if you collapsed a large signal flow diagram
On Paca(rana):
- Now supporting the MOTU 828 mk3 audio/MIDI interface
- Now supporting the MOTU Traveler mk3 audio/MIDI interface
- Various improvements in Wormhole operation (multiple Paca(rana)s connected through the Expansion A/B ports)
- On Paca(rana) front panel, DSP menu now updates properly for the Wormhole
- Discovered and corrected potential states that could cause Out of Real Time message for no good reason
- Behaves more gracefully when OORT (out of real time)
- For audio interfaces with large numbers of inputs and outputs, the Configure dialogs now display the channels in two columns
Kyma X 6.70 is not recommended for Wormhole users (but 6.71 is fine).
- Two new CapyTalk expressions:
- alignGateWith: Similar to alignWith: except it aligns a gate rather than a single trigger
- triggerEvery:reset: Allows you to reset a periodic trigger counter
- Improved filename searching
- Sound editor opens faster
- Sped up sample downloading on Paca(rana)
- Corrected an error that could sometimes crash Paca(rana) when running out of real time
- Made the version number string accurately reflect the subversion number for updates that are multiples of 10
- Added a warning to the Paca(rana) firmware update procedure about quitting other applications before proceeding
- Corrected an error that prevented the use of the Capybara with Kyma
- Paca(rana) sample rate clock source is now saved between sessions (Capybara clock source continues to be saved correctly as before)
- Fixed a problem that caused Kyma to run slowly and fill up the system log for Mac OS X 10.5 and newer.
- Kyma now searches inside folders inside the standard fonts folders when searching for fonts.
- Reduced the delay encountered when switching into Kyma from another program.
- New error message gives advice on how to create arrays of hot values in Scripts.
- Added a warning to Save as... warning that you should not remove unused presets when the Sound or timeline includes PresetSpace or InterpolatePresets Sounds.
- Right clicking a VCS widget now pops up the same menu as control clicking the widget.
- Added 2 and 3 half steps to the pitch bend range in Configure MIDI under the DSP menu.
- Tau editor now opens with its Gain to 1 (previously it was 0.5).
- You can now use more than one OscilloscopeDisplay and SpectrumDisplay and control the user interface at the same time.
- Fixed a problem where the OscilloscopeDisplay would sometimes be blank until the mouse button was clicked.
- InterpolatePresets and PresetSpace Sounds placed in a timeline will not show their controller values, regardless of the parameter setting. (Previously, the timeline would try to show the controller values, resulting in an error message).
- Corrected a problem in the expression optimizer that would cause an error when using certain complex expressions in the AnalogSequencer.
- On the Paca(rana), added support for the M-Audio FireWire Solo and the Echo AudioFire12 audio interfaces.
- On the Paca(rana), reduced and stablized system input to output delay as set by the Performance Preferences.
- Paca(rana) will now continue trying to connect to the host computer if the host computer is not ready the first time. (Previously, under certain FireWire cable configurations of mixed FW400 and FW800, the Paca(rana) would give up too soon).
- Fixed the AnalogSequencer for the Paca(rana) so that it can play long sequences when the Gate parameter is a complex expression.
- The Tau editor will analyze a true mono mix of interleaved stereo files (previously it would analyze the left channel only).
- Fixed a long standing bug that could cause Sounds with complex expressions to crash the Paca(rana).
- Fixed a problem with fonts in the Clock tool on Windows.
- Added firmware version information to the Paca(rana) front panel help menu.
- A resizable clock in the Tools menu displays the real time, the Timeline time, or the time since the current Sound started playing.
- In the Tau Editor frequency envelope, it displays both the frequency and the octave + pitch class of the envelope under the cursor
- In Tau Editor if you re-analyze, the min and max frequencies also show you the min and max pitches within comment quotes for reference.
- On the Wacom tablet, key events (sent by the eraser end of the pen), voice stealing now works the same as it does on MIDI keyboards
- In VCS, when you select Edit>Clean up and provide the number of columns, the width of horizontal faders will be the number of columns across (in the past they became the same width as vertical faders)
- OscilloscopeDisplay and SpectrumAnalyzer Sounds now correctly allow pass-through of stereo inputs and allow you to record stereo to disk
- AIFF files produced by other software with extra garbage on the end can now be read in Kyma without complaints that the file is damaged
- Fixed a longstanding problem where base pitch was not being read from the header of .wav files
- On the Pacarana, the Tau resynthesis audio quality has been improved for high frequencies.
- On the Pacarana, GraphicalEnvelope now has a checkbox to switch between jumping to the first segment after the loop when the key or gate goes up or simply continuing from its current position to the end when the key or gate goes up.
- On the Pacarana, when fast-forwarding or jumping in the Timeline, no intermediate MIDI or global controller values are sent until the time cursor reaches the desired location.
- In Tau Editor, when you drag a Sample in for analysis, it analyzes first (using its own guess for frequency range). You can re-analyze later if necessary.
- The shift plus arrow keys can be used to extend the selection in text fields
- Fixed a long-standing vulnerability to FireWire bus resets that could (rarely) cause crash on Mac Intel
- Fixed TriggeredSoundToGlobalController Prototype
- Corrected an error in importing very old files created in 1994 into the latest version of Kyma
- Improved Kyma robustness in the face of FireWire bus resets (both Pacarana and Capybara/Flame)
- Optimized signal flow diagrams with splits followed by joins (these were growing exponentially slower but have not been fixed)
- Save/restore Sound editor does a better job at remembering Sound positions between closing and reopening windows
- In VCS, added option to "Save in all presets" to the Ctrl+Click VCS pop up menu so you can save a parameter value in all of the Sound's presets
- Both trackAndHold: and sampleAndHold: now work when their arguments have units (such as units of time or frequency)
- For Pacarana, added a new prompt at shutdown asking whether you'd like to turn off the hardware when you quit Kyma
- Changes to Prototypes
- In SplitSurround the Format now includes Mono as an option
- Stereoizer turns a mono branch into a stereo
- Process Stereo Input processes its left and right channels separately
- Added "KBD" to the Pulsing Harmonics prototype name
- Several improvements to the Paca(rana) firmware:
- Continues to scan the FireWire bus after encountering a non-responsive FireWire device
- Does a faster search for FireWire audio devices (by ignoring FireWire hard disks made by LaCie, Oxford and G-Tech)
- Responds more quickly if any errors occur during FireWire audio device configuration
- Correctly labels the digital outputs of the PreSonus FireBox (the most recent PreSonus FireBox firmware incorrectly labels the digital outputs as analog outputs so we have to overwrite it)
- Corrected a bug accidentally introduced into Kyma 6.63 that prevented the use of USB audio devices with the Paca(rana)
- New Help menu in Kyma! Use the Help menu to access the following options:
- Video tutorials, Kyma X Revealed, Prototypes Reference, Learn more..., Community library, Kyma Forum, Check for updates
- Kyma now works correctly with multiple monitors, even if Kyma is not on the leftmost (and uppermost) monitor
- Spectrum Editor now has a Gallery button (click it to open a Sound file window of examples based on that spectrum file).
- New prototypes:
- Stereoizer turns a mono signal flow branch into Left and Right channels with independent controls over each channel
- ProcessStereoInput takes a stereo input and processes each channel independently
- PulsingHarmonics KBD added KBD to the name to reflect keyboard controls
- In the Sound editor, if you drag & drop a Sound with a replaceableInput, it will replace the replacableInput with the old Sound's input.
- Shortcut for creating multiple copies of a controller, for example !Amp copies: 10, now works even when there is no number at the end of the hot value
- Modified Spectral Analysis tool to include a morphing example in the Gallery
- Kyma X is once again working on Capybara-66 and Capybara-33 platforms
- On Paca(rana), corrected a problem with jumping in the Timeline
- On Paca(rana), when audio is set to SilentDevice, Paca(rana) will still pay attention to the MIDI input
- Added support for a new fader box: the BCF2000 (similar to Motor Mix, with motorized faders but without Labels display)
- Miscellaneous Preferences now includes a switch for turning on or off the startup sound (KYMA) — useful for live performances.
- Spectral Analysis (from the Tools Menu) now opens a Gallery of examples based on the analyzed file (more examples to be added soon)
- Added a new Sound: TriggeredSoundToGlobalController so you can broadcast program changes, sending the new one exactly when you want it to take effect (rather than whenever it changes). (Not implemented on Capy-66 but available on Capybara 320 and Pacarana)
- Added Paca(rana) support for MOTU 896 mk3
- Added support for !MIDITimingClock on Pacarana (was already implemented on Capybara)
- Fixed a problem where the replaceable input was not getting replaced by the track input in the Timeline (this happened only when the default input had a hot value in its parameters)
- Recycle button (in Status window) refreshes all window displays
- Fixed Mac mouse wheel handling so each move increment is no longer done twice
- Fixed the graphics weirdness that could occur when using Spaces on Mac OS
- Fixed a problem in MIDI Scripts where all controller values were half what they should have been (on the Paca(rana))
- Fixed a problem in GA Oscillator on Paca(rana)
- Fixed a longstanding problem that would occur when trying to drag a group of bars in the Timeline when one of the time bars had zero width
- Increased the number of hot values allowed on the Paca(rana) to match the maximum number on the Capybara (this had been inadvertently limited in earlier releases)
- Fixed the channel order for Matrix4 and Matrix8 on Paca(rana) (to match the order on the Capybara)
- Faster start up times for all FireWire audio interfaces with Paca(rana)
- Added protection against accidentally overwriting a file by hitting the Space Bar after doing a Record to disk from the Action menu.
- Fixed a long-standing issue where playing a Sound to the left of the last Sound in a chain and then editing the VCS would not save the change to the VCS
- When you have a variable in an array field, it now only asks once whether that variable represents an array or one element in the array
- DSP status now labels all of the processors on the Paca(rana)
- Fixed Paca(rana) SampleAndHold (if hold time was zero, it would stick forever)
- Added support for M-Audio ProFire 2626 on Paca(rana)
- Added support for Presonus FireBox (analog audio & MIDI only)
- MOTU Ultralite mk3 S/PDIF input now working
- Added TC and M-Audio ProFire sample rates 88.2 and 96 kHz
- Added MOTU sample rates 176 and 192 kHz
- Added TC Konnekt 48 ADAT support
- Paca(rana) no longer interferes other converters on the FireWire bus
- Updating Paca(rana) firmware won't shut down the Paca(rana) until the firmware has been successfully updated (making for safer firmware updates)
- MOTU Ultralite mk3 synchronizes much faster
- MOTU Ultralite mk3 now working at 96 kHz sampling rate
- Kyma working under 64-bit Windows XP & Vista (new
FlameXP.inf )
- SpectrumAnalyzer module audio output is no longer delayed by FFT length
- Added support for TC Digital Konnekt x32 & Paca(rana)
- Added support for Lynx Aurora 8/FW & Paca(rana)
- More graceful response to out of realtime on Paca(rana)
- Fixed a longstanding bug in jumping around in a Timeline with disk playbacks that could crash Capybara
- Corrected Archive Tool to save all files (a recent change was causing it to ignore cached files)
- Increased the area for pathnames in the Archive Tool
- Fixed a bug in CrossFilter_Short on Pacarana
- Zoom to fit now works better on long Timelines (shows right edge of the longest Sounds)
- Changed drop-down menus to show more options in the list, making it easier to select an option when the window is at the top or bottom of screen
- First Kyma version that supports Capybara-320, Paca, and Pacarana sound engines
- A Timeline track can now use a stereo audio input (as well as mono)
- New default speaker setups in Preferences: Film composer (L R C LFE LS RS) and Post Production (L C R LS RS LFE)
- Choosing 'Center all pan positions' in Tau Editor now sets the dirty bit so you are prompted to save the changes if you close the editor
- Fixed a bug in one of the Gallery Sounds in the Tau Editor
- Fixed Synchronize Spectra Tool to return nonzero number of partials for nonharmonic spectra Mix and Morph examples
- Changed wording of "Error 22" to "Unhandled FireWire bus reset or FireWire Error"
- GenericSource now reports its correct number of channels for the Timeline (if Left only is checked, for example, it says that it is mono, not stereo)
- Saving large Sound files now goes three times faster
- Fixed a bug in Save as.. in the Samples editor
SlipStick can be used for generating a wide range of control signals or audio signals — from creaking sound effects to keyboard-controlled oscillators. It makes an interesting excitation signal and, because it is nonlinear, it can also be used as an audio distortion effect. SlipStick is a physical model of an object being dragged across a surface by a control point at the end of a spring. Initially, the object is sticking to the surface due to the force of gravity pushing down on it. As you increase the distance between your control position and the position of the object, you also increase the tension of the spring which increases the pull or the force on the object at right angles to the downward force of gravity. Once the force due to the spring exceeds the force due to gravity, the object starts sliding along the surface. As it does so, it compresses the spring and which pushes back in the other direction. If there is very low slip friction, the object may start to oscillate back and forth. You specify the (changing) position of the control, friction when the object is stationary, friction when the object is sliding, the stiffness of the spring, the frequency of oscillation, and the decay time of any oscillations with nonzero slip friction.
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. |
- Added new Prototypes for SoundToGlobalController that track live input and turn its amplitude, frequency, or brightness envelopes into global controls
- Added a BinauralPan Prototype
- In TAU editor, fixed a long-standing bug in Undo that could tangle the time (i.e. place a later timepoint before an earlier timepoint)
- In TAU improved the accuracy of dragging when the editor is zoomed in.
- Auto-completion of typing in parameter fields has been restored (was broken by a change to previous release)
- Made changes to allow a very old file called Examples 4.5 to be opened in the new version of Kyma X
- Pen and Wiimote variables from multiple controllers (e.g. !Pen3X) are now responding properly
- Fixed addSound:atTime: in Script. Scripts using this expression now work correctly in the Timeline.
- Optimized InterpolatePresets for controllers that do not change from one preset to another
- Fixed hasChangedInLast:, countTriggers, countTriggersMod:, and countTriggersMod:Reverse: to pay attention to the initial value of controller being monitored or counted.
- Prevented wavetable memory from being shared if it is written to by a MemoryWriter between two playbacks (for example by a Sample with fromMemoryWriter checkbox checked.
- Corrected an endian problem that had prevented some external wave editors from working with Kyma
- Shortcuts for pasting !KeyPitch, !KeyDown, !KeyVelocity, !KeyTimbre into a parameter field as follows:
- Press
esc key on computer keyboard
- Hold down 1, 2, 3, or 4 keys on the MIDI keyboard
- Made the AIFF reader more tolerant so it can open 3rd party samples that incorrectly report the number of samples in the file
- Corrected a problem that existed in recording Timelines to disk
- In Tau editor, added Ctrl+LeftArrow as a keyboard shortcut for rewind-to-time-zero. (This key combination also works in the Timeline).
- In Tau Gallery, added a Sound that can read Recycle MIDI files and use them to access time points in a .PSI file.
- Tau Editor can now handle file names with unusual characters in them.
- Fixed a longstanding problem in recording Sounds that include disk playback.
- In DiskRecorder, the file name disk button now pays attention to the file Format parameter when asking for a recording file name.
- In DiskRecorder, corrected a problem that caused Kyma to ask you locate the file on disk before it was recorded.
- Added a checkbox for ConfirmOverwrites in DiskRecorder.
- Corrected Windows filenames to reject characters \/:*?"<>| (which are not allowed in Windows filenames).
- GAOscillator now accepts the keyword default in its Frequency field.
- WingModDrone prototype has a much simplified expression in the Envelope field of the Modulator.
- Added a prototype named Multiplier (which is the same as Product and VCA) to make it easier for people to find.
- In Sound Browser, added BPM to the informative text for the selected MIDI file.
- In Sound Browser, the informative text at the bottom now displays the full path name of the selected file.
- New CapyTalk expression that can be sent to MIDI files to extract the BPM:
'aFile.mid' midiFileBPM
- Corrected BPM expressions to immediately update the value of the duty cycle as soon as it changes, for example:
1 bpm: !BPM dutyCycle: !duty
- Added a new default speaker setup to Preferences called Stereo45 (which places the left and right speakers at 45 degrees left and right of center).
- Corrected a graphics problem inadvertently introduced in previous update, affecting systems running Mac OS 10.4 and earlier.
- Corrected a problem on Mac OS 9 that prevented Kyma from starting up.
- Corrected a problem that prevented the Timeline time cursor from being placed within the first two seconds when the Timeline contained DiskPlayer or GenericSource playing from disk.
- Corrected a problem on Windows that caused windows to be filled black.
- HilbertTransform now uses doubles in computing the coefficients.
- Fixed a problem in Timeline control functions where, if there were points outside the range of the TimeBar, shifting left or right would flatten the function. Now, points outside the TimeBar are removed if you move a control function left or right.
- Includes numerous improvements to the re-display of OpenGL graphics under Mac OS 10.5 Leopard.
- Macs can now recognized the .AIFF file extension properly.
- Fixed a problem with the VCS layout selection menu for a Sound with a carriage return in its name.
- When dragging and dropping a Sound onto a line in the Sound editor, the newly dropped in Sound will automatically make a backup of its original VCS layout.
- Fixed several problems in the CapyTalk common subexpression elimination optimization step.
- Added a check to prevent digital devices from losing sync when the Capybara has only 4 channels of audio I/O.
- New Prototype: a SoundToGlobalController named TimingClockToBPM (generates global BPM from incoming MIDI timing clock)
- Fixed Script prototype to show correct number of channels when recording and to use default in the Sample frequency field
- Protected wavetable memory from being shared if it is written to between two playbacks.
- Fixed an endian problem that prevented some external wave editors from working with Kyma
- Shortcuts for pasting in !KeyPitch, KeyDown?, !KeyVelocity, !KeyTimbre into a parameter field as follows:
- Press esc key
- On a MIDI keyboard, hold down 1, 2, 3, or 4 keyboard keys at a time
- In Tau Editor
- Reanalyzing remembers the state of Voice/Unvoiced buttons
- If looping, reanalyzing pauses the audio playback
- Key equivalents for zooming (ctrl+[ and ctrl+]) in time direction
- MultiToMultichannel
- Added a Mix checkbox for mixing all the channels and sending mono mix to all of its output channels
- Stereo checkbox means to take output of channels 1 & 2 only
- Prototypes
- Multichannel compressors with common (mono mix) side chain
- Optimized CapyTalk into: expressions
- Fixed a problem in string resizing for VCS that preventing Sounds with color labels from opening
- Corrected a problem with binary and ternary choice CapyTalk expressions that had been introduced in 6.48
- Kyma X.48 opens under Mac OS X 10.5 (Leopard)
- New Prototypes
- MultiToMultichannel: Like Stereoizer but for multichannel inputs, takes each channel of input, processes it, sends it to same channel output
- Multichannel Compressor (Independent Sidechains)
- Multichannel Compressor (Independent Controls)
- MultichannelToMonoMix
- MultichannelToStereoMix
- MultichannelToStereoMix (Binaural Phase)
- MultichannelToStereoMix (Hilbert Phase)
-
- ChannelSelector: Like Channelizer for multichannel inputs, outputs one channel of the input
- MultichannelChannelSelector (Live Checkboxes) : Same thing but live-switchable (less efficient)
- MultichannelChannelSelector (Live) : Same thing but live-selectable with fader (less efficient)
- Auto completion in parameter fields now looks into the current global map for commonly used parameter names
- Fixed LoudestInput prototype
- Fixed problem that prevented you from editing an Annotation with a nil text field in the Sound Browser
- Fixed problem in using ?file in a TauFile parameter when clicking the list of .psi files in TauFilePlayer
Please download the folder with the examples and new samples: Kyma X.47 Examples (the samples are required by new Prototypes).
You can use Edit>Preferences and Speaker Placement to set up your system to output on multiple channels.
- Record to disk...
- You can now record multichannel Sounds (such as Output4) to disk as split-surround files (one mono file for each of the channels). For stereo (2 channel) recordings, you have the option of recording a single interleaved stereo file. Otherwise, the recording will be "split" into one file per channel.
- New steps for recording to disk:
- Select the Sound to be recorded
- From Action menu, select Record to disk...
- Check the box for each output channel that should be recorded (one file per channel). Select the format & bit depth.
- Choose the File Extension type (the suffix appended to the end of each filename). Your choices are Surround (.L, .R, .LS, .RS, .C, .LFE, .LC, .RC) or Numeric (the channel number).
- Choose a filename for each channel. The file type extension (for example .aif or .wav) is required. For multiple channel recordings, it is recommended that you give all files the same 'stem' and that you save all the files in the same folder. That way, you can use the SplitSurroundFilePlayer Sound to play them back as a unit.
- To start click OK. To stop, type Ctrl+K.
To stop recording, use Ctrl+K. The Recording dialog no longer prompts you for the duration of the recording. The only way to stop the recording is Ctrl+K. To record a file with a precise duration, put the Sound to be recorded in a SetDuration.
NB: If any problems with recording to disk, you can switch to the old way of doing things by choosing Preferences from the Edit menu, click the Miscellaneous button, and check the box Use Old Recording Dialogs.
- The VCS remains active during a Record to disk.... To stop the recording, use Ctrl+K.
- It is now possible to drag multichannel output Sounds into the Timeline and maintain the spatialization. If you pan a Sound having 2 or more channels in the Timeline, the spatial configuration rotates in the direction of the pan; the spacing between sound sources is maintained as you rotate all of them in the direction of the pan. Note that the standalone multichannel Sounds (with the exception of MultichannelPan) are based on the physical output channels, whereas the Timeline panning is based on virtual sound source positions in the room. Thus there will be small differences in the spatializing of a multichannel Sound when you play it on its own versus when you play it in a Timeline; the Timeline version will be more diffuse with a wider spread of the apparent sound source.
- Submixes are still mono. If you route a track containing a multichannel Sound to a submix, only the first channel of the Sound will be routed to the submix.
- Caches have not yet been changed to record multichannel files (coming soon!)
- Previously saved Timelines will behave exactly as they did before. To change an old Timeline to accept multichannel Sounds OR to change a new Timeline to expect ONLY mono Sounds:
- Use the Timeline's Audio menu to toggle between Allow multichannel Sounds and All mono Sounds
- Dropping a multichannel Sound onto the + sign in the signal flow editor automatically creates a MultichannelMixer.
- A hot value beginning with the word 'channel' will automatically have a range of 1 to the number of outputs and will automatically have an initial value of 1.
- New Capytalk expressions
- !Fader asLeftPan
- !Fader asRightPan
- New message that can be sent to fileNames:
'sur.L.aif' fileNameForChannel: chNbr
Example: In a signal that is to be replicated, if you would like to assign each of the replicated copies to a different position in the stereo field, you can use (as the left parameter of an Attenuator):
(?VoiceNumber - 1 / (?NumberVoices - 1)) asLeftPan)
and in the right:
(?VoiceNumber - 1 / (?NumberVoices - 1)) asLeftPan)
- In Virtual Control Surface, Text and Annotations font size can be changed to be a larger or smaller percentage of the standard font. In the VCS Editor, under Options, select Label Size. Then you can choose a percentage change. These options are visible only when you have a Text selected in the VCS and the VCS Editor is open.
- InterpolatePresets now includes an option to automatically label the Interpolate fader with the names of your presets. Check the AutoLabelVCS box to add tick marks and labels to the fader.
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 |
- NB: You can mix multichannel Sounds, but a multichannel Sound will not maintain all of its channels if you feed it into a processing module that expects a mono or stereo input. (In a future version of Kyma, multiple channels will be maintained throughout the signal flow graph, but for now, making a Sound multichannel is typically the final stage of processing prior to the output).
- Added SharedSounds to Replicator and changed the name of its Input to ReplicatedSound. Now you can replicate the middle of a signal flow chain, and have all copies share a single input or sound source.
- Replicator can now have an array of labels (optionally a different suffix and prefix for each copy) or, if you give a single label with a number, one label with an incrementing number. Whatever you type in the prefix/suffix field within single quotes (for example '1-') will be tacked onto the beginning/end of each hot value or green variable name in the copies. If the prefix includes a number and IncrementPrefix? is checked, this number is incremented in each copy. Uncheck IncrementPrefix if you want the same prefix added to all controls and green variables. To append a different prefix to each copy, enter one prefix for each copy with a space separating each prefix from the next (for example, 'hi' 'mid' 'lo'). Leave this field blank if you do not want to add any prefixes. If there are fewer prefixes than copies created by the Replicator, the last prefix will be repeated (and, if it includes a numeral and you have checked the IncrementPrefix box, each prefix will include a unique number).
- When Kyma is running, you can double-click on a file in the Macintosh Finder and it will open in Kyma. To open several files, select all of them in the Finder, then double-click to open all of them in Kyma.
- Reorganized Prototypes
- Added several new Prototype examples
- Added new categories and distributed the prototypes that were in Xtra
- Replicator now works correctly in the Timeline
- Fixed !KeyPitch in Replicator
- Fixed MonoToPseudoSurround Prototype to have a single, shared replaceable input
- Gives a message now when you try to open a Sound Editor on SoundCollectionVariable stating "Sound Collection Variables have names but no parameters. They cannot be opened in the Sound Editor".
- Corrected TunableVocoder Prototypes
- In signal flow editor, corrected a drag-and-drop situation that would prevent you from replacing an entire branch with the new Sound
- Fixed GenericSource Disk to remove crunch at the beginning
- Corrected caching problem that preventing you from using very short disk files in Sounds or in the Samples File Editor
- When you set the sample rate, it skips the reset if the new sample rate is equal to the old one
- User microsound loading is faster
- If you drop a Sound (having no VCS yet) onto the line in the Sound Editor, the new Sound will inherit the VCS from the Sound to its left
- Fixed GenericSourceDisk autolooping case
- Changed conditional Capy Talk expressions so each keeps track of its own state if same expression appears more than once in the signal flow graph
- Fixed a case where the VCS could lose the layout of a Script, AnalogSequencer, MIDIVoice, Replicator or InterpolatePresets when a new Mixer was added to its right in the signal flow graph.
- Nested PresetSpaces and InterpolatePresets now work correctly
- Fixed FeedbackLoopOut (previous release had introduced a problem)
- Fixed DiskPlayer and GenericSource (from disk) so that they can play very short sample files (fixing a problem introduced in previous release).
- Corrected a problem where a digital audio device running off the Capybara's clock could lose sync whenever a Sound was played.
- Sped up the initialization of the DSP when there are multiple user microsound files in use.
All the new features are illustrated in Kyma X.45 Examples.
- Improved accuracy of bpm: for hot values of !BPM. No change is necessary on your part in order to benefit from the improvement. If you prefer to use the older, less accurate implementation, choose Edit>Preferences, select Miscellaneous and check the box marked Less Accurate BPM implementation. Otherwise, do nothing; the default bpm: will be the new version.
- New Sound called Replicator that creates a mixer of any number of copies of its Input. Each copy can have its own independent parameter controls, since every hot value or green variable in the Input gets an optional prefix and/or suffix added to its name. If IncrementPrefix (and/or Suffix) is checked, then any number in the Prefix or Suffix string is incremented by 1 for each copy, starting with the original number. You can use ?VoiceNumber to compute different values for each copy of the Input. ?VoiceNumber ranges from 1 to the number of copies. You can use ?NumberVoices in parameter fields to represent the total number of copies made by the Replicator. (?NumberVoices and ?VoiceNumber can also be used in parameter fields to the left of a MIDIVoice).
- New Sound called MultiSpectrum is like the SpectrumInRAM except that it can take a list of spectrum files. While the MultiSpectrum is playing, you can select the spectrum file in real time using the Index parameter. Use the MultiSpectrum as an input to the OscillatorBank, FilterBank, FormantBank, CloudBank, or in any context where a SpectrumInRAM might be used.
- New CapyTalk expressions:
-
- anEvExpr closestPowerOfTwo
Returns the power of two that is closest to the value of the receiver (for negative numbers it finds the nearest power of two for the magnitude and keeps the sign the same), for example:
1.5 closestPowerOfTwo = 2.0d
5 closestPowerOfTwo = 4.0d
-10 closestPowerOfTwo = -8.0d
-
- triggerGenerator triggerEverySampled: expression
This expression is useful for retriggering a loop every bar-length number of beats. It is similar to the expression
(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.
- New convenience messages that can be sent to Samples:
-
- 'aSamplesFileName' bpmForBeats: beatsPerBar
Assuming a samples file is a repeating loop and you know the number of beats in the loop, you can ask for its tempo. For example,
'rustDrum130.aif' bpmForBeats: 8 = 129.938
-
- 'aSamplesFileName' closestBPMTo: anotherBPM forBeats: beatsPerBar
Again assuming that a samples file is a loop, this expression returns the multiple of the sample's natural tempo that is closest to another tempo. For example,
'rustDrum130.aif' closestBPMTo: 60 forBeats: 8 = 64.969184875488d
'rustDrum130.aif' closestBPMTo: 300 forBeats: 8 = 259.87673950195d
-
- 'aSamplesFileName' guessBPM
A shortcut that is the same as bpmForBeats: but assumes that there are 8 beats.
-
- To get a list of filenames from the same folder that are all of the same type (including number of channels and whether they are samples or spectra), use
'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.
- For those who like to create new Classes, there is a new Parameter field type called SampleFileArray that lets you click on a file icon to open the file browser so you can locate and add file names to the end of a list of filenames already in the field. This is particularly useful in Sounds like MultiSample or MultiSpectrum (both of which take Arrays of file names).
- A new Smalltalk expression makes it easy to create arrays of numbered controls that turn into numbered faders in the VCS. In any Array field send a single hot value the message copies: with an integer argument giving the number of faders. The result is an array of faders numbered starting from the first fader's number. For example:
{!Fader1 copies: 10}
results in:
#(!Fader01 !Fader02 !Fader03 !Fader04 !Fader05 !Fader06 !Fader07 !Fader08 !Fader09 !Fader10)
and
{!Fader100 copies: 4}
is:
#(!Fader100 !Fader101 !Fader102 !Fader103 )
- The suffix of a hot value can now be a variable (this was previously a problem only in Scripts and Array fields)
- New expression can be sent to filenames to obtain the names of all files in the same folder that are of the same type as the receiver. For example:
'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).
- Timeline Automation menu has been corrected so that it applies to all controls that affect the selected Sounds (parameter, track, and master controls that affect the selected Sounds in the Timeline).
- In VCS Editor, the red marker on Faders and Horizontal faders can be "reflected", that is, it can be flipped over to the other size of the center line. This is one of the Options when you edit a Fader in the VCS edit window.
- In Virtual Control Surface, Faders and Horizontal faders can display tick marks with optional labels.
The labels can be numeric (the value at each tick), pitches (the octave and pitch class associated with a notenumber value), a list (arbitrary list of string labels, one per line), or code (Smalltalk code that returns a collection of strings to be used as the labels).
You can generate the labels (using numeric, code, or pitch) and subsequently switch to list so you can edit the list by hand. To reset the edited labels, edit the list and erase everything so you have an empty list.
- Corrected CrossFadingMulticycleOscillator to remove quantization or zipper noise that occurred when using a Sound pasted into the Envelope field.
- Corrected a problem in the CapyTalk expression:
gateExpr triggerTimeToNext: timeExpr
- Corrected a problem in CrossFilterShort so it now saves its VCS settings properly.
- NB: If you would like to work with OSCulator, please use latest Flame Firmware (4/11/07) update.
- Optimization of initial value computation for event expressions
- Restored the MIDI submenu to the VCS controller source menu
- Protected save file dialogs from empty initial file names (which would prevent recording to disk or choosing Save as...)
- Optimized Mixer with one input and left and right scales of 1 so that it uses less computation time
- Protected the Capybara from crashing when too many controllers changed at one time
- On Macintosh, added Wiimote controller names to the VCS and global map. (See tutorial)
- Fixed TauPlayer for single PSI file to use 1 as default freqScale (had been using the previous freqScale envelope)
- Fixed Tau editor to update the min and max frequency listed at the top of the editor whenever you bring another channel to the front by double-clicking
- Added a warning if the combination of user microsound files is too long to fit into memory
- Added the selected microsounds folder to the preferences so they will be remembered on startup.
- Added new CapyTalk expressions that are useful for testing live controller inputs or feature extraction on live audio inputs:
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. "
- You can now load several user microsounds at the same time. Give each user microsound class file a different name and then put all of them into a folder. Select Choose user microsounds... from the File menu; Kyma will ask you to locate one of the files in the folder of files you wish to load and use. In other words, you no longer have to choose between whether you want to use the Johnston/McClain/Leas merged microsounds and ChristiaanGelauff's CAG Microsounds; you can use both!
- New CapyTalk expressions for generating random triggers (See the Sound file random trigger examples.kym for examples):
- brownianTrigger:, normalTrigger:, randExpTrigger:, randomTrigger:
- For example,
!sw01 normalTrigger: !Dur s
- brownianTriggerStart:deviation, normalTriggerCenter:deviation:, randExpTrigger:, randomTriggerCenter:deviation:
- For example,
1 normalTriggerCenter: !BPM bpm s deviation: (!BPM bpm s * 0.01)
- Fixed bpm:dutyCycle: so that a duty cycle of 1 is solidly ON.
- Changes to the Tool Editor:
- New Merge button so you can merge the selected state with another state chosen from a menu.
- A global variable called StepAfterEventValuesUpdated can be set to the value true to ensure that all hot values have settled to their final values before making decisions based on them.
- A global variable called Trace contains a history of all states visited (primarily for debugging purposes when you are developing a new Tool).
- Fixed a bug uncovered by Phil Curtis in opening saved Timelines
- Fixed setReset: to work with constant-valued receivers
- Found/fixed a longstanding error that would sometimes result in file read errors.
- Changed AnalogSequencer so that the sign of the Rate parameter controls the direction of the sequence.
- Optimized MIDIOutputController so that it sends the MIDI message only when the controller's value has really changed.
- Changed the Output Level tool so that it no longer closes the VCS.
- Added MaximumUpdateRate to ModalFilter to improve scheduling when there are parameters that update at maximum control rate. (For example, if you have a SoundToGlobalController generating a control at 1 kHz and the control is used in one of the ModalFilter parameters.)
- Fixed problem that could crash Kyma on Windows XP when opening a file on the desktop after Acrobat Reader has been installed.
- Fixed a problem in the Smalltalk parser related to using "0x" as the prefix to indicate hexadecimal values.
- Sped up the transmission of information to the Capybara for the Tau editor. This should make the Tau editor update faster.
- Removed the reference to Duration from the help description for the Gate parameter of Sample.
- New synthesis/processing algorithms for your sound-designing pleasure!
- SampleCloud has new parameters for Frequency and FreqJitter plus it now allows for GrainDur values longer than 1 second
- ModalFilter is a collection of modes (implemented as parallel second order filter sections) with optional filtering and/or distortion in an optional feedback loop. In addition to its obvious application as an EQ filter, ModalFilter can be used for modelling objects like rooms, pieces of metal, or other objects for which you can obtain the mode frequencies, amplitudes and bandwidths.
- New Prototypes (To save you from searching for them in the Prototype Strip, here is an example of each one: Kyma6.4NewPrototypes.kym. (After you download it to your disk, you might have to remove a .txt extension and leave the .kym in order to open it in Kyma.)
-
- SampleClouds w/ Frequency Jitter
- SampleCloud KBD
-
- ModalFilter 1/3 Octave BPFs
- Metal Plate ModalFilter
- Stereo Tuned Plate Reverb
- ModalFilter Vocal Formants BPFs
- McClain Metal Bar ModalFilter KBD
- Plucked String ModalFilter KBD
- ModalFilter Vocal Formants KBD
- Fake Keyboard no longer closes the VCS when you open it
- Samples Editor templates now accept Arrays specified as expressions within curly braces
- In Smalltalk, you can now use the simpler syntax for collect: (parentheses around the collect: are no longer required):
{1 to: 16 collect: [:i | !Freq * i]}
- In CapyTalk
- mod: can take a hot value as its argument
- Added the functions floor and ceiling
- Added switchedOn to detect the rising edge of a gate and switchedOff to detect the falling edge
- Fixed the Timeline so you can add Sounds and move them in the Timeline when Capybara not attached (Flame must still be connected)
- Changed the WAVE parser to accept sample files that lack base pitch and velocity information.
- Updated the help for the Duration parameter of the FunctionGenerator Sound.
- Corrected the SpectrumModifier prototype to not scale !Frequency.
- Fixed a capitalization error that prevented multiple HilbertTransform Sounds from being used in the same signal flow diagram.
- Fixed the error that was occuring when you would send the
m , h , days , or beats messages to values that already had units.
- The new HilbertTransform Sound performs a 90 degree phase shift on its input. The left channel output is the phase shifted input, the right channel output is the input delayed to line up with the left channel. These channels are arranged so that you can directly connect the HilbertTransform Sound to the QuadOscillator Sound to perform single-sideband ring modulation.
- Kyma on Windows now saves and restores the main window positioning across multplie monitors.
- In a Tool, you can add a global variable called LastCharacterTyped, allowing for computer keyboard control of Sound parameters.
- Added a new prototype called ScriptToOpenFileDialog.
- Fixed the Sound compiler so that it will not get an error when wavetable memory is almost used up.
- Changed the Sound browser so that it saves its state when you click the Refresh button.
- Modified disk recording to retry disk operations that fail due to Spotlight indexing the file to be recorded.
- Fixed missing cursors and other problems in the Mac OS 9 version.
- Added
suffix3: , suffix4: , and suffix5: expressions to CapyTalk for adding leading zeroes to numbered faders so they will sort correctly in the VCS.
- For example you can create a loop with an index variable
i and use the expression !Fader suffix5: i
- Added Scott Holden's intelligent harmonizer to Gallery of Tau editor
- In TAU editor, added option to show a pitch-grid in the background and show Octave/PitchClass/+/- Cents at the cursor cross hairs:
- From the Tau edit Tools drop-down menu, select Toggle pitch grid
- In Tau, changed BPM grid to display in envelopes area rather than in anchors area
- Changed Tau selection color to blue
- Fixed a drag-selection bug in Tau editor that showed up only when zoomed-in
- Optimized opening and saving of large Sound files.
- Modified the Sound file importer to better handle very old (> 8 years old) files
- Changed MemoryWriter to prevent its memory from being reused if you mistakenly failed to refer to that memory
- Changed the way the menu bar is updated so that file request dialogs do not interfere with the Edit menu. (Cut/Copy/Paste, Save and Save as were sometimes being deactivated)
- Common subexpression elimination in the CapyTalk compiler correctly optimizes complex conditional expressions.
- On the Macintosh, Kyma disk operations are now compatible with Spotlight running in the background
- Fixed DelayWithFeedback, removing a small fractional delay that was being added when Interpolation was turned on.
- Corrected a problem on the Macintosh where Kyma would sometimes be unable to find the Kyma FireWire Interface.
- Changed Kyma so that it will start up on Windows ME/2000 and Mac OS X.3.
- When renaming Sounds, the dialog box has been expanded to show three lines of text.
- On Windows, made a change in the way thermometers are outlined.
Included in this download is a copy of 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.
- For Macintosh users, Kyma X.32 is a universal binary. It runs natively on the iMac Intel Duo and on MacBook Pro laptops
- Changed the MotorMix label shortening method to distinguish labels that have the same prefix (e.g. !MorphP and !MorphF)
- Fixed Open from the File menu to recognize Tau files.
- Added code to prevent TauPlayer from getting errors when used with damaged Tau files.
- Changed the calculation of !PenTiltAngle and !PenAngle to prevent possible divide by zero errors.
- Made changes to Kyma's array indexing methods that should result in a slight overall increase in the speed of compiling and downloading of Sounds.
- Added a filled toggle button as a new display type to the VCS.
- Added Affected by dice to the pop-up menu you get when ctrl+clicking a widget in the VCS.
- Added a way to change the type of a VCS widget through the ctrl+click VCS pop-up menu.
- Changed the timeline to permit track functions to be slaved to one another.
- Added EQFilter Sound: combines low-shelving, presence, and high-shelving filters into a single module.
- Added preset automation to the timeline: you can specify master parameter control functions to interpolate the presets of the top level VCS layer of the timeline. See the Automation drop down menu in the timeline.
- Greatly sped up the display of large Tau files in the Tau editor on Windows.
- Added two features to help people in studios where several people share the same Kyma system
- When a Sound Browser is opened, it now shows both the overview Kyma Sound file and the user's login directory.
- Moved the location of the Kyma Preferences file to be outside of
Kyma X.app . It is now stored in ~/Library/Preferences on the Macintosh and ~\Application Data on the Windows.
Imagine that you could push, pull and reshape the amplitude, frequency, and formant envelopes of your sounds using the mouse, Wacom pen, or arrow keys. The Tau provides a new way to resynthesize, morph, and transmogrify your sounds in Kyma.
The Tau can assist you in aligning the timing, frequency, amplitude and formant envelopes of several files for synchronization, morphing or cross-synthesis. Needless to say, the Tau is also an open invitation to distort and deform your sounds in new and entertainingly nonconformist ways!
Read more about the Tau here. Be sure to download the additional files needed for this release.
- Fixed a problem with using combinations of pasted Sounds and event values in the parameter fields of instances of user-defined Sound classes when used in a timeline.
- Optimized the case of division of two numbers of different classes (e.g. integers and floats)
- Fixed an longstanding bug that, if you closed a SoundCollection with the Sound editor still open, could result in a Nil view
- Tested Kyma under Rosetta on an iMac Intel Core Duo. Kyma runs at approximately the same speed as it does on a Dual G5 of the same clock speed.
- Fixed the VCS editor so that opening and immediately closing the VCS editor no longer drops all unsaved edits that have been made.
- Doubled the maximum size of a CapyTalk expression that can be evaluated in realtime.
- Improved the CapyTalk expression compiler to better simplify conditional expressions and to optimize nested
into: expressions.
- Corrected
asToggle in CapyTalk to toggle on changes in logical value (true or false) rather than actual value.
- On the Macintosh, changed the save file dialog to include the file extension in the file name.
- On the Macintosh, the close button on windows whose contents are modified is highlighted in the standard Macintosh way.
- Changed the background of dialog windows on the Macintosh.
- Fixed Tape Recorder Tool and Timeline recording to use the smaller of the available disk space and the maximum file size permitted by the chosen file format.
- Fixed the record to disk dialog to properly gray-out options that are unavailable for certain file formats.
- Increased maximum length of AIFF and WAVE files by a factor of 4 (more than 6 hours 24-bit stereo at 44.1 kHz)
- More accurate reporting of how much disk space is available for recording
- Optimized breakpoint loading (speeding up Timeline function downloading)
- Optimized initial values parameter loading (should speed up Sound loading)
- Reduced time it takes to prepare for recording a samples file by about 1 second
- Timeline can be controlled by MIDI time code even if it is not the front window
- Changed wording in VCS Editor to "Hide selected widgets"(rather than "Remove selected widgets")
- Corrected a problem in the CapyTalk
alignWith: function (it was not popping the stack)
- Fixed initial values for CrossFadingMulticycle and CrossFilter_Short
- Corrected a CapyTalk optimization test for expression equality
- Fixed buttons that open other windows so they are no longer stuck in the down position when the new window opens
- The timeline now displays the controller mappings in the Source of Control menu button so that you can tell the difference between !cc07 and a controller that is being controlled by MIDI continuous controller 7.
- Oscillator can now be used with a Sound pasted into the Index parameter.
- Made it so that the VCS does not open when Kyma starts up.
- Made it so that collapsed windows are expanded first (to make them visible) before bringing them to front.
- Changed class editor to ignore any changes made to the parameter help when no parameter is selected.
- Changed class editor so that it does not allow you to retrieve the class example when there is no place for Kyma to save the example.
- Fixed the PNG reader (used for custom user-defined class icons) to handle icons with a background color set.
- The VCS can now be chosen as the source of control for live controllers in the timeline (removing any prior mappings to MIDI channels and controllers).
- The timeline will now properly play timelines that have track functions slaved to live master controllers.
- CrossFilter_Long can now be set for non-realtime with a ResponseDuration more than 2.5 times larger than what the Capybara can compute in real time.
- MIDIOutputEventInBytes is now triggerable and the Bytes parameter is hot. This means that Kyma can output arbitrary MIDI messages (e.g. MIDI timing clock, song start, etc). In short, if you know what the MIDI message is in bytes, you can now generate it in Kyma.
- The FileName parameter in the MIDIFileEcho now includes a disk button so you can open a file browser to select which MIDI file you would like to echo.
- New Prototypes: MultiSample and MultiFileDiskPlayer that show how to use the sampleFileNamesInSameFolder message in lieu of typing in the name of each file
- Fixed Spectral Analysis Tool so you can click the Back button to get back to the fundamental tracing page
- Fixed a bug in common subexpression elimination that could cause Kyma to hang in some circumstances
- Support for MIDI control over the Capybara-320 output level using Master Volume, a MIDI universal realtime system exclusive message. By programming a MIDI fader or pedal to send the Capybara the hex message, F0 7F 00 04 01 vv VV F7 (where vv is the least significant byte and VV is the most significant byte of a 14-bit volume), you can control the overall output level of the Capybara-320. This is the same output level that you can now control using the Output Level Tool, but under MIDI control. Overall Volume ranges from 0 up to the output pad level that you have specified in your Preferences. (NOTE, this cannot work on a Capy-LS or Capy-66).
- Larger font sizes in the VCS: In the VCS Editor Window, under the Options menu drop down menu, select the desired label size for the widget. Select 100% for the current font size, and use the other percentages to specify smaller or larger font sizes.
- To generate a repeating trigger based on a time interval rather than on BPM, use a new CapyTalk expression called tick. In a Gate or Trigger field, you can type a time interval followed by the word tick, for example:
0.1 s tick
would generate a trigger once every tenth of a second,
!Duration s tick
would generate a trigger once every variable number of seconds, and
1 s randExp s tick
would generate a trigger at random intervals ranging between 0 and 24 seconds apart.
- Fixed a problem that occurred when switching between using a MemoryWriter, a Sample, and a DiskPlayer as the source.
- Changed Fake Keyboard Tool to use new, justified buttons.
- Fixed a problem where Kyma running on Mac OS 10.4 (Tiger) would interfere with other application's menus.
- Adjusted for the Angle value put out by the 6D Art Pen (the released version of the pen puts out a different angle than the prototype pen they had sent us for development).
- A new CapyTalk expression, alignWith:, for aligning one trigger with another. For example, say you wanted to press a Gate button but not have it take effect until the next beat. You could use the following expression in a Trigger or Gate parameter field:
!Gate alignWith: (1 bpm: !BPM)
- A new expression, sampleFileNamesInSameFolder, for getting the names of all the sample files in a folder. For example, if you would like to use a lot of samples in the MultiSample and MultiFileDiskPlayer, you could use the following expresion in the FileNames parameter field:
{'bell.aif' sampleFileNamesInSameFolder}
- Fixed a problem that caused long error messages to crash Windows XP.
- Fixed Timeline help message for MIDI Program Change Number so that it no longer shows "nil" as the channel number.
- Modified Timeline so that the number of channels in the Track input channel menu agrees with the number of channels you have specified in the Preferences.
- Added a replaceable input to the Freq/Time Scaling Vocoder example in
Kyma Sound Library:anOverview.kym .
- Fixed a problem that caused jumping in the Timeline to crash when the Clicks Sound was playing.
- Fixed Timeline to play a subset for the full duration of the selection. (Previously, it would play to the end of the last starting Sound, rather than to the end of the last ending Sound).
- Modified Pen Status window: it now shows the pen parameters of the most recently used pen, automatically displays the mapping for the most recent pen, has an option for resetting the pen channel numbers, and has an option for selecting which end of the pen(s) sends controller information (and which end sends keyboard events).
- Pressing the lower Wacom pen button temporarily converts the pen into a mouse until the button is released.
- Added support for two new pens and pen parameters: !PenWheel (found on the Intuos Air Brush) and !PenRotation (found on the Intuos Art Pen).
- Corrected the range of !PenTiltX and !PenTiltY on the Macintosh. (A recent Wacom driver update restricted the range to -2/3 to +2/3.)
- Fixed the default bank size (for Sounds like Vocoder and OscillatorBank) for sample rates other than 44.1 khz.
- Fixed Spectral Analysis Tool when used at sample rates other than 44.1 khz.
- Added an Output Level Tool to the Tools menu.
- Kyma can now accept
0x as well as 16r as the prefix for hexadecimal (base 16) numbers.
- Sped up Save and Save as in the Samples editor for the case when the file format has not been changed.
- Changed PresetSpace so that it uses only as many of its interpolation dimensions as makes sense for the number of presets its input has. For example, if there are 2 presets, only the X control will be used for interpolation.
- Corrected several AnalogSequencer prototypes that had incorrect ExtraValues fields.
- Corrected several prototypes that had broken SoundToGlobalControllers in them.
- Altered Kyma so that it will try to reconnect to the Kyma FireWire Interface if the Interface is temporarily disconnected or powered off while running Kyma.
- Modified tablet code for Windows XP to fix problems reported on the Kyma Forum.
- Fixed PresetSpace and InterpolatePresets so that they do not try to control SoundToGlobalController controls. Also prevents the PresetSpace and InterpolatePresets from modifying the VCS layouts of their input Sounds.
- Modified tablet code for Windows XP to fix problems reported on the Kyma Forum.
- Fixed XenOscillator so that it saves its presets.
- Fixed it so that Kyma can once again edit and play Sound Designer II files on the Macintosh.
- Fixed a problem that prevented Kyma from initializing a Capybara-33, Capybara-66, or Capybara-LS.
- Fixed it so that Kyma on all versions of Windows properly handles directories with period characters in their names.
- Using a Wacom Intuos3 or Graphire3 pen tablet (under Mac OS X or Win XP), you can use the eraser-end of the pen to simultaneously control up to 8 sound parameters using pen position plus (on the Intuos) pen tilt. You can map any sound parameter to pen orientation by using the Pen Status window.
- The "writing" end of the Intuos3 or Graphire3 pen can be used as a musical keyboard with continuous pitch, velocity, and timbre. Sounds designed for use with the Continuum fingerboard will work with the Wacom tablet (and vice versa).
- The Oscillator module now generates a full range of sound, from a single impulse or grain, to a formant-shifted tone, to the classic continuous waveform oscillator. You now have control over the duty-cycle of any waveform (independently of the fundamental frequency).
- The new CrossFadingMulticycleOscillator module allows you to smoothly interpolate between any two waveforms over the course of a single cycle.
- Inspired by Iannis Xenakis, the new XenOscillator lets you define a waveform by adjusting any number of "breakpoints" and interpolating between them with straight lines, curves, or if you prefer, "raw" with no interpolation at all. You could even use the Wacom pen to redraw the waveform of the oscillator while it is playing.
- Using the new PresetSpace module, you can define a 1, 2 or 3 dimensional subspace by placing the presets of a Sound on the vertices of a line, a square, or a cube. You can then move through that space by interpolating between those endpoints.
- A related module, InterpolatePresets_, treats any number of presets as points in an n-dimensional space and then allows you to travel along a line connecting those points. In effect, you are controlling any number of faders with a single master fader that interpolates between presets. Use this module to perform your patches live on stage, sequencing through them in order or jumping from one patch to another as you improvise with other performers.
- You can now view more than one controller at a time in the Timeline control editor. The first parameter selected is in the "front" and is the only one that is editable. The others are displayed in light gray in the background. To toggle a parameter for display in the background, Ctrl+Click on the parameter name in the list at the lower left of the Timeline.
- Two new green variables are available in the Timeline: ?TLStartTime and ?TLDuration refer to a Sound's start time and duration in the Timeline. For example, you could set the OnDuration parameter of a SumOfSines to
?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).
- To quickly see a VCS widget mapping, position your cursor over the name of the widget (or within its invisible editing box) and a yellow fly-by help box shows you the controller number and MIDI channel associated with that fader. If the default mapping is in effect (for example, if you are using the MotorMix), the control source is "VCS".
- Ctrl+Click on a VCS widget to obtain a hierarchical menu for changing the mapping of that widget. Learn maps it to the next continuous controller that you move; MIDI lets you choose one of the standard MIDI controller numbers, Pen gives you a list of all the pen attributes that can be used to control Sound parameters. From this menu, you can also choose to exclude the widget from being stored in VCS presets.
- New icons at the top of the VCS make it is easy to see whether a Sound is expecting live audio input, MIDI key events, or Pen control. The icons have red lines through them when no input is expected. Otherwise, you know that your Sound is waiting for one or more of those inputs. To open the Pen Status window, click the Pen icon.
- PanPot is a new widget type where zero corresponds with "hard left", consistent with Kyma's definition for the panning angle.
- You can now change the display range of a widget in the VCS that is controlled by a SoundToGlobalController without also rescaling the event coming from the SoundToGlobalController. For example, if a SoundToGlobalController's GeneratedEvent has a range of (0,4), you can set its fader or potentiometer to show the full scale from 0 to 4, rather than clipping at 1 for values greater than 1.
- To scroll a VCS that is larger than its window size, hold down the Control and Shift keys. Before this release, you needed to hold down the Control key only.
- There are two new expressions you may find useful in live performance. The first one detects whether there has been a change in the last interval of time:
!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 .
- Filters have a new checkbox parameter: MaximumUpdateRate. Check this box when a SoundToGlobalController is generating one of the Filter parameters at the audio rate. It's not necessary to check the box when you have a simple fader as the controller. In situations where a Sound is feeding into a SoundToGlobalController to generate the value, this allows Kyma to do a better job of scheduling the filter.
- Fixed the Timeline so large subdivision of beat does not crash trying to display of hundreds of thousands of minor marks.
- Fixed Interpolation checkbox in TimeIndex of Morph(Stereo) prototype.
- Corrected on line help for MemoryWriter.
- Fixed smoothing in SpectrumFromArray (common subexpression elimination had been optimizing it away when you used several of them).
- Fixed examples in the Kyma Sound Library that were using "slider" parameter fields and would no longer open.
- Protected Kyma from crashing in an unusual situation when Kyma would access a non-existent window.
- On the Capybara-66 in the Spectral analysis tool, protected the fundamental tracer from using too many endpoints.
- Fixed class editor to set the PNG icon flag correctly.
- Improved efficiency of large numbers of events generated by SoundToGlobalControllers.
- Added a Silent checkbox to SoundToGlobalController (since you rarely want to listen to control rate signals).
- Protected VCS editor from hanging when you erased the Min field and tried to set the Max field.
- Fixed a very long standing bug that could cause Kyma to crash during a global garbage collect (for example, the one that occurs when you click the Recycle button). This type of error was reported by two people and seemed to be brought on by having lots of files open at the same time (for example by opening a very large folder in the Sound Browser).
- Kyma now ignores fonts that are not encoded with Unicode or Symbol (this was making it impossible to start up Kyma when nonstandard fonts were installed).
- Fixed Sound scheduling for nonstandard sample rates.
- Complex CapyTalk expressions now compile more quickly and efficiently than before.
- Fixed a problem with playing very large AIFF files.
- Made it so that when Kyma automatically opens a window, the title bar is always visible.
- Fixed a problem with diactricals in file names on Windows.
- Made it so that removing a layout in the VCS does not accidentally remove any layouts added manually with the VCS editor.
- Modified the expression library file parser so that it knows how to deal with files created in Windows.
- Level Sound now has an Interpolation option. (This is especially useful for sample-by-sample smoothing of Constants containing CapyTalk expressions).
- Timeline Audio menu now offers an option to do interpolated panning. (Older Timelines default to no interpolation).
- Fixed a problem (introduced in X.08) in Sound Editor. Dragging from a parameter field into the signal flow area was giving an error message (now fixed).
- Worked around a change introduced by Apple in Mac OS 10.3.4 that caused key modifiers (like the Option key) to get "stuck". No longer a problem.
- In Timeline function editor, the Loop transform button no longer gives an error when you change the Source to Live control
- Made it so that recordings will be stored in the proper folder rather than always being stored in the Disk Tracks folder.
- Made it so that large subdivisions of the beat in the timeline will display a reasonable number of tick marks (and not crash).
- Changed Sound editor to have a larger range for adjusting the size of the parameter area. Also, made it so that double-clicking in an empty parameter area will expand/contract the parameter area.
- Changed DiskCache prototype to have a SetDuration by default.
- Corrected timeline so that it will not incorrectly ask a second time to save changes.
- Corrected Expand from the File menu so that it will correctly expand the Script prototype.
- Corrected time index of Morph(stereo) prototype to have the interpolation check box selected.
- Corrected on-line help for MemoryWriter.
- Added a workaround for a bug introduced by Apple into Macintosh OS-X OpenGL (10.3.4) for older G4 computers.
- Corrected FrequencyTracker to remove a small error in its frequency measurement. This should improve the quality of the PitchShifter and the TimeFrequencyScaler.
- Corrected the approximate complexity measurement (displayed in Describe Sound in the Info menu) to account for Sounds pasted into parameter fields.
- Modified the Sound Browser to make all file types visible (unfiltered) by default.
- Fixed spelling error in MIDIFileEcho class description.
- Fixed AmplitudeFollower so that it will work properly when
TimeConstant is hot and larger than 0.1 seconds.
- Made DiskRecorder and DiskCache place their recordings into the Disk Tracks folder if just a file name (and not a full path) is specified.
- The DSP Status window now displays RECORDING when audio is being recorded to disk.
- Fixed two FFT prototypes that were using
private instead of Private for their recordings.
- Fixed the AnalogSequencer to remove a rest that, under certain circumstances, was being accidentally added.
- Fixed a longstanding bug where you could lose the edits to a Sound if you dragged and dropped another Sound onto a line leading to the Sound being edited.
- Modified SetDuration so that it will not try to play the Sound if the
Duration is zero or negative.
- Changed timeline so that you can use an uppercase "P" in the marker name and Sound name fields.
- Modified KeyMappedMultisample online help to more accurately reflect the behavior of the Frequency, LoFreq and HiFreq parameters.
- Modified the DSP Status window to display only as many audio inputs and outputs as the Capybara actually has.
- Changed the Windows keyboard mapping so that Alt+Ctrl is distinguished from Ctrl without Alt. (Making it possible to use the Alt Gr key on German keyboards in Kyma.)
- The Capybara audio i/o is now resynchronized automatically upon loading a Sound after the Capybara has been operated out of realtime.
- Fixed multiple monitors on the Macintosh so that Kyma will open windows on the second monitor even if that second monitor is to the left or above the main (menu bar) monitor.
- You can now zoom in/out on text fields (using Ctrl+[ and Ctrl+]).
- Sounds with long names pasted into parameter fields now abbreviate their names to fit into the field.
- Fixed the Capybara-LS code so that the digital i/o works again.
- Fixed the file search on the Macintosh so that it will match by file extension when the file type is missing.
- Changed error message "referent inaccessible" to the more informative "file in use by another application".
- Fixed File Archivist Tool so that it does not give an error when saving a timeline that has caches.
- Fixed FrequencyScaler so that it no longer gives a warning about having multiple outputs when it is dragged into a timeline.
- Fixed MIDI voice allocation in the case of when multiple WaitUntil modules have MIDI key based resume conditions.
- Corrected a typo that prevented Kyma from working when using the PCMCIA interface on Mac OS 9.
- Changed the Windows keyboard mapping so that Alt+Ctrl is distinguished from Ctrl without Alt. (making it possible to use the Alt Gr key on German keyboards in Kyma.)
- Fixed MultiFileDiskPlayer to work correctly when the Index is an expression that includes random numbers.
- Fixed timeline caching to make sure that a newly created cache is saved when playing only a subset of the timeline.
- Reduced the amount of CPU time Kyma uses when it is idle.
- Fixed parameter fields that take lists of values so that they can accept drag & drop of expressions that are single values (and not an array of values).
- Made it so that a PCMCIA interface can always be found on Windows 98SE or Windows ME.
- Repositioned splash page so that it displays properly on small monitors.
- Fixed timeline caching to make sure that a newly created cache is saved when playing only a subset of the timeline.
- Made it so that the timeline will stop playing at the end of the selected subset, if you are playing a subset of the timeline.
- Improved
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.
- Fixed bug in expression compiler that would give an error if a hot value was scaled by a number larger than about 8,000,000.
- Added message to SampleCloud to warn that it requires a monophonic (single channel) sample file in order to work properly.
- Fixed parameter fields that take lists of values with units (like the IdealTimePoints field of the WarpedTimeIndex Sound); they were broken in 6.01.
- Under certain circumstances, the VCS was not saving changes made to the layout.
- Dramatically sped up oscilloscope and spectrum analyzer displays.
- Timeline was displaying the time cursor even though a different Sound was playing.
- Windows versions of Kyma now ask for the external editor application when the Preferences are set to use an external editor.
- Added a note about enclosing expressions in curly braces (
{} ) in the fly-by help for all array parameter fields.
- Improved the error feedback provided for array parameter fields with expressions in them.
- Improved the error feedback provided when two frequencies or two times are multiplied together.
- The MotorMix now says Welcome to Kyma X on start up.
© 2003-2014 by the contributing authors. / You are TWikiGuest
|