Jump to content
IGNORED

"STEAL" music without any skills..


yuppicide

Recommended Posts

I needed music for the title screen of my Skull Island game. The only problem is I have no skills in this area. Even if you don't know what you're doing you can get some interesting results.

 

One method is by using Visual bAtari Basic's "Music and Sound Editor". With that I was able to put together this small song:

 

skull_island_music.mp3

 

I made that by just randomly pressing buttons until something sounded good. I did them one track at a time and then combined the two together.

 

This currently resides on my title screen. I'm always on the lookout for something I can make that's better or something nice to use if you beat the game, which prompted me to look elsewhere.

 

This tutorial will help you make some nice music with no skills. You will need the following:

 

- Commodore 64 SID music - I downloaded the HSVC pack from here: HSVC DOWNLOAD - It's about 73 megabytes and contains over 1400 songs.

 

- SID2TIA program - This will convert the Commodore 64 SID music into something the Atari 2600 can use - I am using a modified version 1.6.2 right now which you can get here: SID2TIA - this contains a .bas file by bAtari also.

 

- bAtari's tsm2.bas file - The above program will convert your song into ASM which can be compiled into a binary.. so, you will need this file from bAtari. This has code you can directly use in your bB programs.

 

Optional programs:

 

- Visual bAtari Basic

 

- Stella

 

Download the HSVC pack from their website. Unzip it to a directory. For my example I unzipped it into c:\hsvc. When unzipped the music will be in different folders under the directory c:\hsvc\c64music. I then took all the SID music out of those folders and put them in the main folder.. c:\hsvc. Some of the filenames are duplicated, but I just overwrote them. In total I have 1402 songs to choose from.. all in one directory.

 

Download the SID2TIA program and extract it in the c:\hscv folder also. Put bAtari's tsm2.bas file there as well.

 

Copy the files music.h and vcs.h (which are in my includes folder for my Visual bAtari Basic) into your c:\hsvc folder as well. SID2TIA needs these.

 

I KEEP THESE ALL IN ONE FOLDER!

 

Fire up Visual bAtari Basic and SID2TIA. Leave them open the whole time.

 

The reason I put everything in one folder and have those files open is to make it quicker and easier to listen to new songs. There's a bunch of options in SID2TIA and you may need to fool with the same song a few times to get good results. When you create a file with SID2TIA it'll go into c:\hsvc. With the way things were originally when you downloaded the HSVC pack, your outputted file would have been in the directory where the song was.

 

Open a SID file with SID2TIA. For my example I am using "wolfman_rock_theme.sid". For now, leave the settings as they were and hit COMPUTE. It will output a file called tsmsong.h. Right click and open this with Wordpad. Notepad won't view correctly.

 

The song is too long, so you need to chop some of it off.

 

You will see a bunch of stuff on the screen right now.. cut the lines in the beginning that say:

 


	.byte #SILENT , #SILENT 	; #SILENT 	

 

As those are just quiet times. We're not done yet. The song is too big. If we try to compile right now it will say -737 bytes of ROM space left.

 

You can also cut this out:

 


	.byte #SAW_Cw2_2 	, #SAW_Cw2_2 	; #SILENT 	

 

Still not done.. we are -545 bytes now. We can't have something that is too large to fit in a ROM.

 

If you have Visual bAtari Basic like me you should have the tsm2.bas file open for easy compiling. Since we're still -545 bytes, you will need to remove some lines from the END of the song in order to get from negative bytes to positive. Each line you remove is 2 bytes. Remove enough lines from the end of the song and compiling until you're in positive bytes. I now have a program with 1 byte of ROM left. Perfect.

 

Go ahead and run your file in Stella. You will hear music. If you're following along with the same song, you'll notice the beginning of our song is pretty boring, but about 30 or 40 seconds in there is some action to it. We will need to get rid of the crap in the front and extract some of the good parts, which we can then loop over and over to make our song.

 

If you are using a different song and it doesn't sound that great, you'll need to try some different options in SID2TIA, trim the file again until you can compile successfully and run in Stella. The song I chose just happens to sound great with the standard options set.

 

Okay, now back to picking out some good parts. Open another instance of Wordpad and cut everything after CHANNELDATA from the tsmsong.h file and past in a new Wordpad file. We're going to use this file to find patterns (loops) we can steal and put in our song.

 

Now you'll need to look for patterns. If you listen to the original song it has a few sections of music that sounds the same. These are the patterns we want to extract. You'll be able to look and find sections of the music that are the same.

 

First, you'll start chopping away at the boring beginning, then extracting the patterns. You will save these patterns in different text files for now. This way you can label them "pattern1", "pattern2", etc.

 

Here's pattern1 I've extracted. You can place this data in your tsmsong.h file and compile. You will hear it look over and over like this. Take a listen to the mp3.. there's some space in the beginning so give it a few seconds..

 

pattern1.mp3

 

Here's pattern2 extracted. You can place this data in your tsmsong.h file and compile. It will loop over and over like this. Take a listen. Again, there might be space in the beginning give it a chance. I had problems encoding to mp3.. oh well.

 

pattern2.mp3

 

Now you can alternate pattern1, then pattern2 by putting them together and compiling. It will loop over and over like this.. take a listen.. give it a few seconds as I have some blank space in the beginning of the mp3.. also the mp3 might sound a little messed up, that's because I had encoding to mp3 problems..

 

pattern1and2.mp3

 

Sounds pretty decent and you get the idea.. some songs will not work in SID2TIA correctly. I am unsure if it's the SID corrupted or the program just won't work with it. If your SID2TIA freezes up, close it and restart and try another song. Obviously in the above example I only extracted two different loops, there's more to be found in that song, which I've already done.. and I'm deciding if I want to use it in my game, but I'm sure out of the other 1400+ SID's you're bound to find something you can use.

 

I'm still figuring out how to get the song into my program, but I'm sure I'll work it out eventually. You can hear some other song conversions I did here IN THIS POST. I didn't make those as loops.. just did a conversion and left them as they were.. Xevious, Kung Fu Master, Frogger, Frogger II, Gyroscope, Skool Daze, Trolls & Tribulations, Pooyan, Tapper, and Up 'N Down, and Knight Rider.

Edited by yuppicide
Link to comment
Share on other sites

Open a SID file with SID2TIA. For my example I am using "wolfman_rock_theme.sid". For now, leave the settings as they were and hit COMPUTE. It will output a file called tsmsong.h. Right click and open this with Wordpad. Notepad won't view correctly.

 

The song is too long, so you need to chop some of it off.

 

You will see a bunch of stuff on the screen right now.. cut the lines in the beginning that say:

 


	.byte #SILENT , #SILENT 	; #SILENT 	

 

As those are just quiet times. We're not done yet. The song is too big. If we try to compile right now it will say -737 bytes of ROM space left.

 

You can also cut this out:

 


	.byte #SAW_Cw2_2 	, #SAW_Cw2_2 	; #SILENT 	

 

...

 

Now you'll need to look for patterns. If you listen to the original song it has a few sections of music that sounds the same. These are the patterns we want to extract. You'll be able to look and find sections of the music that are the same.

 

First, you'll start chopping away at the boring beginning, then extracting the patterns. You will save these patterns in different text files for now. This way you can label them "pattern1", "pattern2", etc.

 

You can also patternize the output automatically in SID2TIA to save ROM space by selecting the "Patternize" radio button. From what I can grasp this basically prevents the driver from writing redundant patterns into the code.

Link to comment
Share on other sites

I was going to mention about patterns in Part II.

 

What I am wondering, though, you can patternize the output, but what if the patterns aren't all the same.

 

So, I wonder if patterns can be different lengths? If so, then my first method is best to make the patterns. Then you can insert those into a patterized output.

 

This saves a BUNCH of ROM.

Link to comment
Share on other sites

If you intend on using other people's SID music in releases you should, at least, make sure to give credit to the author of the SID.

 

Garak

Edited by Garak
  • Like 1
Link to comment
Share on other sites

If you intend on using other people's SID music in releases you should, at least, make sure to give credit to the author of the SID.

 

Garak

Yep, and it doesn't really qualify as 'making' music. Randomly right clicking to find the notes you want using the Music and Sound Editor and left clicking to add the notes is making music without any skills. That's what I plan to do. I'm going to make little bits of music and sound effects with it.

  • Like 1
Link to comment
Share on other sites

Yep, and it doesn't really qualify as 'making' music.

 

Agreed.

 

Randomly right clicking to find the notes you want using the Music and Sound Editor and left clicking to add the notes is making music without any skills. That's what I plan to do. I'm going to make little bits of music and sound effects with it.

 

I've found you can get some rather interesting music from picking notes randomly. Back in 1991 a few friends and I started work on a small rpg/dungeon crawl game in BASIC. One of my friends wanted a small tune for the game. The BASIC we were using had a "play" command and he randomly inserted a whole bunch of notes in then went back and made each note a sharp or flat. It actually turned out pretty well but never ended up being used.

 

Garak

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...