Offline
Milwaukee, WI
herr_prof wrote:
TSC wrote:

Ok everyone. Let's pack up and go the fuck home.

Chip just ended on a high note.

BABY CHIP HAS BEEN HIGH THE WHOLE TIME

I KNOW BUT STILL

Offline
Indonesia

Too... Much... Information... System Overload! neutral *drools*

Offline

This is frickin' ridiculous! Amazing programming here, this is seriously making me want to get into NES programming. Nicely done.

Offline
The Rubber Man

Konnichiwa.

I was listening to the link http://chibitech.bandcamp.com/album/moe-moe-kyunstep
and I have to admit I liked the stuff. Actually I'm listening to it even now.

A question remains - has it been made on NES or is it any 'remix' on the modern hardware?

I wish You luck with Your next projects.

Mata ne.

Offline
Planet Zaxxon

This is all NES/VRC6 !!!! Thats why its amazing!!!!

Last edited by O2star (Nov 9, 2012 8:55 pm)

Offline
The Rubber Man

It sounds very well.


O2star:
> This is all NES/VRC6 !!!! Thats why its amazing!!!!
-------------
Then it sounds even _better_.

Offline
Sydney, NSW
O2star wrote:

This is all NES/VRC6 !!!! Thats why its amazing!!!!

No way! I thought at least those drums would have to be samples!

Offline
Joliette, QC, Canada
Chainsaw Police wrote:
O2star wrote:

This is all NES/VRC6 !!!! Thats why its amazing!!!!

No way! I thought at least those drums would have to be samples!

DPCM Channel dawg ? tongue

Offline
chiba, japan

Hi everyone! I'm really happy about the positive response the song received! This was something I absolutely was not expecting to happen -- especially for doing a so-called 'brostep' song for the first time! Being featured in destructoid especially surprised me. It really opened my eyes, since originally I was fearing that it wasn't going to be as accepted as a legitimate song -- hence I was about to keep the song strictly for future live events. But I'm really happy that even listeners normally critical about dubstep/brostep at least appreciate the technical aspects of the song! All in all, thank you sooooo much for all your support!

I guess I should talk about technical stuff regarding the song, since I've received a whole flurry of questions wondering how the song sounds like the way it is -- mainly how the wubwub bass sounds are made, as well as the snappy drums.


Reese basses:
Most of the reese stuff were done on the squarewave 2A03 channels (there's a few weird effects done on the VRC6 channels too, but mostly they do auxiliary / filler stuff... for example the 'supersaws' on the melodic parts). Without revealing my secret sauce, I will say one essential ingredient: custom software timer. It's a long-established trick to use for chiptunes (I believe LSDJ and Nanoloop's sound engines are based around it, even? Please do correct me if I'm wrong), but until recently hasn't been fully exploited in NES music. That being said, creative programming on the squarewaves opens up a pandora's box of weird tones usually not possible within 60/50Hz refresh.

Aside from being obviously impractical to use in actual games, I think the reason custom timer stuff isn't as popular in NES music is because most NSF players ignore the replay speed on a NSF's header and just force the playroutine to refresh at 60Hz (of course, replay engines like SuperNSF have their own timer code that can bypass all that, but that's another topic). Fortunately, Powerpak's NSF player plays Kyunstep (and most similarly-timed NSFs) in its intended speed totally fine.


Drums:
Yeah, they're a mixture of DPCM and noise channel played together. That was one of the parts I took a rather long time on creating. It's pretty hard to make DPCM drums sound powerful enough in a heavy mix like what is usually done in 'brostep' songs (especially given the muffled nature of delta playback even @ ~32khz max), so it has to be backed by clever noise channel programming. In addition, otherwise unorthodox stuff like pseudo side-chaining on the melodic channels helps bring the drums out. I think it can't be overstated that having good volume control programming synced to drums in dance-based chiptunes can REALLY make a huge difference.

For reference, there's only 3 DPCM samples used in the entire song: A bassdrum and two snares (less snappy snare for Part I, more snappy snare for Part II). DPCM channel doesn't do anything else other than take advantage of non-linear mixing volume control via smooth $4011 register writes.


Mixing:
The song in bandcamp is mixed in post accordingly -- which does help make the overall sound even more aggressive (and that way it can somehow audibly compete with non-chiptune dubstep songs, haha). That being said, it's mainly EQ'ing and compression/limiting on the master; There's no creative post-processing effects applied. All the strange sounds in the song really are from just the 2A03 + VRC6. (Side note: the songs during blipfest were directly fed from my NES consoles with no post-effects applied. And yes, the NES machines are wired to accept expansion audio from the powerpak / Famicom games with such soundchips. tongue )

Last edited by chibi-tech (Nov 10, 2012 8:17 am)

Offline
Planet Zaxxon

Oh man.. thanks for this info... SUPERB.

Offline
NC in the US of America

Didn't know where to put this, so I figured I'd post it here. My humble little ukulele+ukulele+bass+lsdj-wave-channel-drums cover of Moe Moe Kyunstep in a ska/reggae style.

https://soundcloud.com/sketchman3/chibi … yunstep-de

Just because I love that melody so much.

Offline
uhajdafdfdfa
SketchMan3 wrote:

Didn't know where to put this, so I figured I'd post it here. My humble little ukulele+ukulele+bass+lsdj-wave-channel-drums cover of Moe Moe Kyunstep in a ska/reggae style.

https://soundcloud.com/sketchman3/chibi … yunstep-de

Just because I love that melody so much.

AWESOME

Offline
Brooklyn NY US

Hahaha amazing!

Offline
New York, NY

I've been in a constant state of blown-away-ness about this shit since Blip Tokyo. Hadn't logged into CM.org for awhile and saw that the Moe Moe Kyunstep thread was still getting fresh posts and I was like "duh"

Offline
Sweeeeeeden
chibi-tech wrote:

Without revealing my secret sauce, I will say one essential ingredient: custom software timer. It's a long-established trick to use for chiptunes (I believe LSDJ and Nanoloop's sound engines are based around it, even? Please do correct me if I'm wrong), but until recently hasn't been fully exploited in NES music. That being said, creative programming on the squarewaves opens up a pandora's box of weird tones usually not possible within 60/50Hz refresh.

I don't know much about the NES hardware, but I can tell you a little bit about the Gameboy hardware. Gameboy has three useful interrupt sources, VBlank (screen refresh), LCD (raster interrupt which can be set to trigger on a specific scanline, or on every scanline) and a timer interrupt with a selectable interval. Seems like heaven compared the NES's VSync NMI and APU IRQ which is also needed for DMC reloading (right?)

What exactly do you mean by custom software timer? Using the APU timer, or busy-waiting x cycles for high precision timing?

LSDj is using VBlank for general, non-engine stuff (reading buttons, drawing graphics within VBlank period when VRAM is always accessible). It's using the timer interrupt to generate BPM timings. However, LSDj does not allow you to use say VBlank for BPM timing, and then use the timer for effects, or anything like that. And finally the LCD interrupt, which LSDj is using for reloading the wave buffer for sample playback, as well as a high frequency vibrato.

Side note, if anyone has ever wondered why samples to be used in LSDj have to be in the odd sample rate of 11468 Hz, that's why. There are 32 samples in the buffer, so the buffer is reloaded at a ate 11468/32=358.375 Hz. That's exactly 6 times per screen refresh. (59.73 Hz  * 6) Now you know.

Back to the topic. The Gameboy's square channels kind of suck for this kind of thing. There's no way to reliably reset the phase of the square channels completely. Instead, they are reset to the previous phase accumulator value (1/8 of a cycle) So they can't be used to get the same resonant "wow" type sound as in your song.

The Gameoy's  and LSDj's secret is weapon is the wave channel, which can be phase reset, and used to do a similar effect. However, because of how LSDj is written, the timings are a bit jittery (the time between each reset varies slightly) so it doesn't sound as clean as it could. And additionally, that takes up the only channel which can go down to C2 (the square channels only go down to C3) so you can't play a low triangle or similar wave to beef things up while this type of effect is playing. Or sampled drums for that matter. The wave channel is really the only "good" channel on a Gameboy.

This is reply is a bit longer than I planned for, but hopefully someone will find it interesting. And finally, a plug for Rez, a Gameboy synth program that I made, which produces sounds similar to the discussed effect. (It's not really finished, though. Imagine an envelope and maybe an LFO for the frequency and things become more interesting.)