This is just a quick tutorial that I wrote for making a song in Linux.
How to make a song in Seq24
Install and Launch the Applications
Make sure you have the applications we need installed (assuming you built and installed seq24 as described above):
sudo apt-get install qjackctl jackd vkeybd zynaddsubfx hydrogen
Make sure that you set up JACK correctly (HowToJACKConfiguration) for your system, and start up JACK Control.
Launch the following applications (e.g. Alt+F2):
vkeybd can also be launched from the terminal if you want to specify the number of octaves, i.e.
vkeybd --octave 9 &
developers, why is this option only available from the terminal?
(the previous version of this tutorial said to launch the programs hydrogen and zynaddsubfx from the terminal with lots of switches, but doing this resulted in zynaddsubfx not being able to connect to system/pcm out in jaunty. note: seq24 must be run from terminal or alt+f2 window with the above mentioned switch for it work in karmic.)
Now you will have all the applications you need to begin creating music. If you wish to close this terminal window, do so by pressing CTRL+D - do not hit the window's close button, or it will close the terminal, along with all the applications you just launched.
JACKing the Applications Together
Let's make the JACK audio and MIDI connections.
- Open up JACK Control's Connections window by clicking the Connect button.
- On the Audio tab, make sure that Hydrogen and ZynAddSubFX outpus are connected to ALSA PCM's input (was most likely done automatically).
- On the ALSA tab, connect Virtual Keyboard's output to seq24's input.
- Connect seq24's first output to ZynAddSubFX's input.
- Connect seq24's second ouput to Hydrogen's input.
Now close the Connections window, as all of our connections are made and ready to go.
Setting Up Our Instrument Sounds and Settings
Make sure you have a drum kit loaded into Hydrogen, and then you can minimize the window as we will be sequencing everything in seq24.
In ZynAddSubFX, select Instrument > Show Instrument Bank and you will be presented with the Instrument Bank window. From the drop-down menu here, select Bass. Now you will see the different Bass patches. Choose one to use. You can change this at any time, so for purposes of this tutorial, let's just select Bass 1.
In the main ZynAddSubFX window, you should see a spinner for the MIDI channel, currently set to 1. Click the right arrow to set it to 2. Check the Enabled box. Now switch back to the Instrument Bank window, and from the drop-down, choose Strings. Choose one of the patches here that you like, for example, the Strings1 patch sounds decent.
Back in the ZynAddSubFX window, select MIDI channel 3 with the spinner, and check the Enabled box. Flip back over to the Instrument Bank window again. Choose the Rhodes option from the drop-down menu. Select the DX Rhodes 1 patch.
Close the Instrument Bank window, and then you can minimize the ZynAddSubFX main window for now.
Switch over to the main seq24 window, and set your tempo to whatever you want. You can change this later if you want to leave it at the default of 120 beats per minute.
Adding a Drum Loop
Now, let's get started. First, we will make a simple 4-bar drum pattern.
Right-click on the main seq24 window in the first space of the grid, and then click the New option. This should open up a new piano-roll editor type window.
Change the name of this loop from Untitled to Drums1. You can see the new name on the main seq24 grid window. This makes it easy to identify which loop is which.
Now change the length of the sequence to 4 bars by clicking on the sequence length button and selecting 4 from the options.
Depending on your screen size and your way of working, you may wish to change the zoom level to 1:1 so that you can see more bars on the screen at a time. There is a button with a magnifying glass on the toolbar, which gives you the options when you click on it.
Now, change the output bus to the second device, so that this loop will be playing out to Hydrogen. Click on the Output Bus button and select the  seq24 2 option from the list. You can leave the output channel at 1, as by default, Hydrogen listens to all MIDI input channels.
On the left side of this window, you see what looks like a piano keyboard layout. Click the left mouse button on one of the keys and move the mouse up or down until you find the section of the keyboard that starts producing drum sounds. If you are using the defaults and following this tutorial to-the-letter so far, then you should find that the kick drum is on the key labeled 'C2' and other drum sounds sound on the keys above it, up to the unlabeled D#3 key.
You have a couple options here. If you have an idea of the layout you'd like for your first drum beat, you can hold the right mouse button down to change the mouse cursor to a pencil, allowing you to now left-click anywhere in the grid to enter notes. You can enter in your Hydrogen drum triggers this way, as well as for your other tracks (which we will get to shortly), and it is probably the easiest method if you don't have any external MIDI gear. If this is the method you choose, go ahead and enter in a drum pattern. To play back your loop, enable the MIDI playback for this loop (the first of the three MIDI buttons in the bottom-right corner of the window), and then hit the Play button on the main seq24 window. Likewise, to stop it, hit the Stop button. You can enter notes with the mouse as the loop is playing too.
The other option is to enter your drum triggers with the Virtual Keyboard. To do this, you will want to enable the MIDI playback, pass-thru, and record buttons in the Drums1 piano-roll editor window. These three buttons are in the bottom-right corner. Now hit the Play button in the main seq24 window to start the loop playing. In the Virtual Keyboard window, you can click on keys with the mouse, or use your PC keyboard to play it (the default keymap is not very good, so you might want to edit it (HowToVirtualKeyboardKeymapping). The loop will playback notes that you recorded as well as notes that you play, so you can start off by entering your hi-hats and then add in the kick and snare drums, and so on, until you have your loop. Virtual Keyboard is a little hard to use for most people, but this is the same idea that you would use if you had an external MIDI keyboard - the only difference would be that you connect the USB MIDI keyboard or your soundcard's MPU-401 port MIDI output into seq24's MIDI input instead of using Virtual Keyboard (back in the first few steps). If this is the method you choose, go ahead and finish your loop. When you're done, hit the Stop button on the main seq24 window. Be sure to de-select the MIDI pass-thru and record buttons for this loop once you are satisfied with your pattern, and close the piano-roll window.
Adding a Bass Loop
OK, so now you have a drum loop completed. Let's add a bass line to it. Basically, we follow the same procedures as we did to create the drum pattern, with a few differences.
Right-click on the main seq24 window in the second space of the grid, and then click the New option.
Change the name of this loop from Untitled to Bass1 and change the length of the sequence to 4 bars.
Now, the output bus should be set to the first channel of the first device, so that this loop will be playing out to ZynAddSubFX's first MIDI channel, which is what we have the 'Bass 1' patch loaded on.
Enter in your bass line's notes either with the mouse, Virtual Keyboard, or an external device, whichever you choose to use, in the same manner as did for the drums. The advantage here is that you can play along with the drum loop, which is helpful. To toggle playback of the drum loop, left-click on it in the main seq24 window (you don't have to open the piano-roll editor window and toggle the button there, thankfully!). This is handy, so remember it.
Once you have the bass line recorded and edited to your liking, ensure that you disable the MIDI pass-thru and record options, and then close the window.
Adding a Strings Loop
Now that you have drums and bass loops completed, we can begin filling out the rest of the loop with some strings. Again, we follow the same procedures as we did to create the other patterns:
Right-click on the main seq24 window in the third space of the grid, and then click the New option.
Change the name of this loop from Untitled to Strings1 and change the length of the sequence to 4 bars.
Now, the output bus should be set to the second channel of the first device, so that this loop will be playing out to ZynAddSubFX's second MIDI channel, which is what we have the 'Strings1' patch loaded on.
Enter in your strings note data either with the mouse, Virtual Keyboard, or an external device, whichever you choose to use, in the same manner as did for the drums and bass. Remember, you can play along with the drum or bass loops, or both.
Once you have the strings loop recorded and edited to your liking, ensure that you disable the MIDI pass-thru and record options, and then close the window.
Adding a Rhodes Loop
At this point, you will have drums, bass, and strings loops completed, all playing together. We can add the final piece to this loop by recording some Rhodes data. As you guessed, we follow the same procedures as we did to create the other three patterns.
Right-click on the main seq24 window in the fourth space of the grid, and then click the New option.
Change the name of this loop from Untitled to Rhodes1 and change the length of the sequence to 4 bars.
Now, the output bus should be set to the third channel of the first device, so that this loop will be playing out to ZynAddSubFX's third MIDI channel, which is what we have the 'DX Rhodes 1' patch loaded on.
Enter in your Rhodes note data either with the mouse, Virtual Keyboard, or an external device, whichever you choose to use, in the same manner as did for the drums, bass, and strings. Remember, you can play along with any combination of the other three existing loops.
Once you have the final loop recorded and edited to your liking, ensure that you disable the MIDI pass-thru and record options, and then close the window.
Adding Variation - More Loops, Editing, Copying
First, let's touch on some basic editing techniques. You can edit any one of your loops at any time. Simply right-click on it in the main seq24 window, and choose the Edit option. This brings you back to the piano-roll editor window for this loop, where you can perform various editing functions.
Let's say you have a note that is timed badly or the wrong pitch. You can move it up or down (pitch), or left or right (time) by left-clicking and dragging it. You can also use the quantize function, which is found in the tools menu (the button with the hammer icon)(in karmic pushing the Tools button crashes seq24). To delete a selected note, hit the Del key on your keyboard. And finally, if you need to change the length of a note, you can middle-click on it and drag left or right to stretch it (on a laptop with only two touchpad buttons you have to press the left and right buttons at the same time). Also, remember that if you have multiple notes selected, you will modify all of the selected notes.
OK, so we have completed one full loop that sounds nice together, consisting of drums, bass, strings, and Rhodes sounds. One loop is good, but we will want to have more than one 4-bar pattern in a song, right? Otherwise, it would be a boring song.
You can start over from the beginning, and create more loops from scratch for each instrument if you like. That is not the only option though.
You can copy existing loops, and simply modify portions of them to create variations. To do this, right-click on a loop and choose the Copy option. Then right-click in an empty space in the grid and choose the Paste option. Now you have a copy that you can modify to create variations of the pattern easily. If you make a copy of Drums1, be sure to rename it to Drums2 so you can keep track of them easily. It might not seem important now, but in the next part of the tutorial, it will all make sense.
Go ahead and make another set of loops, using whichever method you wish. You can make lots and lots of loops if you want. As you can see, the grid only shows 32 squares. This is one set of loops. You can change the set spinner at the bottom of the main window to change to another set. There are 32 sets of 32 loops, giving you a possible 1024 loops, which should be overkill for anyone but an insane person.
Sequencing the Loops to Create a Song
Alright, so you should have two sets of loops right now, for a total of eight loops. We want to arrange them into a song. This is quite easy to do with seq24.
Click on the button in the bottom right of the main seq24 window. This brings up the Song Editor window.
On the left side of the window, you can see the names of all of your loops. Hold the right mouse button and then left-click in the grid to the right of the Drums1 loop. This adds the 4-bar pattern to the grid. You can click and drag it left or right in the timeline, to position it where you want. I usually leave the first bar empty and start my song on bar 2, just to have a lead-in.
Let's make the Drums1 loop repeat twice. To do this, click near the little square at the bottom right side of the Drums1 pattern in the timeline, and drag it out another 8 bars, so that it is triple the length.
Now repeat this process for the Bass1 loop.
Let's have the Strings1 and Rhodes1 loops kick in during the first repeat of the bass and drums loops. So draw them into the timeline and make sure that they are lined up at the right side, so all the instruments end at the same time. So far we have one bar of silence, 4 bars of bass and drums, then 8 bars of all of our instruments.
Next, we will add the second set of loops. Draw them into the timeline, and line them up so they start at bar 14. Hit the Play button in this window, and you will hear the song play 1 bar of silence, 4 bars of bass and drums, then 8 bars of all of our instruments using the first set of loops, and then 8 bars of the second set of loops.
You can carry on from here. Use your imagination. You should have a really good understanding of the basics of seq24 and how to compose complex songs with it. For a more detailed and in-depth understanding, check out the other tutorials that have been written, as well as the documentation provided on the seq24 website.