Author Topic: [GUIDE] How to make Blockland-compatible music files  (Read 3157 times)

From seeing dcseal's help topic, I figured why not and just make an entire guide on how to do things correctly.

Things I will not mention in this guide:
  • How to workaround the mono/single channel requirement
  • How to bypass the 1MB filesize limit
  • Alternatives to Audacity (at least for right now. FL Studio's Demo actually works rather well (as an example), but it's overkill for looping)
  • How to obtain the audio you want to loop



So, first off, download a free, open source program called Audacity.
Any version should be fine, but this guide will use version 2.1.1.
Also note this guide applies to OS X and Linux users as well.


Next, you more than likely need the FFMPEG library.
Follow the instructions on that page, and Audacity should be able to import MP3, M4A/AAC, etc. files you're probably using as a source file to loop. If LAME is also a requirement (if MP3 doesn't work), the instructions to install that are here.


So now that Audacity is ready, import a file you wish to loop.

If you want to follow along with the same file I'm using, you can grab it here. It's CC-BY-NC licensed, and free to distribute (plus it's mine).


Before we start, there are a couple of Blockland limitations we need to remember:
  • Loops must be under 1MB (1,024 KB) in size.
  • Loops must not be full songs.
  • Loops must be mono (single channel).


Now that we've imported our file, you'll see something like this:

...which is a waveform of the audio file we just imported.
If importing fails and you're using a valid audio format, check the first few steps and make sure you've installed everything you need to. Restart Audacity as well in case you installed something while Audacity was running.


To make a selection, simply click and drag on the waveform.

You can also click on any part of the waveform, and drag left or right from the line that will appear. This is more useful for precise selections.


Your selection is noted by the darker background behind the waveform.

If you need to zoom in or out, hold down Ctrl and use your mousewheel. You will zoom in or out on the location of your mouse cursor. The zoom tool will also work, but is less efficient.

As a tip: try to start your loop on the start of a beat (or measure, whichever nomenclature you prefer). Kicks generally start off as a large spike in a waveform with a spaced out tail:

Not all music is like this, some rhythm is needed if you want to produce a seamless or nearly-seamless loop, along with basic music knowledge (e.g. how many beats per measure; being able to count "1, 2, 3, 4" to a beat, for example. Nothing big.) Just start your loop when you would say "1."
(There are exceptions to this, however. I'll explain that further down the guide.)


Once you've found the spot you want to start your loop from, zoom out and press the green Play button.
The viewing area of the waveform will automatically move to what's being played, potentially disorienting you, but usually doesn't happen so long as you zoom out enough.
Let it play until you find the spot you want your loop to end at, and drag the right side of your selection to roughly where you want your loop to end.



Zoom in on the starting point and ending point of your selection to make sure it's precisely where you want it. Drag the selection edges in either direction to modify it.
To preview a small section of the waveform, you can click and drag in the ruler above it. This will not cancel your selection.


To preview the entire selection, hold down Shift, and click the Play button again. This will loop the selection over and over until you stop it.
You can also export the selection to play back in an audio player with proper looping support (e.g. XMPlayer, also free, but closed-source) (see the guide further down).


Once you feel your loop selection is done, now is the time to fix some issues.

First, lower the volume on the waveform to -6dB. This will prevent clipping issues when you split the two audio channels to mono.

If you play around a bit and mute 1 channel, and decide it sounds better, you can increase the volume back to 0dB on the audible track.


I understand some may be "pls best quality pls," but please be wary of Blockland. Music files take a long time to download, and reducing the quality as far as possible while still remaining decent enough can help download times quite a bit.
Reduce the Project Rate to 32000. This will export the loop as 32kHz audio, instead of 48 or 44.1kHz, which is unnecessary for Blockland loops.


The audio is still stereo, but it's relatively easy to fix.
Next, on the dropdown menu for the waveform, select "Split Stereo to Mono". This will split the audio channels into separate tracks.
Be warned that the selections are also separate now. Do this part last before exporting the final loop.

EDIT 2/13/16: THIS DOES NOT MEAN YOU WILL HAVE ONLY ONE CHANNEL! Both channels are still present! Experiment with muting one channel and see if the other sounds better in case something sounds off. You may come across something called phase cancellation/inversion (destructive interference) when using both channels.


Now for exporting our loop.
Head to the File menu, and select "Export Selected Audio...".


Navigate to your Blockland Music Folder.
  • WINDOWS:
    • Steam Users: X:/Program Files (x86)/Steam/steamapps/common/Blockland/Add-Ons/Music (may vary depending on your Library location)
    • Non-Steam Users: Documents/Blockland/Add-Ons/Music
  • LINUX: /home/$USER/Documents/Blockland/Add-Ons/Music (this may vary depending on your WINE prefix)
  • OS X: (I uh... don't have anything with OS X on it, you probably know where if you use it. Sorry :( )

Set the "Save as type:" dropdown to "Ogg Vorbis Files"


Click on the "Options..." button and slide the quality all the way to 0.


Make sure your filename contains NO SPACES.
Use underscores in their place! For example: change TheBlackParrot - Neptune to TheBlackParrot_-_Neptune. Your loop will not work if an invalid character is present in the filename!

Save your loop.

Make sure no metadata is present in the file. This is just unneeded filesize increases. Press the "Clear" button.


Press "OK," and you should be done!
Enjoy your newfound looping abilities!


The loop created from this guide is available here.




As stated before, some music is much more difficult to loop. If you've heard the correct "nicklolback" loop (not the one New Years 2016 replaced), you probably noticed it starts off in an odd spot, but still seamlessly loops. (http://blloops.theblackparrot.us/loops/nicklolback.ogg)
This is because instead of focusing the loop selection on beats, I instead tried to find spots in the audio that were almost an exact clone of each other that still flowed perfectly.
It's a seamless loop, you can't tell where it starts and stops. But it's not focused on a beat.




if there's anything wrong or something I can add pls do tell
keywords: how to make music, how to loop music
« Last Edit: February 15, 2016, 04:42:46 PM by TheBlackParrot »


  • Loops must be under 1MB (1,000 KB) in size.
the limit is actually 1,024 KB. how i know this is that the default Paprika_-_Byakko_no.ogg loop works fine while being 1,022 KB according to windows
anyways good guide

Shouldn't you use "Stereo Track to Mono" instead of splitting it and deleting one track?

Also, you should make a note that you only need to reduce it to 32kHz if 44.1kHz creates too big of a file size. I have 44.1kHz loops that are less than 500kb.
« Last Edit: February 13, 2016, 01:40:49 PM by joe411 »


Shouldn't you use "Stereo Track to Mono" instead of splitting it and deleting one track?
I'd say no, in case muting one channel works better.

Also, you should make a note that you only need to reduce it to 32kHz if 44.1kHz creates too big of a file size. I have 44.1kHz loops that are less than 500kb.
Reduce it anyways.

the limit is actually 1,024 KB. how i know this is that the default Paprika_-_Byakko_no.ogg loop works fine while being 1,022 KB according to windows
anyways good guide
fixed

I'd say no, in case muting one channel works better.
What do you mean by this?

If you remove one track, then it could be a problem on songs that have instruments play on only one track.
If you do stereo track to mono, it would include all instruments.

What do you mean by this?

If you remove one track, then it could be a problem on songs that have instruments play on only one track.
If you do stereo track to mono, it would include all instruments.
Or have it sound bad and only bad. Splitting it gives you 2 more options.

Or have it sound bad and only bad. Splitting it gives you 2 more options.
I still have no idea by what you mean it makes it sound bad. I made loops before this way and there was no quality loss.

When you say "two options" you're saying "choose between half the instruments" on certain songs.

I still have no idea by what you mean it makes it sound bad. I made loops before this way and there was no quality loss.

When you say "two options" you're saying "choose between half the instruments" on certain songs.
I didn't even explicitly say you had to mute a channel anyways. I just said splitting it would give you more options (in case you come across phase cancellation/inversion). Splitting it doesn't mean you will always have one and only one channel. You can still have both if neither are muted.

I'd rather not get into an argument about phase cancellation here either, destructive interference can be bad audio-wise.

Now I'm a bit confused.
 
Are you using only one of the two stereo channels when exporting the loop, or are you using both in one mono channel?

Now I'm a bit confused.
 
Are you using only one of the two stereo channels when exporting the loop, or are you using both in one mono channel?
It depends, again, if you have 1 muted, it uses the 1 not muted. If you have none muted, it uses both. All of this still exports as 1 channel.


It depends, again, if you have 1 muted, it uses the 1 not muted. If you have none muted, it uses both. All of this still exports as 1 channel.
Ah, now it makes sense.

I thought that unless you did stereo track to mono it wouldn't work with Blockland.