Adding swing to your project¶

Swing, also known as shuffle or groove, refers to stretching and shortening alternating notes of a rhythm. It’s often used to add a more relaxed feel to a song.

This recipe will focus on adding swing to 16th notes, using the default 4/4 time and 16th note grid in SunVox. We’ll cover two ways to add swing, and list the benefits and drawbacks of each method.

Common principles¶ PPQN: Parts per quarter note¶ By default, lines in SunVox represent 16th notes. Also by default, each line is divided into six ticks. This means each quarter note is divided into 24 ticks, or 24 PPQN (parts per quarter note). 24 PPQN is the default in SunVox for historical and practical reasons. However, this gives you a limited range of swing amounts. For adding more subtle swing to your project, 96 PPQN is useful. Thankfully, SunVox supports this by changing the BPM and TPL in project properties. One way of doing this, while keeping 16th note lines in your patterns, is to multiply both BPM and TPL in your project properties by 4. The example project used here has an actual BPM of 80, so the project’s BPM is set to 320 and the TPL is set to 12. Swing percentages¶ Swing is often referred to as a percentage between 50% and 75%. If an 8th note of time in a track represents 100%, the swing percentage is the amount of time the first 16th note will occupy. The second 16th note is then triggered and occupies the remainder. Without adding any swing, your swing is at 50%. This means that both 16th notes are the same length: 11111111112222222222333333333344444444 012345678901234567890123456789012345678901234567 <-- tick ( 96 PPQN ) +-----------------------><-----------------------+ |<- 50 %------------------><- 50 %------------------>| <-- 8 th note divided into |<- 24 ticks -------------><- 24 ticks ------------->| equal 16 th notes +-----------------------><-----------------------+ \ __________ / \ __________ / \ __________ / \ __________ / <-- 32 nd notes 0. ...................... 1. ...................... <-- line ( 16 th note ) If we have a swing of 75%, what effectively happens is that the first 16th note becomes dotted (which means it takes up 1.5 times the space of a 16th note) and the second becomes a 32nd note: 11111111112222222222333333333344444444 012345678901234567890123456789012345678901234567 +-----------------------------------><-----------+ |<- 75 %------------------------------><- 25 %------>| |<- 36 ticks -------------------------><- 12 ticks ->| +-----------------------------------><-----------+ \ __________ / \ __________ / \ __________ / \ __________ / 0. ...................... 1. ...................... This creates a very extreme swing, so typically something in between is used, such as 62.5%, sometimes shown as “62%” on hardware sequencers: 11111111112222222222333333333344444444 012345678901234567890123456789012345678901234567 +-----------------------------><-----------------+ |<- 62.5 %----------------------><- 37.5 %---------->| |<- 30 ticks -------------------><- 18 ticks ------->| +-----------------------------><-----------------+ \ __________ / \ __________ / \ __________ / \ __________ / 0. ...................... 1. ...................... Now that you have knowledge of how swing works musically, you can explore these methods for adding swing to your SunVox projects.

Example project without swing¶ As a point of comparison, here is what our example project sounds like before adding any swing. In other words, its swing value is 50%. Download Audio for No Swing Applied Download No Swing Applied Modules¶ We have a basic setup involving a FM synth passed through a couple of filters, one of which has a line-based LFO running. We also have a drum synth that’s providing a kick, snare, and hihat. FM pattern¶ | NN VV MM CC EE XXYY 00 | G4 02 01 | B3 02 02 | a3 02 03 | // 04 | a3 02 05 | // 06 | a3 02 07 | // 08 | a3 02 09 | // 10 | a3 02 11 | // 12 | a3 02 13 | a3 02 14 | a3 02 15 | // 16 | G4 02 17 | B3 02 18 | a3 02 19 | // 20 | a3 02 21 | // 22 | a3 02 23 | // 24 | G3 02 25 | // 26 | a3 02 27 | // 28 | a3 02 29 | G3 02 30 | f3 02 31 | // 32 | G4 02 33 | B3 02 34 | a3 02 35 | // 36 | a3 02 37 | // 38 | a3 02 39 | // 40 | a3 02 41 | // 42 | a3 02 43 | // 44 | a3 02 45 | a3 02 46 | a3 02 47 | // 48 | G4 02 49 | B3 02 50 | a3 02 51 | // 52 | a3 02 53 | // 54 | a3 02 55 | // 56 | G3 02 57 | // 58 | a3 02 59 | // 60 | a3 02 61 | G3 02 62 | f3 02 63 | // LFO initialization pattern¶ | NN VV MM CC EE XXYY 00 | .. 03 10 00 01 | .. 02 | .. 03 | .. 04 | .. 05 | .. 06 | .. 07 | .. 08 | .. 09 | .. 10 | .. 11 | .. 12 | .. 13 | .. 14 | .. 15 | .. 16 | .. 17 | .. 18 | .. 19 | .. 20 | .. 21 | .. 22 | .. 23 | .. 24 | .. 25 | .. 26 | .. 27 | .. 28 | .. 29 | .. 30 | .. 31 | .. DrumSynth pattern¶ | NN VV MM CC EE XXYY | NN VV MM CC EE XXYY | NN VV MM CC EE XXYY 00 | D2 01 | f2 01 | G6 01 01 | // | f2 01 | // 02 | // | E5 01 | // 03 | // | f2 01 | // 04 | D2 01 | f2 01 | G6 01 05 | // | f2 01 | // 06 | // | E5 01 | // 07 | // | f2 01 | // 08 | D2 01 | f2 01 | G6 01 09 | // | f2 01 | // 10 | // | E5 01 | // 11 | // | f2 01 | // 12 | D2 01 | f2 01 | G6 01 13 | // | f2 01 | G6 01 14 | // | f2 01 | G6 01 15 | // | E5 01 | // 16 | D2 01 | f2 01 | G6 01 17 | // | f2 01 | // 18 | // | E5 01 | // 19 | // | f2 01 | // 20 | D2 01 | f2 01 | G6 01 21 | // | f2 01 | // 22 | // | E5 01 | // 23 | // | f2 01 | // 24 | D2 01 | f2 01 | G6 01 25 | // | f2 01 | // 26 | // | E5 01 | // 27 | // | f2 01 | // 28 | D2 01 | f2 01 | G6 01 29 | // | f2 01 | G5 01 30 | // | f2 01 | // 31 | D2 01 | E5 01 | // 32 | D2 01 | f2 01 | G6 01 33 | // | f2 01 | // 34 | // | E5 01 | // 35 | // | f2 01 | // 36 | D2 01 | f2 01 | G6 01 37 | // | f2 01 | // 38 | // | E5 01 | // 39 | // | f2 01 | // 40 | D2 01 | f2 01 | G6 01 41 | // | f2 01 | // 42 | // | E5 01 | // 43 | // | f2 01 | // 44 | D2 01 | f2 01 | G6 01 45 | // | f2 01 | G6 01 46 | // | f2 01 | G6 01 47 | // | E5 01 | // 48 | D2 01 | f2 01 | G6 01 49 | // | f2 01 | // 50 | // | E5 01 | // 51 | // | f2 01 | // 52 | D2 01 | f2 01 | G6 01 53 | // | f2 01 | // 54 | // | E5 01 | // 55 | // | f2 01 | // 56 | D2 01 | E5 01 | G6 01 57 | // | f2 01 | // 58 | // | f2 01 | // 59 | // | E5 01 | // 60 | D2 01 | f2 01 | G5 01 61 | D2 01 | f2 01 | // 62 | D2 01 | E5 01 | // 63 | // | f2 01 | //

Method 1: Global swing by setting TPL¶ This method works by alternating the number of ticks each line takes. The first line sets it to the longer value, and the second line sets it to the shorter. It will affect all notes in all patterns globally, and you will also see the swing visually during playback. Applying the method¶ Find the “1st note ticks” and “2nd note ticks” that match your PPQN and desired swing amount. (See Tables) Create a new pattern that alternates between the two values using the 0F: Set playing speed [TBW] note effect. Clone the pattern as many times as needed to reach the end of your song (or the end of the section where you want swing). Here’s what it looks like to apply 56% swing: | NN VV MM CC EE XXYY 00 | .. 00 0 F 001 B 01 | .. 00 0 F 0015 02 | .. 00 0 F 001 B 03 | .. 00 0 F 0015 04 | .. 00 0 F 001 B 05 | .. 00 0 F 0015 06 | .. 00 0 F 001 B 07 | .. 00 0 F 0015 08 | .. 00 0 F 001 B 09 | .. 00 0 F 0015 10 | .. 00 0 F 001 B 11 | .. 00 0 F 0015 12 | .. 00 0 F 001 B 13 | .. 00 0 F 0015 14 | .. 00 0 F 001 B 15 | .. 00 0 F 0015 16 | .. 00 0 F 001 B 17 | .. 00 0 F 0015 18 | .. 00 0 F 001 B 19 | .. 00 0 F 0015 20 | .. 00 0 F 001 B 21 | .. 00 0 F 0015 22 | .. 00 0 F 001 B 23 | .. 00 0 F 0015 24 | .. 00 0 F 001 B 25 | .. 00 0 F 0015 26 | .. 00 0 F 001 B 27 | .. 00 0 F 0015 28 | .. 00 0 F 001 B 29 | .. 00 0 F 0015 30 | .. 00 0 F 001 B 31 | .. 00 0 F 0015 Here’s what it sounds like: Download Audio for Method 1, 96 PPQN, 56% swing Download Method 1, 96 PPQN, 56% swing Notice how the filter’s LFO no longer aligns the same way as before. This is one of the side-effects of this method and is discussed in the list of drawbacks below. Advantages¶ Requires only a single track to apply swing to all notes.

Swing across entire project can be adjusted quickly.

All note effects may be used. Drawbacks¶ All tracks must follow the same swing amount. Track-specific swing, as described below, can allow for this. Mixing the two techniques is left as an exercise for the reader.

Maximum swing value is 64% when using 96 PPQN, as TPL cannot be set past 31.

If you have any LFOs set to use “line”, “line/2”, or “line/3” as a frequency unit, they will be affected by the shifting TPL. You may hear audible clicks as a result. Use a different frequency unit, or try track-specific swing instead. Affected modules: Delay [TBW] , Echo [TBW] , Filter [TBW] , Filter Pro [TBW] , Flanger [TBW] , LFO [TBW] , Vibrato [TBW] .

Method 2: Track-specific swing by delaying notes¶ This method works by alternating the number of ticks each line takes. The first line sets it to the longer value, and the second line sets it to the shorter. It will affect all notes in all patterns globally, and you will also see the swing visually during playback. Applying the method¶ Find the “2nd note delay” that matches your PPQN and desired swing amount. (See Tables) Delay every second line in the sequence of notes you want to swing using the 1D: Delay start during line [TBW] note effect. Here’s what it looks like to apply 56% swing to our FM bassline, 52% to our kick drum, 62% to our hihats, and 75% to our snare: | NN VV MM CC EE XXYY 00 | g4 02 01 | B3 02 00 1 D 0003 02 | a3 02 03 | // 00 1 D 0003 04 | a3 02 05 | // 00 1 D 0003 06 | a3 02 07 | // 00 1 D 0003 08 | a3 02 09 | // 00 1 D 0003 10 | a3 02 11 | // 00 1 D 0003 12 | a3 02 13 | a3 02 00 1 D 0003 14 | a3 02 15 | // 00 1 D 0003 16 | G4 02 17 | B3 02 00 1 D 0003 18 | a3 02 19 | // 00 1 D 0003 20 | a3 02 21 | // 00 1 D 0003 22 | a3 02 23 | // 00 1 D 0003 24 | G3 02 25 | // 00 1 D 0003 26 | a3 02 27 | // 00 1 D 0003 28 | a3 02 29 | G3 02 00 1 D 0003 30 | f3 02 31 | // 00 1 D 0003 32 | G4 02 33 | B3 02 00 1 D 0003 34 | a3 02 35 | // 00 1 D 0003 36 | a3 02 37 | // 00 1 D 0003 38 | a3 02 39 | // 00 1 D 0003 40 | a3 02 41 | // 00 1 D 0003 42 | a3 02 43 | // 00 1 D 0003 44 | a3 02 45 | a3 02 00 1 D 0003 46 | a3 02 47 | // 00 1 D 0003 48 | G4 02 49 | B3 02 00 1 D 0003 50 | a3 02 51 | // 00 1 D 0003 52 | a3 02 53 | // 00 1 D 0003 54 | a3 02 55 | // 00 1 D 0003 56 | G3 02 57 | // 00 1 D 0003 58 | a3 02 59 | // 00 1 D 0003 60 | a3 02 61 | G3 02 00 1 D 0003 62 | f3 02 63 | // 00 1 D 0003 | NN VV MM CC EE XXYY | NN VV MM CC EE XXYY | NN VV MM CC EE XXYY 00 | D2 01 | f2 01 | G6 01 01 | // 00 1 D 0001 | f2 01 00 1 D 0006 | // 00 1 D 000 C 02 | // | E5 01 | // 03 | // 00 1 D 0001 | f2 01 00 1 D 0006 | // 00 1 D 000 C 04 | D2 01 | f2 01 | G6 01 05 | // 00 1 D 0001 | f2 01 00 1 D 0006 | // 00 1 D 000 C 06 | // | E5 01 | // 07 | // 00 1 D 0001 | f2 01 00 1 D 0006 | // 00 1 D 000 C 08 | D2 01 | f2 01 | G6 01 09 | // 00 1 D 0001 | f2 01 00 1 D 0006 | // 00 1 D 000 C 10 | // | E5 01 | // 11 | // 00 1 D 0001 | f2 01 00 1 D 0006 | // 00 1 D 000 C 12 | D2 01 | f2 01 | G6 01 13 | // 00 1 D 0001 | f2 01 00 1 D 0006 | G6 01 00 1 D 000 C 14 | // | f2 01 | G6 01 15 | // 00 1 D 0001 | E5 01 00 1 D 0006 | // 00 1 D 000 C 16 | D2 01 | f2 01 | G6 01 17 | // 00 1 D 0001 | f2 01 00 1 D 0006 | // 00 1 D 000 C 18 | // | E5 01 | // 19 | // 00 1 D 0001 | f2 01 00 1 D 0006 | // 00 1 D 000 C 20 | D2 01 | f2 01 | G6 01 21 | // 00 1 D 0001 | f2 01 00 1 D 0006 | // 00 1 D 000 C 22 | // | E5 01 | // 23 | // 00 1 D 0001 | f2 01 00 1 D 0006 | // 00 1 D 000 C 24 | D2 01 | f2 01 | G6 01 25 | // 00 1 D 0001 | f2 01 00 1 D 0006 | // 00 1 D 000 C 26 | // | E5 01 | // 27 | // 00 1 D 0001 | f2 01 00 1 D 0006 | // 00 1 D 000 C 28 | D2 01 | f2 01 | G6 01 29 | // 00 1 D 0001 | f2 01 00 1 D 0006 | G5 01 00 1 D 000 C 30 | // | f2 01 | // 31 | D2 01 00 1 D 0001 | E5 01 00 1 D 0006 | // 00 1 D 000 C 32 | D2 01 | f2 01 | G6 01 33 | // 00 1 D 0001 | f2 01 00 1 D 0006 | // 00 1 D 000 C 34 | // | E5 01 | // 35 | // 00 1 D 0001 | f2 01 00 1 D 0006 | // 00 1 D 000 C 36 | D2 01 | f2 01 | G6 01 37 | // 00 1 D 0001 | f2 01 00 1 D 0006 | // 00 1 D 000 C 38 | // | E5 01 | // 39 | // 00 1 D 0001 | f2 01 00 1 D 0006 | // 00 1 D 000 C 40 | D2 01 | f2 01 | G6 01 41 | // 00 1 D 0001 | f2 01 00 1 D 0006 | // 00 1 D 000 C 42 | // | E5 01 | // 43 | // 00 1 D 0001 | f2 01 00 1 D 0006 | // 00 1 D 000 C 44 | D2 01 | f2 01 | G6 01 45 | // 00 1 D 0001 | f2 01 00 1 D 0006 | G6 01 00 1 D 000 C 46 | // | f2 01 | G6 01 47 | // 00 1 D 0001 | E5 01 00 1 D 0006 | // 00 1 D 000 C 48 | D2 01 | f2 01 | G6 01 49 | // 00 1 D 0001 | f2 01 00 1 D 0006 | // 00 1 D 000 C 50 | // | E5 01 | // 51 | // 00 1 D 0001 | f2 01 00 1 D 0006 | // 00 1 D 000 C 52 | D2 01 | f2 01 | G6 01 53 | // 00 1 D 0001 | f2 01 00 1 D 0006 | // 00 1 D 000 C 54 | // | E5 01 | // 55 | // 00 1 D 0001 | f2 01 00 1 D 0006 | // 00 1 D 000 C 56 | D2 01 | E5 01 | G6 01 57 | // 00 1 D 0001 | f2 01 00 1 D 0006 | // 00 1 D 000 C 58 | // | f2 01 | // 59 | // 00 1 D 0001 | E5 01 00 1 D 0006 | // 00 1 D 000 C 60 | D2 01 | f2 01 | G5 01 61 | D2 01 00 1 D 0001 | f2 01 00 1 D 0006 | // 00 1 D 000 C 62 | D2 01 | E5 01 | // 63 | // 00 1 D 0001 | f2 01 00 1 D 0006 | // 00 1 D 000 C Here’s what it sounds like: Download Audio for Method 2, 96 PPQN, variable swing Download Method 2, 96 PPQN, variable swing This example may be a bit overdone, but it shows how you can use different swing values simultaneously. The filter’s LFO aligns the same way as without swing, because we are not changing the size of lines. Advantages¶ Simpler way to have different swing amounts for different tracks.

LFOs using “line”, “line/2”, or “line/3” as a frquency unit will not be affected as the TPL will stay fixed. Drawbacks¶ Must place note effects in an adjacent track.

More difficult to change swing values once set.

Some note effects may not be used: 20-23 (random notes and controller values), 40-5f (delay event for line fraction).

Tables¶ Here is a table of swing percentage values. It’ll be useful for the techniques explained below. Each value shows the number of ticks each 16th note will take, and the number of ticks the second 16th note will need to be delayed. If you’re using a TPL other than 6, 12, or 24, I applaud you for your creativity! You’ll have to calculate swing and BPM on your own, but the same methods described above will still apply. 24 PPQN¶ Keep TPL at 6. % 1st note ticks 2nd note ticks 2nd note delay 50 6 6 0 58 7 5 1 66 8 4 2 75 9 3 3 48 PPQN¶ Set TPL to 12, multiply project BPM by 2. % 1st note ticks 2nd note ticks 2nd note delay 50 12 (c) 12 (c) 0 (0) 54 13 (d) 11 (b) 2 (2) 58 14 (e) 10 (a) 4 (4) 62 15 (f) 9 (9) 6 (6) 66 16 (10) 8 (8) 8 (8) 70 17 (11) 7 (7) 10 (a) 75 18 (12) 6 (6) 12 (c) 96 PPQN¶ Set TPL to 24, multiply project BPM by 4. Note Maximum TPL is 31, so 64% swing is highest available using Method 1: Global swing by setting TPL. % 1st note ticks 2nd note ticks 2nd note delay 50 24 (18) 24 (18) 0 (0) 52 25 (19) 23 (17) 1 (1) 54 26 (1a) 22 (16) 2 (2) 56 27 (1b) 21 (15) 3 (3) 58 28 (1c) 20 (14) 4 (4) 60 29 (1d) 19 (13) 5 (5) 62 30 (1e) 18 (12) 6 (6) 64 31 (1f) 17 (11) 7 (7) 66 8 (8) 68 9 (9) 70 10 (a) 72 11 (b) 75 12 (c)