Bitwig Scaler Module - Manipulate Phase Signals
Bitwig Guide | Aug 29, 2022
This video thoroughly explains the Scaler module in Bitwig Studio's Grid, demonstrating how it controls and manipulates phase signals to change synchronization speeds, trigger devices, and shape audio creatively. It highlights practical uses such as altering playback speed, creating polyrhythms, wavefolding audio, and deterministic modulation of multiple parameters with one knob. The tutorial also shares useful tricks and encourages viewers to experiment, ask questions, and explore further possibilities with modular approaches in Bitwig.
You can watch the Video on Youtube
- support me on Patreon
Short Overview #
In this video, I dive into the Scaler module in Bitwig Studio’s Grid, explaining how it works, what it’s designed for, and some creative ways to use it. I show how you can change the speed and timing of phase signals to synchronize devices, and demonstrate tips for using Scaler for anything from audio processing to complex parameter modulation. Whether you want to speed up signal ramps, retrigger events, or shape audio in new ways, I cover the key concepts and tricks you need to get the most out of this versatile tool. If you want to learn more about how Scaler can transform your workflow, this guide has you covered.
- Introduction to the Scaler module in Bitwig Studio’s Grid: what it is, where to find it, and core functionality.
- Explanation of phase signals, default settings, and how to ensure input equals output using the right ratio.
- Demonstration of altering phase signal speed using different ratio settings, speeding up and slowing down signals for synchronization.
- Practical example with Gates module, showing how Scaler affects tempo and synchronization of phase-dependent devices.
- Discussion of synchronization challenges, how phase signals can get out of sync, and introduction of the Reset module to retrigger signals accurately.
- Overview of the Scaler’s gate output, showing how it generates triggers based on ramp position, useful for event sequencing and triggering AD envelopes.
- Usage of Scaler for audio signal processing, including as a basic wave folder for creative sound shaping.
- Creative possibilities when using Scaler with transport tempo to create BPM-tied oscillators and phase-driven modulation sources.
- How the Scaler can be used to control and modulate multiple parameters simultaneously for deterministic results and complex sound design.
- Emphasis on experimentation, using Scaler in ways beyond its intended purpose thanks to modularity and flexibility of the Grid.
- Encouragement to leave questions in the comments, subscribe, and support the channel for more Bitwig content.
Introduction to the Scaler Module in Bitvec Studio #
In this video, I dive deep into the Scaler module in the grid of Bitvec Studio, explaining what it does, how you can use it, what parameters it offers, and sharing several creative tricks to get the most out of it. The aim is to give you a complete understanding of this module, even if you are new to the concept of phase scaling and modular workflows.
Locating and Basic Setup #
You’ll find the Scaler module under the "Face" category in Bitvec Studio’s grid, it’s the fifth entry in that section. By default, its ratio is set to 2 to 1. However, this is not a neutral or "transparent" setting. To ensure an unaltered output for an input signal, I set the ratio to 1 to 1. This way, the output matches the input perfectly.
Phase Signals and Synchronization #
The Scaler is primarily designed for manipulating phase signals, which are commonly used in the grid to synchronize devices. To demonstrate, I use a phase input and measure the output via an oscilloscope set to slow mode. You see the phase signal as a ramp that rises and resets, reflecting synchronization across the grid.
What Is a Phase Signal? #
A phase signal in Bitvec Studio is a normalized ramp (typically 0 to 1) that loops in sync with the transport, think of it as a master timeline for keeping modules in step with your project’s tempo and song position.
Comparing Signals and Changing Playback Speed #
To highlight the effect of Scaler, I compare the original phase signal with the scaled output using an attenuate module, not to change the signal, but to color it for easier oscilloscope viewing. With a 1:1 ratio, their waveforms overlap.
Modifying Speed with Ratios #
- Increasing the ratio (e.g., 2:1) doubles the speed of the signal (the ramp cycles twice as fast).
- Reducing the ratio (e.g., 1:2) halves the speed.
This is particularly useful for adjusting how quickly downstream modules, like the Gates module, progress through their cycle in relation to the master phase.
Synchronization Challenges and Solutions #
A key issue surfaces when changing the scale ratio: the scaled and original signals’ start points gradually drift out of alignment. Even when setting the ratio back to 1:1, their phases may not realign, leading to desynchronized playback.
Retriggering and Resetting Phase #
To solve this, I introduce the "Retrigger" or "Reset" module. When wired correctly, it can force phase signals (and thus dependent modules) to start together at the beginning of each bar, beat, or manual trigger. This is essential for clean, predictable synchronization in complex patches.
It’s important to note that resetting the process in Scaler is different from resetting the actual phase, it merely restarts the scaling process, not the phase itself. To properly synchronize, you have to reset the phase using the right modules.
Gate Output Usage #
The Scaler also includes a gate output feature. For the first half of the ramp (phase 0 to 0.5), it outputs a high signal, and for the second half (0.5 to 1), it outputs low. This can be used to trigger envelopes (AD modules) or other events in synchrony with phase cycles.
Creative Uses Beyond Standard Phase Scaling #
Creating Polymeters and Multi-Speed Sequences #
By combining several oscillators with their own phase-scaled signals, it’s possible to have different sound elements progress at unique rates, all still tied to the global tempo. This is especially handy for polyrhythmic or polymetric patches.
Switching out direct AD triggers for gates between Scalar and AD envelopes allows for even more groove and pattern versatility.
Using Scaler on Audio Signals #
Although intended for phase, Scaler can also process audio signals, with some caveats. The phase-in only accepts unipolar (0 to 1) signals, so a conversion is often necessary for typical audio (-1 to +1). The result is reminiscent of wavefolding or wave-shaping, offering a creative way to distort or modulate audio content.
Generating Transport-Linked Tones #
The transport’s BPM can be treated as a frequency base: by multiplying the phase signal, you generate signals at harmonic frequencies tied directly to the project tempo. This allows musical elements or modulation rates to lock perfectly to your song structure.
Macro Modulation Trick #
By chaining Scaler with macro controls and multiple mod outputs, you can deterministically modulate many parameters with a single knob twist. Every value of your main macro will produce a unique, repeatable combination of values across all modulated targets. This is highly useful for morphing sounds or patch states in a musically controllable way.
Conclusion #
The Scaler is a deceptively powerful module. While its main purpose is to scale phase signals for synchronization at different speeds and ratios, it’s highly versatile:
- Acts as a tempo-based frequency source
- Processes audio for wavefolding effects
- Enables deterministic, multi-parameter macro modulation
This makes it invaluable not just for phase manipulation, but for a wide range of creative and practical uses in modular sound design in Bitvec Studio.
Questions and Community #
If you've got any questions, leave a comment, I always try to answer and help the Bitvec and Bitwig community. For more deep dives and creative patching ideas, please consider liking, subscribing, or supporting on Patreon.
Thanks for watching, and stay tuned for the next video.
Full Video Transcription #
This is what im talking about in this video. The text is transcribed by Whisper, so it might not be perfect. If you find any mistakes, please let me know.
You can also click on the timestamps to jump to the right part of the video, which should be helpful.
Click to expand Transcription
[00:00:00] In today's video, it's about the Scaler module of the grid in Bitvec Studio, and I want to explain what you can do with it, what it is, what you can change with it, and how it works, basically.
[00:00:13] So everything you need to know about the Scaler and, of course, some tricks with it.
[00:00:17] So let's start the video.
[00:00:19] OK, you can find the Scaler under the face category here, and it's the fifth entry.
[00:00:30] You can track this in.
[00:00:31] As you can see, the default setting is 2 to 1 as a ratio, which is not that when you use an input signal and measure the output, it's not unchanged, or the signal isn't left unchanged.
[00:00:44] You have to put it at 2, 1 to 1, so now what comes in comes out at the end.
[00:00:51] And you can measure this by using a face in and using an oscilloscope here to just test this, switch to slow, and you can see we have just a regular face signal slowly ramping up and then going back to zero and ramping up again.
[00:01:14] So these signals are usually used inside the grid for synchronizing devices.
[00:01:20] So you can do a lot of stuff with the Scaler, not only to face signals to all kinds of signals, but I want to start with a face signal first because that's what it's made for.
[00:01:30] And that's also why we have pink or, yeah, pink input checks, basically.
[00:01:38] So let's compare these two by using maybe just an attenuate to get here a different color in the oscilloscope.
[00:01:47] It's not to change the signal at all.
[00:01:49] I just want to use this to have a red color here.
[00:01:52] And then we take the original signal here and use it in the second input check just to compare the signals.
[00:01:59] So now you can see it's the same signal.
[00:02:01] They are completely overlapping.
[00:02:04] So now we can change here with the rate, the speed or the playback speed or the frequency of the ramp.
[00:02:09] So maybe go here to two.
[00:02:12] So two, I think, means just having twice the speed.
[00:02:18] So having dialed in your two means it's twice as fast and zero dot three is roughly one-third of the speed.
[00:02:27] So you can speed up or slow down the synchronizing signal.
[00:02:32] That's what it basically does.
[00:02:35] And you have also here a ratio, which means if you dial in two here, you have twice the speed.
[00:02:40] As you can see, the red signal now is much, much faster than the pink one.
[00:02:45] And if you pull this down and make one to two, then you have, yeah, much, much flatter ramp.
[00:02:53] So it's half time, basically, half the speed of the original signal.
[00:02:58] And you can use this for all kinds of things.
[00:03:02] So, for instance, if you have a Gates module, which takes a pink signal, which is a phase signal as an input, and it already gets a phase signal.
[00:03:15] You can see this here with the pre-chord, the phase pre-chord knob.
[00:03:21] And if you disable this, you can see it completely stops playing.
[00:03:25] So it needs a phase signal to synchronize.
[00:03:30] So we can use here the output of the phase in.
[00:03:33] And the phase in basically takes the information or generates a phase signal synchronized to your transport.
[00:03:41] So we have 65 ppm and one cycle of this ramp means one bar, roughly.
[00:03:51] And you can see now it starts playing again here.
[00:03:55] And when this one is finished at the end, it starts back from the first again.
[00:04:00] So what this means is the phase signal synchronizes the Gates module to the transport.
[00:04:14] So when the signal is at zero, we are at the start of the Gates module.
[00:04:19] And when we are at plus one, we are at the end of the Gates module.
[00:04:23] So it synchronizes.
[00:04:25] So when we put a scalar in between here, like this, we now can change the speed, the playback speed of this.
[00:04:36] We can make this twice as fast or three times as fast or four times as fast.
[00:04:41] And when we use here the Gates module again and use the original signal, you can see this one plays four times as fast as this one.
[00:04:52] Okay. So again, divide or multiply or divide the phase signal into ratios and change the playback speed of devices that uses phase signal as input signal versus synchronization signal.
[00:05:12] Pretty easy, actually.
[00:05:17] So what does the problem now?
[00:05:22] The problem is that these signals are restarting at different times.
[00:05:27] As you can see, when this one is at the first step, this is not at the first step.
[00:05:34] It's somewhere in between.
[00:05:36] And if we change the speed and go back to one, then it's even more out of touch.
[00:05:41] And we can also see this by comparing these signals, just using again the original signal and this one.
[00:05:50] And then we change it to speed a bit and go back to one.
[00:05:54] So it's everywhere in between.
[00:05:57] It's still four times the speed, but the starting point is somewhere else.
[00:06:04] It's somewhere, always somewhere else.
[00:06:06] If you basically go back to higher speed and go back to one, it's again somewhere else.
[00:06:12] So we need something to start at the same point or at the start of a beat or of a bar or basically retrigger it.
[00:06:22] And we can do this by not by using the gate input here.
[00:06:30] We have to use another module and it's called, I think, retrigger or reset this one here.
[00:06:38] And this also takes an input as a face signal as an input and gives us a face signal as an output.
[00:06:45] So go back into this and we have also a pre-code, which is a gate.
[00:06:52] Yeah, a gate pre-code. So when we have a MIDI keyboard at our hands or a piano roll, a note on the piano roll, then this one is to trigger every time we press a key or press a note or play a note.
[00:07:06] We can disable this here and use maybe a button or trigger.
[00:07:16] To reset the face, basically. So let's try this. Go with the face in the top one and use this one here.
[00:07:23] Now you can see we can retrigger
[00:07:36] the face. So there's also an input here to reset or the reset logic of the scalar module here, reset in triggers, resets the process, but it doesn't retrigger the face at all.
[00:07:49] So when you use this instead of this, we can see here when you retrigger the scalar itself, it doesn't retrigger
[00:08:02] the face at all. As you can see, it's still
[00:08:05] you can see we basically iterate here at the line of this original face. So we don't reset the face itself, we reset the process. That also was what the description says.
[00:08:22] So this is basically something different than this. Okay.
[00:08:32] On the scalar itself does also here a gate output and we can use this to all kinds of with all kinds of modules to synchronize stuff or trigger certain devices. So when we look at this here in the graph itself, you can see that maybe make this a bit slower here.
[00:08:54] For the first half of the ramp. So starting here at zero to zero dot five, we have a gate signal happening basically a one output and for the rest of the ramp from zero dot five
[00:09:06] to one, we have no or zero output at this gate. So we can use this to, for instance, trigger here in AD
[00:09:22] maybe make this a bit faster again four times.
[00:09:25] So every time basically the ramp resets to zero, we have a trigger signal.
[00:09:31] Which is kind of different to using an AD and using the face signal itself to trigger this AD, which is exactly the opposite.
[00:09:43] This AD only triggers when the signal is one or greater than zero dot five. So basically this AD triggers when the signal is greater than zero dot five, which is the second half of the ramp.
[00:09:59] And this one triggers when the gate signal is one which is output by the scalar when the face signal is smaller than zero dot five. So you can also use this to trigger this
[00:10:12] basically in alteration or alternation. So we can first trigger this and then trigger this just one face cycle.
[00:10:23] So this is the basic concept of the scalar, what it's meant for and how we can use it basically to change the frequency of face signals.
[00:10:36] But there's a lot of stuff you can also do with it. That's not what it's meant for. And that's the great thing about modularity and modular stuff in general or the grid of Bitwig studio that you can misuse a lot of modules for different stuff.
[00:10:51] So maybe we remove all of this here. I just let the scalar on this and maybe explain some simple concepts how we can use the scalar. For instance, if you have a sign
[00:11:05] and you have an AD
[00:11:06] and a mixer.
[00:11:10] And of course, an audio output here.
[00:11:15] And then you have two of these oscillators. Combine these and you want to play these at different speeds. Okay. And that's where the scalar comes in.
[00:11:30] So use a face input here because we want to synchronize our complete thing here to the transport. And yeah, let's trigger here this one.
[00:11:39] And maybe it was the second one and trigger the second one.
[00:11:52] And maybe use a gate in or yeah, let's use a gate in. So every time we press a key on the keyboard, we want to reset the process of the scalar here.
[00:12:04] So this is basically something I can do. It's pretty simple. And you can use the scalar in this case to create pulle meters.
[00:12:34] Or different speeds for triggering an oscillator or a sound source with an envelope. Another option would be to don't trigger the ADs here directly with the scalar, maybe go for gates in between.
[00:12:55] The ADs and the scalar by just using gate modules. You can see they play at different speeds.
[00:13:07] And
[00:13:33] So this is also something that's possible. Now we basically use here the scalars to change the speed of the face signal and the face signal then synchronizes the gates module in different speeds. As you can see, they play all at different speeds.
[00:13:49] And then to trigger with these, the ADs benefit of this is that you can change the patterns of these gates modules, which allows more customization of when something is triggered.
[00:14:10] So you can also misuse the scalar for audio signals. So we have here a sign oscillator playing playing at sound and we now use here an oscilloscope so we can compare these signals. So this is our sign shape here sign wave, which is nice. And then we use a scalar.
[00:14:34] Go with the audio signal into the face input here and then into the oscilloscope. So the first change you can see here is the first difference is that we have an unique
[00:14:47] signal in the range of zero to plus one. So we have to convert the signal into the bipolar range. So let's go to be here and you need to be conversion. And now we have the full range of minus one to plus one. So we can use this output as an audio signal. And this is how it sounds at the moment.
[00:15:11] So a bit like an FM FM modulated sine wave. So maybe go down here with the rate. You can see how the signal changes here.
[00:15:23] So this is probably our original signal just a bit quieter. And when we go further, it looks like a folding process. So the sign is folding itself.
[00:15:38] Okay, it's almost like like a wave shaper. So when we use a wave shaper here, maybe, okay, let's call it wave shaper.
[00:15:52] And we dial this in, you can see the folding process looks almost the same.
[00:16:00] Which is pretty interesting. So you can misuse the scale also as a, as a wave folder.
[00:16:22] Okay, another interesting idea could be to use the transport speed, which is 65 ppm, or maybe go higher here to 120 ppm, which is kind of a frequency. So we can use the face in here.
[00:16:42] We can use the scalar and multiply this face signal multiple times, maybe go to 60 or something like this to get a high frequency out of it. And use this to drive a lookup module, which gets us a sound, maybe use an AD here.
[00:17:10] And then, of course, an odd, maybe 60. And then we use here rate 16 times.
[00:17:31] So this is basically an sound or an audible frequency, which is based on our frequency of the track. So when we change the frequency of the track.
[00:17:44] Also the sound or the note changes. So you can use this to, to, yeah, base your sound or your fundamental note of your chord progression on the bpm on your track, just by use a multiply, multiply number of frequency of your initial bpm of the project.
[00:18:07] This could be something that's interesting. Maybe you also modulate here the speed in your arrangement over time. Then this could be pretty interesting. So you can base everything on this fundamental. You can create chords from it and so on. So this is also something you can do with the scalar.
[00:18:29] So there's also a small trick where you can use the scalar for modulating other knobs or parameters. So for instance, you have a lot of
[00:18:39] volume knobs, just for fun example.
[00:18:44] And you have one value knob, which is your macro on the device itself.
[00:18:56] We modulate justice.
[00:18:57] And you want to change a lot of different values. So
[00:19:02] this is where the scale up comes handy. So go in here into the scalar.
[00:19:10] Then we need a modulator out.
[00:19:15] And then we use multiple of these.
[00:19:21] And go in here.
[00:19:26] And then we modulate all these knobs here.
[00:19:28] Maybe go for one, one, one.
[00:19:38] Okay.
[00:19:42] So now when we turn the knob here and change different settings for the rate.
[00:19:51] You can kind of get some deterministic someone told someone told me that it's called deterministic because every time we are in the same position on the value knob, we get the same outcome with all the
[00:20:06] all the states of the gain knob here.
[00:20:10] Because these modulations are faster because I dialed in at the rate of 20 can see it's much, much faster just with one.
[00:20:21] Turn off this knob, get multiple iterations of this knob here.
[00:20:25] So you can have just one knob and change a lot of different parameters inside your synth or your patch.
[00:20:35] But every time you return to one position, it's exactly the same combination of modulations to all these knobs.
[00:20:45] So you get always the same combination of values here with these knob at the same position, maybe at 50%.
[00:20:54] So you can use this to, yeah, control multiple parameters, get a lot of modulation out of it, also a lot of morphing between different states.
[00:21:04] And you are also deterministic by having the same combination of states with the same position of your initial value.
[00:21:15] I know it sounds complicated, but if you try it out or ask in the comments, then maybe we can go deeper into this.
[00:21:24] But I also made a video about this with the Chappychef, Chappychef modules.
[00:21:30] I put a link in the description about these two.
[00:21:33] This was a pretty long video just about the scalar and I tried to cover everything, including some examples, what you can do with it.
[00:21:43] So we know how the scalar works, what it does and for what you can use it.
[00:21:48] OK, so thanks for watching this video.
[00:21:51] If you have some questions, then please leave it in the comments.
[00:21:54] I don't know everything, but I try to cover as much as possible on this channel about everything related to Bitwig.
[00:22:03] So ask me, ask me questions in the comments and I try to answer them.
[00:22:09] Please leave a like if you liked the video, subscribe to the channel and maybe think about the Patreon subscription, because it helps me a lot.
[00:22:16] Thanks for watching this video and I'll see you in the next one.
[00:22:19] Bye.
[00:22:20] [Music]