Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /storage/content/49/145849/famitracker.com/public_html/forum/classes/dbHandler.php on line 29 FamiTracker
Login:
Menu:
Post: Author:
FamiTracker > General > Source and development > DPCM distortion. Owner: B00daW New post
Page 1 of 1 Sort:  
DPCM distortion. Posted: 2009-07-30 03:46 Reply | Quote
B00daW

Avatar

Member for: 4985 days
Status: Offline

#3477
Let's consider someone sampling a really clean DPCM sample at the right refresh rate and putting it through a low-pass filter... Wouldn't it be nice to be able to distort that sample on the fly within the engine?

[url=http://8bitcollective.com/forums/viewtopic.php?id=13754]Here's my proposal...

What do you guys (especially jsr) think?

Posted: 2009-08-02 03:19 Reply | Quote
jsr
Administrator

Avatar

Member for: 5924 days
Location: Sweden
Status: Offline

#3505
I think I got it, but DPCM samples cannot be modified once exported to NSFs as those are stored in a ROM. RAM in the DPCM area would be necessary for it to work, but that's not possible in NSF. (At least not until FDS is added.)

Or if you have any ideas on how to implement it then I'd like to hear.

_______________________
Programmer and developer
Posted: 2009-08-05 04:30 Reply | Quote
B00daW

Avatar

Member for: 4985 days
Status: Offline

#3539
Alright... It won't be possible with standard mappers. :P

Fortunately, you support [url=http://wiki.nesdev.com/w/index.php/MMC5]MMC5! :D "Up to 64KB of WRAM, mappable not only at $6000-$7FFF but also within $8000-$DFFF."

This means we have editable DPCM RAM space from $C000-DFFF. If you flipped it by reading $FFC0-$FFFF for some reason, we could have $8000-DFFF for DPCM RAM space. (FDS might have a similar capability...)

It's possible that we could set up a 2K to 4K DPCM buffer in RAM for selected DPCM ROM contents; and bankswitch it into the $C000-DFFF space after the manipulation has been done.

[url=http://average.truechiptilldeath.com/filedump/distortion-test01.nsf]Another half-ass weird example. :D

I thought of two ways of controlling this in FamiTracker. Firstly, two simple commands:

Mxy: Where x = value to increment per byte. And y = value to skip per incremental.

Nxy: Where x = value to decrement per byte. And y = value to skip per decremental.

And secondly, a custom envelope could be set to increase or decrease the value per byte sample; much like the pitch envelope. This could be used on a per "instrument" basis currently without changing FamiTracker's design.

Posted: 2009-10-07 15:20  (Last Edited: 2009-10-26 15:39) Reply | Quote
Demick12

Avatar

Member for: 5075 days
Location: Buffalo, NY
Status: Offline

#3848
Raaaaaad... Now you can REALLY "Nine-Inch-Nails" it in FamiTracker!

(-_- )b

Edit: That is, if it WERE implemented in FT. That would be radical^3.

_______________________
You now process Dracula's Rib. Good luck processing it...
RE: DPCM distortion. Posted: 2010-03-15 04:22  (Last Edited: 2010-03-15 04:26) Reply | Quote
TechEmporium

Avatar

Member for: 4485 days
Status: Offline

#4801
Sorry for the necroposting, but here's what I think...

[quote=B00daW]Let's consider someone sampling a really clean DPCM sample at the right refresh rate and putting it through a low-pass filter... Wouldn't it be nice to be able to distort that sample on the fly within the engine?

[url=http://8bitcollective.com/forums/viewtopic.php?id=13754]Here's my proposal...

What do you guys (especially jsr) think?[/quote]

Why not just use a WAV file editor to overdrive the volume & take a new DMC sample from it with decreased volume settings in FamiTracker?

You can even use Windows Sound Recorder to overdrive an 8-bit PCM WAV file. Then, it's a simple matter of importing the WAV file into FamiTracker & decreasing the output's volume.

If you want something complicated that involves a DIY electronics project, I can create a circuit diagram for you (it involves creating a distortion amplifier with an op-amp & a low-pass filter).

_______________________
Technology: the one thing that's hated & cursed at by all engineers, technologists, scientists & technicians!

(Lousy modern technology! )
Page 1 of 1 Sort: