NESDev and Strangulation Records messageboards
Forum Index | FAQ | New User | Login | Search

Previous ThreadView All ThreadsNext Thread*Show in Threaded Mode


SubjectProgramming - synth? new  
Posted byneurotoxin
Posted on4/14/04 11:40 PM
From IP169.139.222.5  



Hi .. i'm new, please forgive if this is in the wrong place. Is it possible to program the NES to become a synthesizer? By programming a menu to control and perhaps mix ect the sound card? I thought if this wasn't possible maybe it would be to use the channels as oscilators, then run them through external ADSR and filter units ..

what do you guys think?




SubjectRe: Programming - synth? new  
Posted bydoppel^_^
Posted on4/15/04 02:03 AM
From IP68.108.57.199  



I think the NES sound, while sounding good enough for games or the occasional demo, is somewhat limited in terms of capabilities.

-
Be whatever the situation demands.


SubjectRe: Programming - synth? new  
Posted byMemblers
Posted on4/15/04 10:48 AM
From IP68.58.99.218  



I'm not sure I understand what you mean, but it sounds interesting.

The CPU outputs the sound on 2 pins, one is both pulse channels and the other is the triangle/noise/DPCM. I suppose you could redirect that to your own mixer, but I don't know enough about this stuff to know what could be done with that.




SubjectRe: Programming - synth? new  
Posted byneurotoxin
Posted on4/15/04 12:50 PM
From IP169.139.222.5  



Hmm .. Ok, so the sound comes out of the CPU ? Not a seperate "sound card"? So then I would imagine that a program would need to be written to interpret some sort of control input and convert that into note data that could be played through the sound "pins"? I've messed around with the nerd trakker 2 (i'm still setting it up though I haven't managed to get the sound to work)and it looks like you have some ok control of the sound. In theory, could a program be written to control these features in real time? So instead of the information coming from the sound file, it'd come from the controller? So say you could adjust some of the square wave properties, then send note information via the controller, so that you could play it ..

Just all in theory.. Because if you can, you have the basis for a synthesizer. Of course you'd want to run the output to a few filters and effects and given the right combination, you could get some really interesting sounds out of it.





SubjectRe: Programming - synth? new  
Posted byneurotoxin
Posted on4/15/04 12:53 PM
From IP169.139.222.5  



Well, the NES sound is just the basis .. while I admit that retro style game music has a niche genre, the NES sound would just be one element in a mix of elements. Just as a bass guitar is just one element in a band so to speak. Run through a set of filters and effects, it would have many applications, industrial, IDM, techno.. most any electronic or experiemental music.




SubjectRe: Programming - synth? new  
Posted bytepples
Posted on4/15/04 7:12 PM
From IP68.54.20.186  



Yes, you could control every register in real time. However, you'd need to have some way of getting serial comms into the NES, probably through the joypad input.




SubjectRe: Programming - synth? new  
Posted bykik
Posted on4/18/04 4:25 PM
From IP66.229.20.192  



yea mate till your a nesscientist there is the "newby forum" which is my domain as well :)

basically if you want to program the nes, you have to know the shit
NESDEV is "the shit"

so "all that shit" is what you need to study, as I am currently :)

basically for timing reasons you will have to know about the hblank and vblank, which are inturrupt related, and for display you will have to understand the PPU and nametables, attribute tables, sprites, mirroring, palette, 0 sprite. And to get your program onto the nes you will have to be familliar with the 2a03 memory map and the rom sizes, and how the nes/games carts differ, differen't memory addressing tricks.

Then there are Brad Taylor's detailed 2ao3 audio doc's that will help out with getting the nes to do your bidding.

Anyway if you not a nes fanatic you might be better of just using a different audio dsp chip, there has to be a ton of 8bit dac's to pick/pull from, I mean which ever architecture your most comfortable with.




SubjectRe: Programming - synth?  
Posted byHappy_Dude
Posted on4/19/04 2:36 PM
From IP203.7.134.121  



A synth for the NES would be great
Have you thought about using the Piano Keyboard or is it too obscure to bother with?
(heck I don't even know what game or cart it came with)

Well heres some inspiration.
http://www.atariage.com/store/product_info.php?cPath=21_24&products_id=101&osCsid=e320dc0f99acffb5e7cc9858f083bbb5
http://www.atariage.com/store/product_info.php?products_id=231&osCsid=e320dc0f99acffb5e7cc9858f083bbb5

If the 2600 and Colecovision can pull off decent Synths the NES should be able to blow them out of the water ;-)





SubjectRe: Programming - synth? new  
Posted byblargg
Posted on4/20/04 03:02 AM
From IP199.170.89.59  



It is possible to tap into the channels before final mixing. You get the two square wave channels on one pin, and the triangle, noise, and DMC on the other pin. I did something like this with my NES by installing a stereo headphone jack on the bottom with these two channels wired to it, then routed the audio to my PC's sound input and added panning and real-time reverb.

Writing a driver for the NES which receives commands from a PC and controls the sound chip is fairly simple. I did a hack NSF player which emulates on the PC and then relays the sound chip writes to my NES for playback, and most songs sounded pretty good.

Here's another NES sound chip reference which hasn't been added to the Nesdev links page yet:

http://www.slack.net/~ant/nes-emu/apu_ref.txt

Given the lack of technical problems, I still don't see the point of using the NES as a synth, especially if you're going to post-process the sound. Its sound chip can easily be emulated on a PC and adding further effects is much simpler.





Previous ThreadView All ThreadsNext Thread*Show in Threaded Mode
Jump to

Memblers' homepage             Contact Me

Forums powered by WWWThreads Demo