Composing in SID Factory II, Part 4 – Instruments

Read more “Composing in SID Factory II, Part 4 – Instruments”

This is part 4 in a series of tutorial blog posts about how to compose a SID tune in SID Factory II. It will be about making instruments, the ADSR, waveforms, and how the wave table works. Click here for part 1.

Composing in SID Factory II, Part 1 – Introduction

Read more “Composing in SID Factory II, Part 1 – Introduction”

This is part 1 in a series of tutorial blog posts about how to compose a SID tune in SID Factory II. It will be about the music editor of choice and an optional tutorial about hexadecimal numbers.

The only prerequisite is that you’re at least acquainted with the SID chip in the Commodore 64. If you have heard many SID tunes and would now love to try making your own, you’ve come to the right place.

Question: I haven't, but I'm curious. What is a SID chip?

SID is short for Sound Interface Device and is the sound chip inside the Commodore 64 – a home computer that was very popular especially in the 80’s.

SID chip

The SID chip was ahead of its time. Although it only had 3 voices, it offered oscillators of 8 octaves, ADSR, four waveforms, pulse width modulation, multi mode filtering, ring modulation, and hard synchronization. It was like a tiny synthesizer, and you could even make it play digi samples along with the SID voices.

If you’re already familiar with chiptunes, you can think of it as the most advanced of this kind. It can sometimes sound like chiptunes with a little bit of extra effects, at other times surpassing chiptunes with incredible sounds of its own. The limitation of only three voices makes composing for it quite a challenge, but that’s what we SID composers love about it. It’s fun to see how far we can take it.

If you’re new to SID music and would love to listen to a few of these, I recommend visiting my site DeepSID. When you’re there, click the link in the top named RECOMMENDED to see a list of composers, then click one of them. Now click one of the rows in the left side to start listening.

But whether you know what SID music is or you’re new to it, I will try my best to guide you through how to make SID music. There are many music editors for composing SID. Some run directly on the Commodore 64 itself (or at least in a C64 emulator) while others run on your modern computer with the aid of a built-in SID emulator that is very faithful to the original sound.

In this tutorial series, I will be using an editor called SID Factory II. Click the link to download it.

I’m kind of biased here since it’s a music editor a team of three is developing, and I just happen to be one of them. But even if I have to be as objective as possible, it’s still a solid music editor with an abundance of features, and it was created by a legendary C64 composer that started in the 80’s. It doesn’t take up a lot of memory or CPU time – in fact, it has been used for several top notch C64 demos.

So what type of editor is SID Factory II? It’s a cross-platform application that runs directly in Windows, Mac or Linux. To produce the SID sound, it makes use of the renowned reSID emulator. It’s the same emulator that has also been used in several other popular music editors, players and C64 emulators.

It may look intimidating, but it’s a great tool for making SID music. Don’t worry, I’m not going to overwhelm you by going through all of its sections first. I will take it easy and only bring up the new areas as you need to know about it. It’s going to be the equivalent of “Hello, World” – and then I will be going into the more advanced features as the parts go by.

Tutorial: Hexadecimal

Read more “Tutorial: Hexadecimal”

Hexadecimal is a numeral system commonly used by computers. For example, when showing information from its memory in low-level programming languages such as C++ or even assembly language. In other words, whenever you get really close to the metal.

But it’s not just used in programming languages. Some software editors may also visualize all the data in hexadecimal values to present the information. This could be because of displaying a chunk of memory or a hard disk sector, or because you are editing data at a level where it just makes more sense due to the way the individual bits of these numbers are grouped by the hardware registers of a computer.

We humans are used to base 10 numbers. We are so used to it that explaining how to count from 0 to 9 then from 10 to 19 seems so very obvious. But for a computer, base 16 makes a lot more sense. Here you are counting from 0 to 9, continuing with A to F for values 10 to 15, then only bumping to 10 at that point. At this point, 10 means 16. It can be confusing, so low-level programmers added a designation to clearly differentiate hexadecimal from decimal. This can vary depending on the language and the origin. In old home computers, hexadecimal 10 is typically shown as $10. In C and C++, it is shown as 0x10.

But why does it make sense to use base 16 instead of base 10?