Turning a single cycle of a recorded sample into a wavetable for Kyma oscillators.
When composing music with samples, it’s worthwhile to explore all of the musical opportunities in that sample–reversing it, timestretching it, granulating it, etc. Along those same lines, you can take a wavetable fro a sample and use it in your oscillators, so, instead of using the usual sawtooth, square, or sine waves, you create an oscillator that has a timbral connection to the sampled material.
Here, I show how to take take two vowel sounds from a vocal sample–an “ah” and an “oh”–and cycle them in a Kyma oscillator, creating unique timbres that blend with the original sample and its processing.
0:00 Intro / Why? 0:41 Finding a Single Cycle 3:14 Changing Duration to 4096 Samples 4:16 Cycling the Wavetable in an Oscillator 6:33 Making a Different Oscillator Wavetable 9:21 Implementation Example: Chords 11:49 Adding Vibrato 14:08 SampleCloud Plus Chords
In this performance, Python listens to live audio input from the bass, and, based on models trained with the dataset, sends out data to Unity3D and Kyma. Unity3D creates the visuals (the firework), and Kyma processes the audio from the bass.
First, though, the dataset used for training was collected from several pianists in the US and UK. As pianists played, we recorded multiple aspects of their performance: audio, video of their hands, EEG, skeletal data, and galvanic skin response. After playing, pianists listened to their own performance and were asked to record their state of “flow” over the course of the performance. All of these different dimensions of data, then, were associated over time, and so neural networks can be trained on these different dimensions to make associations.
This demonstration uses the trained models from Craig Vear’s Jess+ project to generate X&Y data (from the skeletal data), and “flow”, from the amplitude of the input. These XY coordinates, “flow”, and amplitude are sent out from Python as OSC Data, which is received by both Unity3D (for visuals) and Kyma (for audio).
In Unity, the XY data moves the “firework” around the screen. Flow data affects its color, and amplitude affects its size. Audio in Kyma is a bit more sophisticated, but X position is left/right pan, and the flow data affects the delay, reverb, and live granulation.
As you can see, amplitude to XY mapping is limited, with the firework moving along a kind of diagonal. Possible next steps would be to extract more features of the audio (e.g. pitch, spectral complexity, or delta values), and train with those.
Applying this data trained on pianists to a bass performance (in a different genre) does not have the same goals music-generation AI such as MusicGen or MusicLM. Instead of automatically generating music, the AI becomes a partner in performance. Sometimes unpredictable, but not random, since its behavior is based on rules.
Using the latency from videoconferencing software as a delay for feedback loops, this time with Kyma 7 processing the signal at both ends, creating (noisy) evolving sonic textures.
During the pandemic, conferencing software quickly became a required part of work and education culture.
Of course, this technology’s ability to keep us connected has been and important part of keeping people safe, but we’ve also discovered the quirks of this mode of communication. Being bound to this remote interaction inspires curiosity about its potential for collaborative creativity. Musicians have know for a while about the issues of internet latency in coordinating remote ensembles, but what if, instead of attempting to recreate the conditions of a traditional performance in this new medium, we embraced the “space” created by this conferencing software?
In this performance, the audio signal is sent between the two Kyma systems, creating a feedback loop.
Feedback loops, such as when we put a microphone close to a speaker, emphasize the resonant frequencies—the imperfections—of a system. As we know, the audio of conferencing software is an imperfect connection, with latency, filtering, and audio compression artifacts.
This conferencing-software feedback loop, then, emphasizes these imperfections, bringing out the character of this communication medium as an emergent soundscape.
Building some feedback loops in the digital domain using Symbolic Sound’s Kyma 7.
In audio feedback loops, the output of the system is fed back into an input. We’re probably most familiar with this when we put a microphone in front of a speaker and we get the “howling” sound. Here, though, I’m intentionally building digital feedback loops in order to explore the sonic possibilities of these rather unpredictable systems.
In order to keep my feedback loop interesting, though, I need to keep it from dying away to silence, or blowing up into white noise. By considering the different processes we apply to the audio in the loop (are they adding spectral complexity or removing it?), we can try to make feedback patches that are dynamic and interesting over time.
0:00 The Continuum of Spectral Complexity 3:13 Staring with an Sine Wave in Kyma 4:45 Delay with Feedback 5:49 Building Feedback Loops Manually 8:40 Ring-Modulating the Feedback 11:20 Gain and Saturation 14:22 Exploring the Sound 16:16 Filter Bank 19:05 Jamming with the Patch 22:18 Thinking about Control 23:25 Performing the Sound 26:34 Feedback Loop with Reverb 28:10 Making it into IDM with the Chopper 29:22 So What? Next Steps
Explaining granular synthesis and giving demonstrations with the Kyma GrainCloud and SampleCloud sound objects.
Granular synthesis is a synthesis technique where we can assemble new sounds from very short “grains” of sound. We can do this with wavetables or longer samples, breaking them down into these short grains before reconstituting them back together in unique ways. Because we can change all of these tiny parts that make up our new sounds, there are exciting opportunities for real time control and performance.
Using Kyma 7 to create some generative Sci Fi music inspired by Todd Barton’s “Krell Music” patch on the Buchla Synthesizer.
Once again, I’m back with more ancient music of the Krell. As I mentioned previous weeks, in my regular journeys across the internet, I came across the concept of a “Krell Music” patch–a self-generating patch created by Todd Barton, inspired by Bebe and Louis Barron’s soundtrack to the 1956 film “Forbidden Planet.” The Barrons’ soundtrack to the film is amazing, and a bit beyond what I can get into here (see links below). Barton’s Buchla patch tries to capture some of the dynamic timbres of that score.
My oversimplification of the idea is this: a note has an amplitude envelope–attack and release–and when that amplitude envelope ends it triggers the next envelope. At the same time, that trigger selects a new (likely different) attack and decay time, as well as a new pitch and timbre for the next note. So we create a continuous series of musical tones, each distinct from the one before it.
My students getting started in Kyma often ask me how they can integrate it into music production in their DAW. Now, there are a lot of good reasons to get away from your DAW sometimes, and experiment with different workflows (including those built into Kyma), but let’s set those aside for the moment. With a Dante AVIO USB ($129) and the Dante Virtual Soundcard ($29), you can set up two channels of 48K digital audio in and out of your Paca(rana), enabling you to use it like a plug-in effect with low latency and without any conversion to and from analog.
I demonstrate this in Logic Pro X, but it should work in Pro Tools, Reaper, Ableton, or your other DAW of choice.