Enough people seemed to be interested in this to make making it worth it. So, here it is. The only purchase-able blocks absolutely required are portals and piano or guitar. Percussion is dependent on the song.
This guide will be on the top-down style I'm most comfortable with. Many things can be applied to the sideways and snake styles as well.
(Never use the jumping snake style. It's horrendous. Use boosts or a different method.)
▼El Guide-o
▼Step 1


The purpose of this structure is to get to the speed that you achieve by falling in an infinite loop, but instantly. This eliminates a lot of guesswork.
▼Step 2
After that, open whatever resources you'll be using. I highly recommend this BPM tester for any song you're doing. Have the original song somewhere, and look for a Synthesia version, piano tutorial, etc. If you can't find one, you'll have to do the song by ear, which will take longer. (BPM stands for Beats Per Minute, a measurement of tempo).
▼Step 3
Find the original song's BPM.
Do this with a BPM tester, as mentioned in the previous step. I recommend at least 50 taps for an accurate BPM, more if you can't keep a beat or messed up.
Do not find the BPM using anything but the original song. If somebody else made an error with tempo, your EE version will keep that error.
▼Step 4

The pitch or type of music block doesn't matter, this is just to make sure your BPM matches the original song's as closely as possible.
▼Step 5

The 2nd block's positioning does not have to be accurate yet. Just give it your best guess.
▼Step 7

If it's too slow, bring the blocks closer together. Too fast? Farther apart. Repeat steps 6 and 7 until you're not sure if it's fast or slow.
▼Step 8

Place your coins 1 space above and below the 2 music notes. (Not actually required, I just believe it's easier. You can also place them to the side if you wish, just note that you'll have to do that for every beat). Coins are your best friend for counting things. In my case, the blocks were 43 coins apart.
▼Step 9

Since my notes were 43 coins apart, my portal needs to be 43 coins after the 2nd music block.
▼Step 10

The portals can face any direction, so long as they match. By doing this, you have made a short infinite loop that you can use to test your BPM.
▼Step 11
Enter your infinite loop, and pull up your BPM tester in another tab. Find your BPM.
▼Step 12
Compare your BPM to the original song's BPM. If your BPM is higher, then your blocks are too close together. If your BPM is lower, your blocks are too far apart. Adjust the 2nd music block and lower portal accordingly. Make certain everything is the same number of blocks apart. Repeat this step until either your BPM matches the original song's exactly, or you find your BPM can only be slightly too high or low. If your BPM is slightly too high or low, go with the closest option (or, if you want easy division, pick the BPM that uses an odd number of coins between your blocks).
The final amount of coins you get between each music block is known as your BPB, or "Blocks per Beat." In my case, that number turned out to be 39.
▼Step 14

Your BPB measures the distance between quarter notes. To get eighth notes, use the formula y=(x-1)/2, where y is blocks per 1/8 beat, and x is your BPB. For me, y=(39-1)/2 meant y=19. Place backgrounds until you reach the bottom.
For other divisions, use y=(x-(z-1))/z, where y = blocks per desired beat division and z = how you're dividing the beats. For triplets, z would be 3. For sixteenth notes, z would be 4. For drag triplets, z would be 3/2. You will often need to round. Most songs use at least eighth notes. If your's doesn't, don't bother putting backgrounds on the eighth notes.
▼Step 15

Ensure everything is exactly the same distance apart.
▼Step 16

Start with 0, 1. Then 0, 2. Then 0, 3 and so on (obviously they don't have to be those exact numbers). Do NOT place the portals where there are solid blocks directly underneath. There is a glitch that occurs sometimes where if you fall into such a portal, your momentum will be lost, and once you teleport you'll have to regain momentum. This can mess up your entire song.
▼Step 17

Start with 1,1 then 2,2, then 3,3, etc. The point is that you fall into a bottom portal and get transported 1 column over into a top portal.
▼Step 18

Don't count portals themselves.
▼Step 19

Do this until for as long as you deem necessary. Ideally you want as many BGs as there are quarter and eighth beats, but repeats might change that. More on that later.

▼Step 20
Open the original song, and a synthesia version if available, or something so that you're not doing it completely by ear (or you can if you want to. Nobody will be able to tell, though.) If that's not available, you'll have do the song by ear.
▼Music Block Structure
Before we start placing notes, we should discuss block structure. Personally (and you can do this differently), I always put whatever's recognized as the "beat" of the song (usually percussion, sometimes bass) directly on the BG, and everything else goes AROUND that. Melody/harmony go above, if there's bass AND percussion the bass goes below, and everything else goes below the bass. Pickup notes, glissandos (when 1 note slides from one pitch to another), and similar things are a few blocks away from the main clutter. All of this is flexible, though I strongly recommend putting the "beat" block in the middle. The most important thing is that whatever you do, you do it for EVERY set of blocks. Don't put melody on top one time, and on bottom another. Here's an example of my recommendation:

From top to bottom, there's the harmony block, the melody, percussion, bass, then everything else.
Also, the guitar is softer than the piano, so I recommend using piano for melody and parts that are "brought out," and use guitar for softer parts.
▼Step 21
You're ready to start actually making the song! Use your original song for percussion and synthesia/sheet music/whatever for pitches. Also compare the original to your other resources, as they will frequently be wrong. This is the step that will take the most time. If you don't have a resource that will tell you the pitch of notes, I recommend getting a tuner and singing into it. Otherwise, you'll have to guess which note on the piano is correct. This is especially difficult for chords, but it can be done.
Also don't feel as though you have to do every part all at once for every beat. You can go through the whole song with melody alone, then add percussion, then harmony, etc.
Add more portals and backgrounds as necessary. Once you're finished, remove the excess.
▼Repeats!

This is a contraption I've invented to handle repeats (a repeat is when a section of music is repeated, not the whole song). You enter in from 900, 900, go through 0, 901 the first time, enter again through 900, 900, and go through 0, 902 the second time. The 901, 901 portal would be in an earlier part of the song, and the 902, 902 portal would be after the portal that takes you to 900, 900.
It's important to note that this structure essentially takes out 3 blocks of the music. So, if you place the portal x, 900 5 blocks above a beat, the portals 901, 901 and 902, 902 would need to be 2 blocks above a beat. 902, 902 should always be 3 blocks below x, 900. You can also add columns for additional repeats, like this:

This contraption has saved me loads of time, and it can for you as well.
▼Looping Songs
To loop a song (not to be confused with a repeat), the easiest solution is to place a portal a few blocks above where the loop would begin at the end of your song, then place the portal it connects to the same number of blocks above where you already made it. The point of placing portals slightly above is so that they don't get in the way of music block structures. If you want the loop to be optional, I recommend placing a spike at the end before the loop portal, and presenting the player with a protection effect. Explain what it's for with a sign.
▼Differentiating Yourself From That One MIDI Bot
If you weren't aware, there is a bot that allows you to input MIDI files, and will output those files into EE. It uses 2 sets of portals in straight lines like I instructed you to do, but can only place portals a certain number of blocks above and below the floor and ceiling. If you fill 2 spots above and below your own song, that'd actually be proof that it's not from that bot. However, that's not common knowledge, so I recommend staggering your portals, like this:

This should make it more obvious that your song was indeed hand-made.
▼The Trial-By-Error Method
I highly recommend avoiding this method if you want an accurate song. The rest of this guide has been mathematical and precise, and this is not. But, if you really want to try this method, using a top-down song would be ideal. The idea is that you can use action blocks such as water, low gravity, and boosts, which makes songs interesting, but makes for loads of errors. I've used this method a few times for "effect," but even if it sounds correct, it's still a lot more effort than just placing blocks beat by beat. This method can be good in moderation, but do NOT use it for entire songs. (I did that once. It's my worst song.)
▼Tempo Changes
If your song changes tempo, determine where. Do steps 3-15, 18-19 again. Ensure you start at the appropriate beat. Add more portals as necessary.
▼Advice
Don't do a whole song all in one go. This method, while relatively accurate, takes time. Work on a song a little bit one day, then some more another day. You'll get there.
Pick songs that agree with EE. Dubstep is not going to agree. EE's music-making tools are limited. Go easy on it.
Use repeats when you can. It saves space and time once you comprehend it.
Don't necessarily follow the original song 100%. Again, EE's music-making tools are limited. You might have to get rid of some parts, or remove parts of chords. Hopefully one day we'll be able to place music blocks on top of each other, but that doesn't seem likely with the road this game's taking.
Most importantly, have fun! Do songs you enjoy, and don't feel pressured into doing what others want you to do. You're the maker, your own boss.
With that, I conclude this guide. I will answer any questions I missed, and I hope to see some new musicians!
Currently playing through: Mega Man 1-6
Listen to my in-game music! (it's pretty much all I'm good at)