Skeetendo

’Cause all games were better on the GBC

You are not logged in.

#176 2017-03-11 20:03:02

Mmmmmm
Member
From: West Virginia
Registered: 2015-05-17
Post 237/261

Re: GSC Music Covers (with code)

I was actually already planning to prioritize Santalune since you put it higher up on your new queue, but it's good that I have your confirmation to do so.

Offline

#177 2017-03-16 15:20:03

YORAMRW
Member
From: The Netherlands
Registered: 2013-03-29
Post 1,191/1,199
Website

Re: GSC Music Covers (with code)

I wonder what the soundinput command is for. I was never aware of its existence before I saw the Alola Trainer Battle music code


Hacks Gameboy 8-bit music in Pokémon Gen I & II, composes 8-bit music in FamiTracker

Offline

#178 2017-03-16 17:49:04

Mmmmmm
Member
From: West Virginia
Registered: 2015-05-17
Post 238/261

Re: GSC Music Covers (with code)

Soundinput does a ton of stuff depending on what its value is, and I only know that $6X changes pitch. Soundinput also only works on the first sound channel. I only learned it existed after studying pigu's Ho-Oh Battle code, and also used it in my Wally Battle theme.

Offline

#179 2017-03-16 17:56:00

YORAMRW
Member
From: The Netherlands
Registered: 2013-03-29
Post 1,192/1,199
Website

Re: GSC Music Covers (with code)

Mmmmmm wrote:

Soundinput does a ton of stuff depending on what its value is, and I only know that $6X changes pitch. Soundinput also only works on the first sound channel. I only learned it existed after studying pigu's Ho-Oh Battle code, and also used it in my Wally Battle theme.

What I also noticed is that some songs from Pokémon Prism seem to have arpeggiated chords! I wonder how they pulled that off. If we could find out it would be gold because it seems like achieving chord arps by manually make the engine play alot of notes in a short time could in some cases delay the tempo of that particular channel, making the song get out of sync.


Hacks Gameboy 8-bit music in Pokémon Gen I & II, composes 8-bit music in FamiTracker

Offline

#180 2017-03-16 18:10:18

Rangi
Member
Registered: 2016-05-09
Post 572/919

Re: GSC Music Covers (with code)

YORAMRW wrote:
Mmmmmm wrote:

Soundinput does a ton of stuff depending on what its value is, and I only know that $6X changes pitch. Soundinput also only works on the first sound channel. I only learned it existed after studying pigu's Ho-Oh Battle code, and also used it in my Wally Battle theme.

What I also noticed is that some songs from Pokémon Prism seem to have arpeggiated chords! I wonder how they pulled that off. If we could find out it would be gold because it seems like achieving chord arps by manually make the engine play alot of notes in a short time could in some cases delay the tempo of that particular channel, making the song get out of sync.

Which ones in particular? You could check their source code and see which commands are doing it.

By the way, does anyone recognize Prism's Bicycle and Surf music, or is it original?

Last edited by Rangi (2017-03-16 18:13:40)

Offline

#181 2017-03-16 19:52:14

Mmmmmm
Member
From: West Virginia
Registered: 2015-05-17
Post 239/261

Re: GSC Music Covers (with code)

I think each of those two themes are original.

Arpeggiated chords would be nice to know how to do (Frogg did that as well in his Cerulean City remix, I think it's another soundinput function but I'm not sure), but they're also something I think needs to be used sparingly so it's not eating me up too badly not knowing how. One day I should just experiment with soundinput and try to figure out everything it can do, it would probably enhance my songs a lot. I'd probably want to go back and redo a few songs to better use them (i.e. changing up Mt. Chimney's theme to use the soundinput to make notes fall like I have in Wally's battle theme and the Alola trainer theme, since I wrote out the notes by hand and it probably both sounds worse and takes up more space as a result).


I haven't started the Alola E4 theme yet. Most of it seems like it would be easy to do, but the end of the song's loop intimidates me. The actual looping portion of the song, disregarding the intro, is only from 0:14 to 1:02 (using this recording for times), really short for a battle theme, almost as short as Wally's battle theme even, but I have no clue how I'm going to cover the section at 0:52. It's similar to an early section of the song but the screaming cacophony of trumpets makes it different, and I have no clue how I'm going to port those over without it being a screechy mess. I can't just remove them either, because then that section sounds almost identical to an earlier section of the song, which makes it feel even more same-ish than it already is.

I still think I can do the song, this isn't me asking you to pick something else and the rest of the song seems like it would be easy to cover compared to something like Mother Beast, but I'm unconfident regarding the section with the trumpets and how to handle it when I get that far. Any ideas on how to do so?

Offline

#182 2017-03-16 20:12:48

ShantyTown
Member
Registered: 2013-12-04
Post 341/344

Re: GSC Music Covers (with code)

I did one of the songs in Prism with arpeggiated chords. (One of the trainer encounter themes). I just faked it by increasing the tempo and using a sequence of regular note commands and volume changes. I don't know about the other songs, though.

Also, I don't think I'm ever going to finish Malie City's theme. I can send someone the midi file I was building, if needed.  Sorry about that :(

Offline

#183 2017-03-16 20:44:39

Rangi
Member
Registered: 2016-05-09
Post 573/919

Re: GSC Music Covers (with code)

Mmmmmm wrote:

Soundinput does a ton of stuff depending on what its value is, and I only know that $6X changes pitch. Soundinput also only works on the first sound channel. I only learned it existed after studying pigu's Ho-Oh Battle code, and also used it in my Wally Battle theme.

It corresponds to Music_SoundStatus in audio/engine.asm, which sets the SoundInput variable. This value is only read once, and stored in rNR10, which is a hardware register that apparently affects "audio sweep". This GameBoy reference sheet says that bits 4-6 control "sweep time", 3 controls "sweep increase/decrease", and 0-2 control "sweep shift".

Edit: From the Gameboy Development Wiki: "The first square channel has a frequency sweep unit, controlled by NR10. This has a timer, internal enabled flag, and frequency shadow register. It can periodically adjust square 1's frequency up or down." They go way into the internals of how it works, but it would probably be more helpful to just experiment with different values, keeping in mind the bitfields' structure.

Mmmmmm wrote:

I haven't started the Alola E4 theme yet. Most of it seems like it would be easy to do, but the end of the song's loop intimidates me. The actual looping portion of the song, disregarding the intro, is only from 0:14 to 1:02 (using this recording for times), really short for a battle theme, almost as short as Wally's battle theme even, but I have no clue how I'm going to cover the section at 0:52. It's similar to an early section of the song but the screaming cacophony of trumpets makes it different, and I have no clue how I'm going to port those over without it being a screechy mess. I can't just remove them either, because then that section sounds almost identical to an earlier section of the song, which makes it feel even more same-ish than it already is.

I still think I can do the song, this isn't me asking you to pick something else and the rest of the song seems like it would be easy to cover compared to something like Mother Beast, but I'm unconfident regarding the section with the trumpets and how to handle it when I get that far. Any ideas on how to do so?

Here are some "8-bit" remixes that might help: 1 2 (The second one clearly has the problem you describe.) I think it could work if you blend the trumpet notes together, and speed up the background drums to make up for it. (And a GBA-style one.)

If it would help to add a custom wave pattern, I still have room for five more.

ShantyTown wrote:

I did one of the songs in Prism with arpeggiated chords. (One of the trainer encounter themes). I just faked it by increasing the tempo and using a sequence of regular note commands and volume changes. I don't know about the other songs, though.

Also, I don't think I'm ever going to finish Malie City's theme. I can send someone the midi file I was building, if needed.  Sorry about that :(

Oh, that's too bad. Thank you for starting it anyway.

Last edited by Rangi (2017-03-18 10:57:01)

Offline

#184 2017-03-16 21:05:16

YORAMRW
Member
From: The Netherlands
Registered: 2013-03-29
Post 1,193/1,199
Website

Re: GSC Music Covers (with code)

Rangi wrote:

You could check their source code and see which commands are doing it.

Unfortunately, I couldn't find any source code/Github repository/disassembly of Pokémon Prism. Maybe part of that has to do with the C&D those douchebags filed against him.


Mmmmmm wrote:

Arpeggiated chords would be nice to know how to do (Frogg did that as well in his Cerulean City remix, I think it's another soundinput function but I'm not sure)

What FroggestSpirit used for the Cerulean music isn't arpeggiated chords. It's the unknownmusic0xde command, better known as arpeggiated duty.


ShantyTown wrote:

I did one of the songs in Prism with arpeggiated chords. (One of the trainer encounter themes). I just faked it by increasing the tempo and using a sequence of regular note commands and volume changes. I don't know about the other songs, though.

The song I meant is the Bicycle theme. I can hear for sure that it doesn't just use arpeggiated duty, but very fast arpeggiated chords instead.
I'm afraid arpeggiated chords that fast couldn't be achieved by 'faking' with notes, without the tempo for that channel at that moment slowing down a bit, causing that channel to behindhand the other channels. That's my guess at least.

Last edited by YORAMRW (2017-03-16 21:05:56)


Hacks Gameboy 8-bit music in Pokémon Gen I & II, composes 8-bit music in FamiTracker

Offline

#185 2017-03-16 21:19:59

Rangi
Member
Registered: 2016-05-09
Post 574/919

Re: GSC Music Covers (with code)

YORAMRW wrote:

Unfortunately, I couldn't find any source code/Github repository/disassembly of Pokémon Prism. Maybe part of that has to do with the C&D those douchebags filed against him.

The song I meant is the Bicycle theme. I can hear for sure that it doesn't just use arpeggiated duty, but very fast arpeggiated chords instead.
I'm afraid arpeggiated chords that fast couldn't be achieved by 'faking' with notes, without the tempo for that channel at that moment slowing down a bit, causing that channel to behindhand the other channels. That's my guess at least.

Prism's subreddit links to their Discord, which has downloads for the patch and source code, including bicycle.asm. It doesn't use any rare commands; I think it takes ShantyTown's approach.

Offline

#186 2017-03-16 21:23:13

Mmmmmm
Member
From: West Virginia
Registered: 2015-05-17
Post 240/261

Re: GSC Music Covers (with code)

Music_Bicycle_P1:
    arp $4, $7
    note A#, 4
    note A#, 2
    note A#, 4
    arp $2, $7
    note A#, 4
    arp $4, $7
    note A#, 4
    arp $2, $7
    note A#, 2

Huh, I'm not sure if this "arp" command is in vanilla Crystal or not.

Offline

#187 2017-03-16 21:29:36

YORAMRW
Member
From: The Netherlands
Registered: 2013-03-29
Post 1,194/1,199
Website

Re: GSC Music Covers (with code)

@Rangi: Thanks for the information! :) I will definitely take a closer look about more of Pokémon Prism's music when I have more time


@Mmmmmm: That's a coincidence! That's exactly what I wanted to mention
This for 99.99% HAS to be the way the arpeggiated chords are caused. And I indeed really hope that vanilla Crystal or at least CrystalComplete has the arp command built into the engine

Last edited by YORAMRW (2017-03-16 21:30:11)


Hacks Gameboy 8-bit music in Pokémon Gen I & II, composes 8-bit music in FamiTracker

Offline

#188 2017-03-16 21:31:36

Rangi
Member
Registered: 2016-05-09
Post 575/919

Re: GSC Music Covers (with code)

Mmmmmm wrote:
Music_Bicycle_P1:
    arp $4, $7
    note A#, 4
    note A#, 2
    note A#, 4
    arp $2, $7
    note A#, 4
    arp $4, $7
    note A#, 4
    arp $2, $7
    note A#, 2

Huh, I'm not sure if this "arp" command is in vanilla Crystal or not.

Oh, I missed that. ...And, it maps to Music_Arpeggio. They also have original commands portaup and portadown, for portamento. (Is every single aspect of pokecrystal improved on in Prism?!)

At least it looks like a modular improvement: they replace some of the unused audio engine commands and channel fields, and solely use them in the HandlePorta and HandleArp routines (called right before HandleTrackVibrato/Functione8466 and HandleNoise in the once-per-frame _UpdateSound routine).

Mmmmmm, I could probably port those commands to Polished Crystal if you want to make use of them. Same goes for their custom commands to increase and decease octaves relatively. That's basically all the important stuff I see added to the audio engine; there's also support for track-embedded wave patterns, like we discussed earlier, but with five unused slots that's probably unnecessary.

(In case you don't already know, unknownmusic0xe0 in regular pokecrystal slides the pitch. From Prism's comments: "usage: 1) slidepitchto (duration), (dest octave), (dest pitch) 2) set origin octave and pitch normally".)

Edit: "arp" is only used in the Bicycle, Victory Road, and Hall of Fame themes. "portadown" and "toneporta" are used in Bicycle, Hall of Fame, title screen, and Ho-Oh battle. (I thought the Ho-Oh battle theme was the same one from TPP Anniversary, which I've already borrowed, but it's an updated version.)

Last edited by Rangi (2017-03-16 21:50:54)

Offline

#189 2017-03-16 22:49:24

Mmmmmm
Member
From: West Virginia
Registered: 2015-05-17
Post 241/261

Re: GSC Music Covers (with code)

I always try not to use custom engine code in my music hacks, actually. I want my songs to work in any Crystal hack, no matter how vanilla. Though I suppose if I really wanted to use something custom I could do two versions of the song, one vanilla and one custom.

Offline

#190 2017-04-01 04:14:20

Rangi
Member
Registered: 2016-05-09
Post 592/919

Re: GSC Music Covers (with code)

Just saw your WIP S/M Elite Four theme. I like it so far. Although, for the three groups of drumbeats at the beginning, can you make the final ones sound heavier/louder, similar to the three beats at the beginning of the GSC Champion theme? Also, if there are any parts that can't be accurately demixed and you have to improvise, callbacks to the GSC Gym Leader or Champion themes would be fine. I chose S/M's theme in the first place because it sounds kind of in-between those two already.

Last edited by Rangi (2017-04-01 04:53:31)

Offline

#191 2017-04-01 04:49:20

Mmmmmm
Member
From: West Virginia
Registered: 2015-05-17
Post 244/261

Re: GSC Music Covers (with code)

Could you clarify what you mean by drumbeats? The GSC Champion theme doesn't have any drums at all.

Offline

#192 2017-04-01 04:54:48

Rangi
Member
Registered: 2016-05-09
Post 593/919

Re: GSC Music Covers (with code)

Mmmmmm wrote:

Could you clarify what you mean by drumbeats? The GSC Champion theme doesn't have any drums at all.

I just meant those three notes at the very beginning of the theme. You're right, they're not actually drums; and actually, the way you have it is more accurate to the original S/M theme.

Offline

#193 2017-04-01 05:53:33

Mmmmmm
Member
From: West Virginia
Registered: 2015-05-17
Post 245/261

Re: GSC Music Covers (with code)

Oh, I see. I definitely tried to keep it more subdued in the intro so it could properly build up. I want the song to have a proper rise and fall in tone and tension, but also don't want it to go too far or else it will overshadow the actual champion theme in intensity not that it doesn't already do that in SM because the Champion theme in that game is really lame.

I did decide to rewrite the problem section of the song slightly. Instead of having a cacophonic mess going on in the background, I put an delayed echo behind the main melody. I still don't think it sounds too great but it's been three weeks since I gave you something and I don't want the backlog to continue growing faster than I can fill it so I'm willing to accept it if you are. I'm of course always willing to tweak something if it doesn't match your standards.

https://pastebin.com/Q2MsZc9W
https://soundcloud.com/mmmmmmmmmmmmmmmm … -gbc-8-bit

Now I believe I just have to do Santalune Forest and then I'll be able to do Pia Carrot's relatively easy song requests before going back to your list.

Last edited by Mmmmmm (2017-04-01 05:54:36)

Offline

#194 2017-04-01 07:30:12

Rangi
Member
Registered: 2016-05-09
Post 594/919

Re: GSC Music Covers (with code)

Mmmmmm wrote:

Oh, I see. I definitely tried to keep it more subdued in the intro so it could properly build up. I want the song to have a proper rise and fall in tone and tension, but also don't want it to go too far or else it will overshadow the actual champion theme in intensity not that it doesn't already do that in SM because the Champion theme in that game is really lame.

I did decide to rewrite the problem section of the song slightly. Instead of having a cacophonic mess going on in the background, I put an delayed echo behind the main melody. I still don't think it sounds too great but it's been three weeks since I gave you something and I don't want the backlog to continue growing faster than I can fill it so I'm willing to accept it if you are. I'm of course always willing to tweak something if it doesn't match your standards.

https://pastebin.com/Q2MsZc9W
https://soundcloud.com/mmmmmmmmmmmmmmmm … -gbc-8-bit

Now I believe I just have to do Santalune Forest and then I'll be able to do Pia Carrot's relatively easy song requests before going back to your list.

Hmm... most of it is excellent—I think it'll work quite well with Johto's Elite Four—but the "cacophonic mess" section is still clearly a dip in quality. I don't have an idea for how to improve it, though, and the overall song enough for now. I'm sure you'd rather move on, and I'd also like the Santalune theme (not to mention Pia's requests), so maybe come back to this one later?

Offline

#195 2017-04-01 19:21:24

Mmmmmm
Member
From: West Virginia
Registered: 2015-05-17
Post 246/261

Re: GSC Music Covers (with code)

Yeah, I'm just going to throw this into the "improve later if I ever get the urge to work on old songs again" bin with Mt. Coronet and the XY Gym Leader theme whose code I won't release because of it being so bad.

Offline

#196 2017-04-02 06:23:13

Rangi
Member
Registered: 2016-05-09
Post 603/919

Re: GSC Music Covers (with code)

Mmmmmm wrote:

Yeah, I'm just going to throw this into the "improve later if I ever get the urge to work on old songs again" bin with Mt. Coronet and the XY Gym Leader theme whose code I won't release because of it being so bad.

Alright then. I just added your Sun/Moon tracks to the appropriate places in Polished Crystal, and they work really well. Now the Elite Four are set apart from Gym Leaders, and Shamouti Island is set apart from Kanto (they only share a region for convenience and Town Map space, it ought to be in the Orange Archipelago). Thank you!

Offline

#197 2017-04-11 01:27:46

Mmmmmm
Member
From: West Virginia
Registered: 2015-05-17
Post 251/261

Re: GSC Music Covers (with code)

Santalune Forest:
https://pastebin.com/eMuPLjSZ
https://soundcloud.com/mmmmmmmmmmmmmmmm … -gbc-8-bit

The code for this song was surprisingly compact due to how much everything loops. I got it down to 165 lines of code without sacrificing any minor details; usually a "small" song is at least 500 lines, and large songs can go to 2000 or more.


With this song done, I can take care of Pia Carrot's three requested Hoenn songs. They'll definitely be simpler to do, but may not come extra fast just because university is ramping up as I get close to finals.

Offline

#198 2017-04-11 11:43:43

Rangi
Member
Registered: 2016-05-09
Post 617/919

Re: GSC Music Covers (with code)

Mmmmmm wrote:

Santalune Forest:
https://pastebin.com/eMuPLjSZ
https://soundcloud.com/mmmmmmmmmmmmmmmm … -gbc-8-bit

The code for this song was surprisingly compact due to how much everything loops. I got it down to 165 lines of code without sacrificing any minor details; usually a "small" song is at least 500 lines, and large songs can go to 2000 or more.


With this song done, I can take care of Pia Carrot's three requested Hoenn songs. They'll definitely be simpler to do, but may not come extra fast just because university is ramping up as I get close to finals.

Thanks! That was quick. I'm now using 62 additional tracks, 28 of which you wrote. :) Good luck with finals!

Looking forward to your Meteor Falls demix. I think I'll use it for the Embedded Tower; canonically most of Johto's caves use the same music, including Ilex Forest and the Ruins of Alph, but since the tower is a new and special location I don't mind changing it. (Full list: Ruins of Alph, Union Cave, Slowpoke Well, Ilex Forest, Goldenrod Underground, Whirl Islands, Embedded Tower, Mount Mortar, and Tohjo Falls.)

Apart from that, I think Polished Crystal's music is complete. There are demixed tracks I'd like to use (Route 120, some more of FroggestSpirit's D/P/Pt ones), but no longer plausible places to put them. Thanks so much for everything you've contributed to it, Mmmmmm, Pum, FroggestSpirit, ShantyTown, and everyone else. :D

Last edited by Rangi (2017-04-11 12:08:07)

Offline

#199 2017-04-28 15:32:55

Rangi
Member
Registered: 2016-05-09
Post 634/919

Re: GSC Music Covers (with code)

Hey, Mmmmmm! I see that you've uploaded Slateport City's demix to your SoundCloud but not here; it sounds good, by the way, works well with GBC audio.

If you're doing Sootopolis and Meteor Falls for Kuroko next, can you please prioritize Meteor Falls?

Offline

#200 2017-05-10 22:36:11

Mmmmmm
Member
From: West Virginia
Registered: 2015-05-17
Post 254/261

Offline

Board footer

Powered by FluxBB