Scale Maker - Bitwig Piano Roll Extension
Tutorial | Jan 31, 2025
In this video, I'm introducing Scale Maker, a script designed to help improve your experience in the piano roll by allowing you to fit notes to a chosen scale and even prevent wrong notes from being painted. I also discuss the integration with Melody Maker, enhancements made to the scripts, and how to install them via GitHub, despite some users experiencing issues with Windows Defender. Let me know your thoughts in the comments, and feel free to download and try it out for free.
You can watch the Video on Youtube
- support me on Patreon
- Scale Maker on GitHub - (download raw button top right)
- read about Melody Maker
Summary #
Maybe you don't watch the video, here are some important takeaways:
Hey everyone, welcome back to my channel. In this video, I introduce you to Scale Maker, a new script I've developed to assist with music composition in the piano roll of Bitwig Studio. This follows my previous project, Melody Maker, which aimed to enhance the piano roll experience.
Scale Maker is designed to help you fit notes to a specific scale effortlessly. I'll walk you through how it works. First, you create an empty note clip in Bitwig Studio and add some random notes. Once you've selected these notes, you can use the Scale Maker script to align them to a specific scale, such as D sharp minor. This tool corrects all notes to match the desired scale, making it useful for various musical tasks, including managing multiple chord progressions.
A notable feature of Scale Maker is the continuous mode. When enabled, it prevents you from adding incorrect notes. If you attempt to input a note that's not in the scale, Scale Maker automatically corrects it to the nearest appropriate note, ensuring you always remain within the correct scale.
You can also easily create chord progressions. By copying and arranging the chords, all notes are adjusted to fit the scale as soon as you release the mouse. Using the arrow keys, you can quickly navigate through notes while maintaining the scale integrity.
Scale Maker intelligently manages note movements; for instance, if a note exists at a target position, it adjusts direction to maintain harmony without removing notes unnecessarily. This built-in smartness enhances the overall experience.
Responding to viewer feedback, I've incorporated a feature where you can automatically paint all scale notes into the piano roll. This utilizes velocity zero and mutes them so that when you enable the 'fold' option, only the relevant scale notes appear. While I think the continuous mode makes this unnecessary, I included it for those who prefer this workflow.
The scope of Scale Maker is initially eight bars to avoid potential performance issues since processing occurs with each key interaction. I may expand this in the future after further testing for efficiency.
I encourage users to suggest new features or improvements. To share more with the community, I've uploaded Scale Maker to GitHub for free download and customization. Unfortunately, some users faced issues with Windows Defender flagging the scripts as threats, despite them being harmless JavaScript files. I recommend adjusting Defender's settings if you encounter similar problems.
To install the scripts, access Bitwig's settings and designate the script directory. Once placed there, enable them under the 'controllers' tab, and you should see them appear in your interface.
You can combine Scale Maker with Melody Maker to dynamically create and adjust melodies in various scales. I've also made some updates to Melody Maker, like adding clip types, bars for melody length, and new scales. These enhancements and future additions aim to streamline music production processes for the community.
I appreciate your ongoing support and feedback. Please try out the scripts from my GitHub page, linked in the description, and let me know your thoughts or any issues in the comments. Don't forget to like, subscribe, and share your ideas for future features or videos. Thanks for watching, and I’ll see you in the next one!
Transcription #
This is what im talking about in this video. The text is transcribed by AI, 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.
[00:00:00] Hey folks, welcome back to another video. So two days ago, I showed you Melody Maker,
[00:00:05] kind of my, yeah, mission to make the piano roll a bit better. Today, I want to show you Scale Maker,
[00:00:12] another script that hopefully helps you in the piano roll. And I guess a lot of people will
[00:00:19] be happy about this, how it works. So here, we have Bitwig Studio. And I create just here a note clip,
[00:00:28] empty one. We go into the note clip, and we can now start to paint in some notes.
[00:00:35] In some random stuff. Just this one here.
[00:00:41] Something like this. And then you select these notes and you go to my Scale Maker script here,
[00:00:52] and you can say, I want to have minor and D sharp. Then you can say fit to scale. And then correct
[00:01:00] all the notes to the right, yeah, scale notes, right? It moves all the notes to the right positions.
[00:01:07] So that's that's the idea behind it. It also works, of course, here with multiple chord
[00:01:14] progressions or anything like this. Let's do it. This select everything, say, fit the scale, right?
[00:01:24] Then you have all the notes that are not fitting to the scale are corrected. So this is the idea
[00:01:30] behind it. I also made in continuous mode. At the moment here, it's off, but you can switch this
[00:01:39] on. So with this, you can't actually paint wrong notes. It's not it's not possible. So when I want
[00:01:47] to paint the note you on C, you can see it's immediately corrected to the next possible note.
[00:01:53] Right?
[00:02:02] We are always always in scale. You also can do something like chord progressions here,
[00:02:11] something like this, we make kind of a chord. Then you just copy this over here, pull it down,
[00:02:19] maybe here. You can see when I release basically my mouse, then all the notes are corrected to the
[00:02:28] scale. Put it here.
[00:02:34] You can also skip up here one step the arrow keys, and you can see I'm I want to go here to C,
[00:02:46] but it's not possible. As soon as I hit up on the key, it skips this note and goes to C sharp.
[00:02:52] So with this, you can be super fast and you're always inside of the right scale.
[00:03:06] We can't paint in wrong notes. You can change the
[00:03:10] mode and the key anytime. And yeah, you can switch this on or off here if you don't want to have this.
[00:03:19] The scope of this is eight bars. So from here to here, I can make it bigger. But for now,
[00:03:26] I just leave it at eight bars. I don't know how performant or if I run into performance issues
[00:03:31] with this, because every time you touch basically your key, I do processing on it. Also selecting,
[00:03:39] it runs through my whole script. So I'm not I'm not sure I'm not familiar how performant this is.
[00:03:48] Maybe I can extend this then later on when it's safe. But for now, I just leave it here for eight
[00:03:54] bars. I think it's enough to create chord progressions or melodies. That's completely fine.
[00:03:59] That's that. So it kind of works with arrow keys. You can, you know, use also multiple
[00:04:07] and see it's always corrected. Then I also try to be a bit intelligent with the movement. So let's
[00:04:16] say you have major C sharp major, you put it here, and then you have maybe this off. Yeah, let's put
[00:04:27] it off. Maybe you have you have this situation here, right? And you want to correct the notes.
[00:04:33] Usually, if you don't have or if you if you don't do this intelligently, then
[00:04:41] you probably move this here, right? And then you kind of remove one note or delete one note.
[00:04:46] So my idea was to actually check before you move if there's actually a note already there.
[00:04:54] If there's a note, then use this go one up instead of one down. So you can select this here and say
[00:05:02] fit the scale. And then it goes up. And when this one here is up, it doesn't go up, it go down,
[00:05:10] then, right? So C sharp two is going down the scale. So there's kind of a bit of smartness
[00:05:18] in there, right? So it's not like it's just stupidly copying or moving notes around.
[00:05:23] That's that. Then someone yesterday asked under my last melody maker video if I could make something
[00:05:34] that paints in the notes of the scale. So here with scale maker, we have we have this also,
[00:05:39] we can choose, for instance, see, I don't know, see Dorian. And then you can say right to notes
[00:05:47] deck. And then it paints here a lot of notes. I think with velocity zero, also muted. And you
[00:05:56] can then use fault here in the piano roll. And then you have only the notes from the scale.
[00:06:03] So in my opinion, it's not needed anymore, because you have this continuous mode here.
[00:06:08] But if you still like this workflow with a bunch of notes in here and using this fault,
[00:06:13] you can do this too. You can choose all kinds of different modes here. I added a lot of things.
[00:06:19] Yeah, that's basically it. Maybe I add some features in the future, of course, to this one here.
[00:06:26] I also changed a bit the melody maker here. There is now this clip type also in here,
[00:06:32] so you can choose between launcher and arranger, and then write or generate into the launcher or
[00:06:38] arranger. That's different. And I probably also, yeah, I also changed here this how many bars.
[00:06:46] So you can generate now melodies longer than one bar. So you can say this one bar,
[00:06:54] then you can say, make this a bit smaller, say two bars, three bars or four bars. Then it generates
[00:07:08] melodies for you, right? Yeah, longer than one bar. So this also changed from the last video.
[00:07:15] And I probably also add here over the weekend new scales. It's just basic stuff in here,
[00:07:22] but I have already some new ones in here. And I also bring them over to the melody maker
[00:07:28] script so you can use them there too. And here, that's just also the beginning. I probably add
[00:07:34] some more stuff in the future. You guys have probably a lot of ideas. I have also ideas already
[00:07:41] for this stuff. I put this also on GitHub so you can change it or maybe download it. It doesn't
[00:07:47] cost you anything. You can try it out. And yeah, on the last video, people complained that actually
[00:07:54] the Windows Defender had some problems with it and the Defender deleted the file sometimes even.
[00:08:01] So I have no idea what the problem with this is because it's just a text file. It's just the
[00:08:06] JavaScript file. Maybe disable the Windows Defender for JavaScript files or for my downloads.
[00:08:13] I don't know how this works. I have no problems on my PC. I also checked with the online database
[00:08:19] against viruses. So there's nothing in there. If you want to install these scripts here, right?
[00:08:26] Also important, you go to settings and then there's here locations. Under locations, you can see down
[00:08:35] here my controller scripts. There's a directory. That's where you need to put these script files,
[00:08:39] right? Everything for me is in there. So put the script file in there and then go to controllers,
[00:08:47] choose add and then go to polarity. Then you have here the melody maker, scale maker and the
[00:08:54] file name generator. I haven't showed you this here one, but it's also on my GitHub. So yeah,
[00:09:00] so then you can choose here what you want to add and then hit add and then it should show up here
[00:09:05] at the top right. I also look for that I maybe can change here the icons for that. I am not sure
[00:09:12] if this is actually possible. The documentation for the API is not that great. It's actually just
[00:09:19] an automatic generated class description thing. So it's yeah, you have to research what's possible
[00:09:27] in there. You can also combine all these things. So when you have here a melody in what's that
[00:09:35] Ionian C, you can also correct this here with the let's say minor B sharp, B sharp
[00:09:45] arranger to scale. So you can combine the melody generator and also here the scale maker if you
[00:09:55] want to. And I think that's it for me so far. I think I covered everything. So let me know in
[00:10:02] the comments what you think. Downloaders also there to the GitHub. The GitHub page is I can show
[00:10:10] you looks like this. So I link you basically to this or maybe here to my directory. And then
[00:10:20] you go here to the script. And then there's the download button here. This one download raw file.
[00:10:25] That's what you need. And then you put it basically into the controller script folder. That's all you
[00:10:31] need to do. And if you have problems with the defender, like I said, maybe try and disable it.
[00:10:36] I have no idea what triggers it. It's just a normal text file. There's nothing shady in it.
[00:10:42] It's not even possible. I'm not downloading anything or something like this. It's just
[00:10:47] very basic simple JavaScript file. Okay, that's it for this video. Thanks for watching people.
[00:10:53] Leave a like, leave a subscription. See you in the next video. And yeah, let me know in the comments
[00:10:58] that's what you think.