PR8 - NES Drum Synthesiser

A place where you can keep others updated about your NES-related projects through screenshots, videos or information in general.

Moderator: Moderators

Post Reply
User avatar
neilbaldwin
Posts: 481
Joined: Tue Apr 28, 2009 4:12 am
Contact:

PR8 - NES Drum Synthesiser

Post by neilbaldwin » Thu Dec 02, 2010 10:45 am

Seems like a good place and time to talk about my next project.

I'm creating a drum (and bass-line) machine for the NES.

+ 6 virtual tracks, one drum sound assigned to each track
+ each drum sound can use all 5 or any combination of the NES's hardware voices
+ where two drum sounds require the same hardware voice(s), voice allocation to is done on a bottom-up basis depending on which track the drum sound is assigned to
+ drum parameters include: amp envelope, LFO, pitch sweep, arpeggio, duty modulation etc. all running at 120hz
+ patterns are 16 steps long (and 6 tracks deep)
+ simple song structure - 256 steps with loop feature
+ on each pattern grid cell, where you place a trigger to play a drum sound you can set 5 playback parameters: root note, retriggering speed and 3 proxy parameters
+ the proxy parameters are defined in the drum sound, each one points to one of the 42 different parameters that make up the drum sound
+ this enables you to modify up to 3 parameters in real time, changing any or all 3 values on every step of the pattern
+ I plan to have some kind of external sync (either as master or slave, depending which is possible/easier :) )

Here's a screen shot of the latest ROM.

Image

I've got all the synthesis working currently and I'm able to fake a single track of a pattern and modulate the proxy parameters. I'm really, really excited about this as I think it's the first time anyone has approached NES audio in this way. I'm going to try to do a video soon.

Neil

User avatar
cartlemmy
Posts: 193
Joined: Fri Sep 24, 2010 4:41 pm
Location: California, USA
Contact:

Post by cartlemmy » Thu Dec 02, 2010 11:53 am

Wow, looks really cool.

User avatar
neilbaldwin
Posts: 481
Joined: Tue Apr 28, 2009 4:12 am
Contact:

Post by neilbaldwin » Sat Dec 04, 2010 1:50 pm

Couple of videos of PR8 in action.

http://blog.ntrq.net/?p=404

http://blog.ntrq.net/?p=406

Still early days yet but it's taking shape quickly.

User avatar
cartlemmy
Posts: 193
Joined: Fri Sep 24, 2010 4:41 pm
Location: California, USA
Contact:

Post by cartlemmy » Sat Dec 04, 2010 4:23 pm

Damn, this is awesome! I could see the chip-tune scene using this. I want to use it for my music project (SCR) as well.

User avatar
Memblers
Site Admin
Posts: 3906
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Post by Memblers » Sat Dec 04, 2010 6:29 pm

It looks and sounds really cool.

User avatar
Dwedit
Posts: 4462
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Post by Dwedit » Sat Dec 04, 2010 7:28 pm

The thing about all of Neil Baldwin's videos is that they are long enough and varied enough that it looks like he's having a live jam session.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!

User avatar
neilbaldwin
Posts: 481
Joined: Tue Apr 28, 2009 4:12 am
Contact:

Post by neilbaldwin » Sun Dec 05, 2010 2:48 am

Heh, sorry :)

I try to practice just a few things to show but there are often bits where I do the wrong thing or think of something else to do or just plain forget what I was supposed to do next.

I do try to keep them as short and interesting as I can. One time though I think I ended up doing a 21 minutes video of Pulsar but there was so much good stuff in it that I just split it in two (it was too big for YouTube) and uploaded it. :)

I've just added a couple of really nice features:

+ If you edit a drum patch and change one of the Px parameters (Px parameters are the 3 parameters-per-drum that you can modify in the step sequencer), you might have already entered data for the Px parameter in the Pattern and this most likely will be 'invalid' for the new parameter. WIth a quick combo-button-press, you can 'remap' the values in the Pattern to be reset to the default value for the target parameter.

+ You can now vertically shuffle the order of the tracks around in the Grid. This is important because the priority of what gets written to the audio registers is based on the vertical position in the Grid. The lower down the Grid the track is, the higher priority it has. Really cool feature.

+ I've now changed the DCM component so that a value of 00 in the sample number parameter means "don't play a sample". This makes real-time changing of a drum patches sample much more useful.

Stuff that is immediately on my to-do list:

- solo/muting of tracks (and a way to convey this information on-screen)
- copy/paste Pattern tracks (and a way to inform user this has happened)
- copy/paste drum patches (same as above)
- get the remaining 3 tracks working

The "getting the remaining tracks" task is interesting. I roughly calculated that I should have enough time to do 6 but I'm not so sure it will cope now. Adding another tracks is relatively 'modular' so I will just keep adding them until I run out of CPU time :) There's an awful lot of data getting shifted about at the start of each 'note' which causes a massive spike. Even if I end up cutting it down to 4 tracks it will still be very cool. The other 2 will be a bonus.

User avatar
neilbaldwin
Posts: 481
Joined: Tue Apr 28, 2009 4:12 am
Contact:

Post by neilbaldwin » Mon Dec 06, 2010 3:03 pm


User avatar
neilbaldwin
Posts: 481
Joined: Tue Apr 28, 2009 4:12 am
Contact:

Post by neilbaldwin » Wed Dec 29, 2010 7:30 am


ionustron
Posts: 34
Joined: Wed Apr 14, 2010 12:25 pm

Post by ionustron » Mon Jan 03, 2011 1:27 pm

I never get tired of those realtime echos or whatever they're called.

User avatar
neilbaldwin
Posts: 481
Joined: Tue Apr 28, 2009 4:12 am
Contact:

Post by neilbaldwin » Mon Jan 10, 2011 1:22 pm

1st draft of PR8 manual is online:

http://blog.ntrq.net/?p=458

frantik
Posts: 370
Joined: Tue Mar 03, 2009 3:56 pm

Post by frantik » Tue Jan 18, 2011 3:28 am

very cool stuff

User avatar
neilbaldwin
Posts: 481
Joined: Tue Apr 28, 2009 4:12 am
Contact:

Post by neilbaldwin » Mon Feb 14, 2011 5:20 am

PR8 V0.99 now released

http://blog.ntrq.net/?p=484

Post Reply