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
Right, so this thing has undergone a few changes....
It was originally just an N163 wave auto-phase tool.
Functionality so far:
You can...
1.) Auto-phase two waveforms
2.) Morph one waveform to another
3.) Add distortion to items 1 and 2
4.) Add distortion to a single waveform
Lesser features include:
Configurable volume levels (for both waveforms), total number of steps, custom waveform definition, and FDS compatibility (for the hell of it).
Just give it the information it needs and it will dump a series of MML strings into a .txt file of any name you specify (file names are truncated to 8 characters).
Todo list:
- Make pulse wave morphing do pulse-width modulation
You no longer need DosBox!! Thank you cak!!!
Source project file is available below.
_______________________
The only things certain in life are death and uncertainty.
My friend lvk actually wrote a python script with a similar function, except his lets you enter a start waveform, an end waveform and the number of steps inbetween the two, and the script would actually calculate all the waveforms between the two you defined.
I'm not sure if he's okay with me posting it here just yet so I won't just now; I'll be sure to seek his permission as soon as I can though, as I think for N163 (and even FDS) stuff it's a very useful thing to have handy.
_______________________
Follow me on [url=https://twitter.com/jrlepage2a03]Twitter.
I record (some) NSFs on hardware. Feel free to [url=http://www.famitracker.com/forum/posts.php?id=3633]request a hardware render.
Yeah, "similar" is about as far as it goes. It's not very good as a direct substitute, but if what you wanted was the effect, it'll do (plus the double saw makes a sweet bass).
_______________________
The only things certain in life are death and uncertainty.
[quote=Necrophageon]
@za909 - I didn't think the Disk System was capable of swapping waveforms that quickly. Are you sure that's a planned feature?[/quote]
Well it wouldn't have to be that fast, you could already change the pulse width every row but that would require 32 different fds instruments.
That's weird... I remember there being some kind of popping noise associated with changing waves on FDS, but I just tried it and it seems to work just fine.
Edit - Oh, nevermind, it's still there, just less pronounced than I remember. You could probably drown it out pretty successfully if you tried.
_______________________
The only things certain in life are death and uncertainty.
That was actually intentional, but I can't remember why anymore. It works just fine with 16, so I've updated it.
It does 12, 16, and 32 waves now depending on your selection instead of 11, 15, and 31. Maybe I will just make a prompt for the number of waves.
_______________________
The only things certain in life are death and uncertainty.
I found another problem!
When I type in a custom waveform, I can't type in 15. It will just register it as an invalid number and waits for you to type in a number.
Whoops! I made it < instead of <= :P
Fixed! Also I've attached the source.
Edit - Oh, and I fixed that weird offset with the generated sine waves. I've also modified the Triangle generator to offset the waveform a bit so that it morphs to/from sine and 50% pulse waves more intuitively.
_______________________
The only things certain in life are death and uncertainty.
FYI, you can produce a 64-bit compatible EXE using the FreeBASIC compiler in QB mode. More complex code will require a little rewriting, but my Freq2Pxx app compiled without issue.