Pulsar: with audio

Discuss NSF files, FamiTracker, MML tools, or anything else related to NES music.

Moderator: Moderators

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

Pulsar: with audio

Post by neilbaldwin »

Quick video of my new NES tracker showing the kind of sounds that are possible when you run it at 240Hz :)

http://blog.ntrq.net/?p=338
User avatar
Bregalad
Posts: 8036
Joined: Fri Nov 12, 2004 2:49 pm
Location: Caen, France

Post by Bregalad »

Cool, I always through it could be interesting to run faster than 50/60 Hz. Many SNES games do stuff like that in their sound effects - it's the "standard" of the console because a 1,02 Mhz CPU is dedicated entirely to sound. This isn't the case on the NES.
Useless, lumbering half-wits don't scare us.
User avatar
Dwedit
Posts: 4470
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Post by Dwedit »

I can't believe that a triangle wave was producing that!
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!
User avatar
Jarhmander
Formerly ~J-@D!~
Posts: 521
Joined: Sun Mar 12, 2006 12:36 am
Location: Rive nord de Montréal

Post by Jarhmander »

Dwedit wrote:I can't believe that a triangle wave was producing that!
Frequency modulation gives always a surprising result, as the output spectrum is quite different of the carrier spectrum
User avatar
neilbaldwin
Posts: 481
Joined: Tue Apr 28, 2009 4:12 am
Contact:

Post by neilbaldwin »

Another (big) video update. Making good progress.

http://blog.ntrq.net/?p=350
User avatar
Gil-Galad
Posts: 321
Joined: Sat Nov 13, 2004 9:43 pm
Location: Ohio, USA
Contact:

Post by Gil-Galad »

I haven't looked into it much, but what's the difference between Pulsar and NTRQ? All I know right now is that both of them seem to be trackers.

Unfortunately, at the moment NTRQ kind of confuses me, especially since I don't know how to use a tracker yet.
User avatar
neilbaldwin
Posts: 481
Joined: Tue Apr 28, 2009 4:12 am
Contact:

Post by neilbaldwin »

They are both trackers but each with different approaches.

Fundamentally, what is driving Pulsar's design (heavily borrowed from LSDJ) is that I'm running the audio engine at (technically) 240hz i.e. 4 times per frame.

This provides the opportunity to explore some interesting sound modulation, not normally accessible running at 60hz. Watch the video and look out for me using the Nxx command on a continuous note, for example.
User avatar
Gil-Galad
Posts: 321
Joined: Sat Nov 13, 2004 9:43 pm
Location: Ohio, USA
Contact:

Post by Gil-Galad »

That's pretty awesome in the video and what you're doing. I may try to learn how to use the tracker later on. But for now, I'm just more comfortable using a hex editor and assembly text files.

I used some commercial music drivers to make some basic scales played simutaneously on each of the channels, but nothing more complex than that. But of course I really can't use them for games or music competitions. (I doubt it anyways). If you don't mind, I have some questions about Nijuu to ask you. I won't here because that's off topic. I'd like to send you a private message if you don't mind.
User avatar
neilbaldwin
Posts: 481
Joined: Tue Apr 28, 2009 4:12 am
Contact:

Post by neilbaldwin »

Ask away, no problem.

:)
User avatar
thefox
Posts: 3139
Joined: Mon Jan 03, 2005 10:36 am
Location: Tampere, Finland
Contact:

Post by thefox »

Out of curiosity, how does Pulsar time the 120Hz / 240Hz updates? Do you use a scanline IRQ or some sprite0 hit/overflow trickery? Or DPCM IRQ? :)
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi
User avatar
Dwedit
Posts: 4470
Joined: Fri Nov 19, 2004 7:35 pm
Contact:

Post by Dwedit »

If it's DPCM irq, you're not going to be using any DMC samples. So I highly doubt it's that.
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!
User avatar
blargg
Posts: 3717
Joined: Mon Sep 27, 2004 8:33 am
Location: Central Texas, USA
Contact:

Post by blargg »

Maybe plain cycle timing? If you do it all from an NMI handler, you'd cycle time the first three 1/240 periods, then return from the handler after the fourth update for that frame, leaving about 1/240 second free to the non-NMI code.
User avatar
neilbaldwin
Posts: 481
Joined: Tue Apr 28, 2009 4:12 am
Contact:

Post by neilbaldwin »

thefox wrote:Out of curiosity, how does Pulsar time the 120Hz / 240Hz updates? Do you use a scanline IRQ or some sprite0 hit/overflow trickery? Or DPCM IRQ? :)
Sorry, only just seen this question.

I'm just using timed code, as blargg said. In the NMI I just do;

refresh audio
delay
refresh audio
delay
refresh audio
delay
refresh audio
refresh sequencer

and space the delays out so that the audio refreshes are spaced evenly (as possible).

Then I have a flag (4 bits) that gets checked at each refresh to tell the engine whether to process that refresh or not. So by varying the value in the flag (which I can do from within the tracker itself as a command) I can make the audio engine run at 60/120/180/240Hz (ish).
User avatar
neilbaldwin
Posts: 481
Joined: Tue Apr 28, 2009 4:12 am
Contact:

Post by neilbaldwin »

Oh, I update the website with a new video recently too, mainly to demonstrate the flexibility of random jumps in Tables and also a new idea - multi-channel tables (which I've labelled 'MultiFX'.

http://blog.ntrq.net/?p=357
User avatar
neilbaldwin
Posts: 481
Joined: Tue Apr 28, 2009 4:12 am
Contact:

Post by neilbaldwin »

Pulsar V1.0 released today :)

http://blog.ntrq.net/?p=420
Post Reply