See also: Composing Music

A note block project is a project that utilizes the MIDI notes to create music made by the user or recreating music by someone else. Note block projects utilize the "Play Note () for () Beats block", the "Rest for () Beats block", broadcasts, and the "Play Drum () for () Beats block".

Note Blocks

Main article: Play Note () for () Beats (block)
The piano drop-down.

The "Play Note () for () Beats" block, also known as the note block, is a block that plays MIDI notes based on the inputted value for a set length of time. When put together, they can create pieces of music. The length of the time a beat takes is dependent on the BPM(Beats Per Minute), which can be altered using the Set Tempo to () bpm block. The values can be set to anything, though a drop-down of notes from the piano (ID 48 - 72) is shown allowing for easier use.

Main Script

First, set the tempo to a good speed (what defines a "good" speed is up to the creator's discretion).

when gf clicked
set tempo to (120)

Remember that the value can be altered based on the project's particular needs. The "BPM" is the beats per minute, which means altering this will change the speed of the song. If the tempo of the song is unknown, one must experiment until one gets a speed that one wants (that also matches the time signature, more on that later).

Afterwards, set the volume to a wanted level. 100% is the default, but it can be changed.

when gf clicked
set tempo to (120)
set volume to (100)%

Experiment until a good volume is found (again, definition of "good" is left to the creator), by testing note block scripts to see how they sound. After a satisfactory volume has been found, move onto the next step.

Next, create the wanted measures. The majority of the time, all measures in the song will be played using one single script.

when gf clicked
set tempo to (120)
set volume to (100)%
broadcast (measure 1 v) and wait
broadcast (measure 2 v) and wait
broadcast (measure 3 v) and wait

The above will play the entire project. The same broadcast can also be used multiple times at different points in the song, if a specific measure needs to be repeated later on.

Making Measures

Note Note: Some previous knowledge of music theory may be needed for this part!

This part is arguably the most fun part of making a note block project; the music itself. Choose a wanted time signature, or read the sheet music of the song being transcribed. When making a measure, make sure all the beats used add up to the amounts of beats in a measure. For this example, we'll be using 4/4 time, meaning that there are four beats in a measure, and the quarter note gets one beat. Here's one measure of a song:

when I receive [measure 1 v]
play note (64) for (1) beats
play note (64) for (1) beats
play note (65) for (1) beats
play note (67) for (1) beats

Inside the song, all beats add up to 4 beats. However, in this example:

when I receive [measure 1 v]
play note (64) for (1.5) beats
play note (64) for (2) beats
play note (65) for (0.75) beats
play note (67) for (14) beats

...The beats do not add up properly, instead adding up to 18.25. That will mess up the timing of the song, as the main script will have to wait until that's done for the rest of the song to continue. Make sure the beats add up to the time signature.

Remember, any amount of notes can overlap, but only one set of notes can play per measure. Make multiple scripts receive the same broadcast to add more notes onto the project.

Note Warning: The more different rhythms being played at once, and the less frequently the song is split with broadcasts, the more off-time the project may get over time, so be careful!

Fixing the Timing

Many note block projects have an issue with notes being off-time due to the way the Scratch program runs. In order to make sure the note block project plays at the optimal accuracy, make sure that only one loop is running in the project at once. Without any loops, it may get off-time, and with more than one rhythm playing at once, it'll start to lag, and play off-time. Also, using turbo speed may help with the issue.

Cookies help us deliver our services. By using our services, you agree to our use of cookies.