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 > FamiTracker Talk > N163/FDS Waveform Editing Tool Owner: Necrophageon New post
Page 1 of 2 Sort: Goto Page: [1] [2] Next >>
N163/FDS Waveform Editing Tool Posted: 2012-07-20 13:47  (Last Edited: 2012-07-23 12:29) Reply | Quote
Necrophageon

Avatar

Member for: 3965 days
Location: Minnesota
Status: Offline

#36982
Now with 100% more distortion! :D

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.
Attachments:
autophased_saw_madness.ftm (3 Kb)
waveedit.bas (14 Kb)
waveedit.exe (92 Kb)
Posted: 2012-07-20 17:57 Reply | Quote
jrlepage
Moderator

Avatar

Member for: 4983 days
Location: Canada
Status: Offline

#36984
That's an interesting tool indeed.

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.
Posted: 2012-07-20 20:28 Reply | Quote
za909

Avatar

Member for: 3962 days
Location: Hungary
Status: Offline

#36991
Well FDS really once you can have multiple waves per instrument. I'm so going to try the 6-bit PWM with the FDS once that's available.

_______________________
Rectangular sh*t ©
Posted: 2012-07-21 00:31 Reply | Quote
Necrophageon

Avatar

Member for: 3965 days
Location: Minnesota
Status: Offline

#36997
@jrlepage - Yes! If you get his permission I'm sure that would be fun to play with, too. :P

@za909 - I didn't think the Disk System was capable of swapping waveforms that quickly. Are you sure that's a planned feature?

_______________________
The only things certain in life are death and uncertainty.
Posted: 2012-07-21 05:00  (Last Edited: 2012-07-21 05:01) Reply | Quote
ElHuesudoII

Avatar

Member for: 4525 days
Status: Offline

#37002
I covered a fragment of a 4mat song to compare this to double channel phasing.

It certainly sounds different, but similar enough if you ask me.





EDIT: Fucked up the double channels one. Reupping.


Posted: 2012-07-21 13:17 Reply | Quote
Necrophageon

Avatar

Member for: 3965 days
Location: Minnesota
Status: Offline

#37009
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.
Posted: 2012-07-21 20:34 Reply | Quote
za909

Avatar

Member for: 3962 days
Location: Hungary
Status: Offline

#37018
[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.

_______________________
Rectangular sh*t ©
Posted: 2012-07-21 21:23  (Last Edited: 2012-07-21 21:58) Reply | Quote
Necrophageon

Avatar

Member for: 3965 days
Location: Minnesota
Status: Offline

#37020
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.
Attachments:
fds.ftm (5 Kb)
Posted: 2012-07-22 02:28  (Last Edited: 2012-07-22 02:28) Reply | Quote
za909

Avatar

Member for: 3962 days
Location: Hungary
Status: Offline

#37025
That doesn't sound like a major problem considering the 2A03 pops a bit too when you constantly change duty cycle.

_______________________
Rectangular sh*t ©
Posted: 2012-07-22 04:25  (Last Edited: 2012-07-22 08:18) Reply | Quote
Necrophageon

Avatar

Member for: 3965 days
Location: Minnesota
Status: Offline

#37030
Alrighty then, I've made it so you can use it to generate a bunch of FDS waves, too (31 steps) and fixed a bunch of other crap.

Edit - I thought it'd be fun to try and make a shifting feature like the one jrlepage described before, so now it does that too. :P

_______________________
The only things certain in life are death and uncertainty.
Attachments:
fds_phased_sine.ftm (7 Kb)
fds_square_to_sine.ftm (6 Kb)
Posted: 2012-07-22 15:10 Reply | Quote
MovieMovies1

Avatar

Member for: 4373 days
Location: Norway
Status: Offline

#37037
I found a problem!
It makes 15 waves instead of 16. FamiTracker counts the waves from 0 to 15. 0-15=16 waves.

Posted: 2012-07-22 19:23  (Last Edited: 2012-07-22 19:25) Reply | Quote
Necrophageon

Avatar

Member for: 3965 days
Location: Minnesota
Status: Offline

#37040
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.
Posted: 2012-07-22 20:52 Reply | Quote
MovieMovies1

Avatar

Member for: 4373 days
Location: Norway
Status: Offline

#37043
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.

Posted: 2012-07-22 22:08  (Last Edited: 2012-07-23 08:31) Reply | Quote
Necrophageon

Avatar

Member for: 3965 days
Location: Minnesota
Status: Offline

#37044
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.
Attachments:
fds_better_sine_to_square.ftm (6 Kb)
Posted: 2012-07-23 07:23 Reply | Quote
cak

Avatar

Member for: 4314 days
Location: oregon
Status: Offline

#37063
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.

Page 1 of 2 Sort: Goto Page: [1] [2] Next >>