NSFPlay Synthesia 0.61 - keyboard visualizer

General discussion about tracking, help and support.
User avatar
Patashu
Posts: 12
Joined: Wed May 13, 2015 9:06 am
Location: Sydney, Australia
Contact:

NSFPlay Synthesia 0.61 - keyboard visualizer

Postby Patashu » Wed May 13, 2015 9:07 am

If you've ever seen a video on youtube of Synthesia, you already know what this looks like - colourful notes flying down the screen, showing you the song's melodies over time.

Here's a video demonstration: https://www.youtube.com/watch?v=TK9eUsNLsjw

This is the new latest version, thanks to HertzDevil:
Download executible: https://www.dropbox.com/s/yrpyh3jibvtpk ... r.zip?dl=0
Source code: https://github.com/HertzDevil/nsfplay

Previous newest version:
Download exe: https://www.dropbox.com/s/og0wz2r4jtnu51u/nsfplay%202.3%20Synthesia%200.61.zip?dl=0
Download source: https://www.dropbox.com/s/au0k1wrgkxvcm ... 1.zip?dl=0
Download .diff: https://www.dropbox.com/s/evc1ex4umlhdvrq/synthesia061.patch?dl=0 (use patch -u -p1 --ignore-whitespace < ../synthesia061.patch inside of "nsfplaysrc23" containing nsfplay 2.3 source code: http://code.google.com/p/nsfplay/source/checkout and compile using Visual Studio 2008 )

Old versions: https://www.dropbox.com/sh/kktr265xyl9xqqr/AACt6-HjONEoMngRO9MPpp7pa?dl=0


To use this program:
1) Load an nsf (via the open folder icon)
2) Colours will spaz out over your screen

-=-

Your guide to NSFPlay Synthesia's sights and colours

General:
Width = volume
Brightness = white or black key

2A03/MMC5
Pulse: red for 12.5% duty cycle, yellow for 25% duty cycle, purple for 50% duty cycle.
Triangle: white
Noise: Blue to cyan to green to green-yellow for random noise, red to orange to yellow for periodic noise.
DPCM: Random shades of blue/purple depending on the memory address of the DPCM sample.

VRC6
Pulse: Depends on duty cycle setting: 01234567 (ranging from 6.25% to 50% duty cycle)
Sawtooth: pink

VRC7
All: Colour is a function of the current frequency modulation envelope's volume - maximum volume gives you red, minimum volume (a sine wave) gives you sine wave is magenta. In addition, notes are desaturated towards gray the higher their feedback is. Other properties that could affect VRC7 timbre (mults, wave rectification, etc) are not tracked. As a result, two of the default patches look the same despite sounding different, but usually you see what you need to.

FDS/N163
All: Triangle wave is white, sine wave is magenta. If Synthesia thinks the wave is kinda like a pulse wave if you squint the right way, it colours it that way in a manner similar to VRC6 from hot pink to purple, with increasing desaturation towards gray the more it's uncertain. If Synthesia is convinced your waveform would not produce any tone it colours it black. Finally, if it's none of the above it's coloured pink.

5B:
See for yourself!

-=-

Changelog
0.61:
-Fixed bug where if you set delay below about 20ms, the synthesia window would freeze whenever changing songs. Now all values of delay should work OK (tested -250 to +250 or so)
-5B: When envelope is volume modulating 5B noise, it should now be displayed.

0.60:
-With help from rainwarrior, there are now NO outstanding bugs that produce incorrect frame data in the synthesia output.
-A new in_yansf.ini parameter, STARTING_OCTAVE has been added. Its default value is 1. Try 0 or even -1 if your .nsf has super low notes.
-5B support is (hopefully) now complete. I even added special colours for when you create a 'new instrument' using volume envelope modulation.

0.55:
-5B env now shows as pink for sawtooth
-5B squares are coloured purple and display their changing volumes if a 5B volume envelope is used on them
-5B triangle and 5B noise SHOULD work, but I don't have an nsf to test these with.

0.54:
-NSFs that used volume envelopes, such as for Deadly Towers and Marble Madness, now look correct in the keyboard and drums synthesia output.
-Up to 240 (256?) N163 samples now display.
-SYNTHESIA_WIDTH, SYNTHESIA_HEIGHT and DRUMS_HEIGHT properties defined in in_yansf.ini. If you want any of these 3 to be larger, just edit them, save and re-open the program.
-An additional octave in both directions is displayed on the keyboard synthesia output, for 10 total. Now your ultra-highs and ultra-lows won't fly off screen!

0.53:
-Fixed a crash when you go to Options -> Settings and click OK and Apply (the fix was compiling in Visual Studio 2008 )
-The keyboard visualizer now appears when you open NSFPlay Synthesia, since let's face it, you were going to anyway!
-Time expansion now runs in 0.125x increments instead of 1x increments
-Tracks that are at volume 0 but not disabled (besides triangle and DPCM) will no longer be drawn
-The checkbox beside each channel in the keyboard visualizer mutes/unmutes the track.
-Keyboard Visualizer -> Settings... now has sliders for Synthesia Speed and Synthesia Drum Speed (in pixels per frame from 1 to 8 )

0.5:
-VRC7 instruments are desaturated according to how much feedback they use. (It would be more interesting to desaturate them according to how much feedback made a difference that frame, but I leave that problem to a future update :) )
-N163 and FDS waveform colouring added. Sine waves and triangle waves are painted magenta and white if they match Famitracker's sine/tri waves exactly, else fuzzy matching to square wave is attempted (which will assign it a colour similar to VRC6's hot-pink-to-purple scheme) with desaturation based on how inaccurate it was, else it's painted default pink.

0.41:
-Now patching the beta version of nsfplay 2.3 (which serves to fix a bug where 2A03/MMC5/VRC6 were incorrectly displaced towards the right at high pitches)

0.4:
-VRC7 volume fixed
-VRC7 colouration fixed
-Display less debris upon starting up a song for the first time

0.3:
-noise/dpcm synthesia display
-fixed sawtooth volume
-turned octave markers on by default
-Two instruments can be drawn on the same note
-Vibratos and pitch bends are drawn in continuous lines

0.2:
-60Hz refresh rate made the default
-Paint up to 10 missed frames
-Fixed colouring for MMC5 to be equal to 2A03
-Altered width changes due to volume such that, at the default keyboard width size (and yes, you can alter it by stretching the window horizontally) 1px = 1 volume unit

-=-

Possible features for future versions:

-flip drums scrolling direction
-setting: background colour
-setting: colour for vertical B/C lines
-setting: colour for E/F lines
-alter luminosity multiplier for black keys (setting?)
-figure out consistent way to format colours both in source code and in ini (ipi)
-figure out if the colour for FDS/N106 non-waveform should be changed (visualizer art) (setting?)
-make it so noise and triangle volume is accurately altered by the current DPCM state (might look bad/unintuitive? setting?)

pie in the sky:
-fourier transform of DPCM for better colouring/positioning
-fourier transform of FDS/N106 waves for better colouring/positioning
-indicating things like mults in VRC7

-=-

Special thanks to rainwarrior for NSFPlay being open source, I am only a simple modifier. Kudos!
Last edited by Patashu on Mon Jul 01, 2019 11:57 pm, edited 3 times in total.

8BitZtunerYT
Posts: 379
Joined: Thu Apr 23, 2015 7:20 pm
Location: Somewhere stuck in Winamp

Re: NSFPlay Synthesia 0.61 - keyboard visualizer

Postby 8BitZtunerYT » Wed May 13, 2015 5:00 pm

Best Plugin for Winamp ever.
I recommend it as a Must Have!
slowly ceasing to exist.
"8BitZ caresses his keyboard as he orgasms to the sounds of Winamp."
-retrodpc, 2015

8BitZtunerYT
Posts: 379
Joined: Thu Apr 23, 2015 7:20 pm
Location: Somewhere stuck in Winamp

Re: NSFPlay Synthesia 0.61 - keyboard visualizer

Postby 8BitZtunerYT » Sat May 30, 2015 6:42 pm

Not sure if this is intented but, NSFPlay seems to loop this song forever at a certain point, I checked the FTM and nothing was wrong, I'll attach the files so you can check them.
Attachments
DatAdam - 700 Main St.ftm
(12.1 KiB) Downloaded 154 times
DatAdam - 700 Main St.nsf
(11.02 KiB) Downloaded 145 times
slowly ceasing to exist.
"8BitZ caresses his keyboard as he orgasms to the sounds of Winamp."
-retrodpc, 2015

User avatar
HertzDevil
Posts: 475
Joined: Thu Apr 23, 2015 7:39 pm
Location: Hong Kong SAR
Contact:

Re: NSFPlay Synthesia 0.61 - keyboard visualizer

Postby HertzDevil » Sat May 30, 2015 7:53 pm

In the settings menu, disable playtime detection or increase the search duration.

Also, bug report: the FDS hardware volume envelope does not slow down according to the time expansion setting (such as the Metroid FDS NSF).
refactoring 0cc-famitracker

8BitZtunerYT
Posts: 379
Joined: Thu Apr 23, 2015 7:20 pm
Location: Somewhere stuck in Winamp

Re: NSFPlay Synthesia 0.61 - keyboard visualizer

Postby 8BitZtunerYT » Sat May 30, 2015 10:42 pm

HertzDevil wrote:In the settings menu, disable playtime detection or increase the search duration.


Disabling playtime detection works and the NSF is not stuck in a incorrect loop.
However, strangely is that NSFPlug (which i use with Winamp) never saves the settings to it's .ini file.

I know that you (Patachu) never tested it with Winamp, but it would be really recommended if you were testing it with a fresh install of Winamp (no third party plugins first, then installing a plugin to check some conflicts) and testing it there for any bugs.
slowly ceasing to exist.
"8BitZ caresses his keyboard as he orgasms to the sounds of Winamp."
-retrodpc, 2015

aishi
Posts: 28
Joined: Fri May 22, 2015 10:48 am

Re: NSFPlay Synthesia 0.61 - keyboard visualizer

Postby aishi » Wed Jun 03, 2015 10:57 pm

Hey Patashu, so I made a topic about this earlier here: http://forums.famitracker.com/viewtopic.php?f=6&t=160
Could it be possible to make a version of this correlate to Famitracker's playback? From the conversation I get the impression this wouldn't be easy to do, though it would be extremely helpful to see the playback live in this way while writing in FamiTracker.

User avatar
Patashu
Posts: 12
Joined: Wed May 13, 2015 9:06 am
Location: Sydney, Australia
Contact:

Re: NSFPlay Synthesia 0.61 - keyboard visualizer

Postby Patashu » Fri Jun 05, 2015 10:15 am

aishi wrote:Hey Patashu, so I made a topic about this earlier here: http://forums.famitracker.com/viewtopic.php?f=6&t=160
Could it be possible to make a version of this correlate to Famitracker's playback? From the conversation I get the impression this wouldn't be easy to do, though it would be extremely helpful to see the playback live in this way while writing in FamiTracker.

This is a cool idea! I've never looked at Famitracker's source code so I'm not sure how hard it would be. But it'd be a full porting job (or end up being easier to rewrite from scratch), because the way song data is held internally is for sure going to be different between the two programs. I'm switching gears to making music, so I definitely don't have time to look at this right now, but I can provide assistance if anyone else is interested in trying it, and all the source code changes I made are, of course, openly available from the root post if you want to study what I've done.

8BitZtunerYT and HertzDevil's bug reports are noted.

8BitZtunerYT
Posts: 379
Joined: Thu Apr 23, 2015 7:20 pm
Location: Somewhere stuck in Winamp

Re: NSFPlay Synthesia 0.61 - keyboard visualizer

Postby 8BitZtunerYT » Fri Jun 19, 2015 2:09 pm

Would it be possible when a Raw PCM Sample (or SuperNSF) is being played back that a Oscillioscope appears like in the picture?
Also resizing the DPCM and Noise area?
Attachments
Raw PCM Oscillioscope and resizing.png
Raw PCM Oscillioscope and resizing.png (78.49 KiB) Viewed 7040 times
slowly ceasing to exist.
"8BitZ caresses his keyboard as he orgasms to the sounds of Winamp."
-retrodpc, 2015

aishi
Posts: 28
Joined: Fri May 22, 2015 10:48 am

Re: NSFPlay Synthesia 0.61 - keyboard visualizer

Postby aishi » Fri Jun 19, 2015 7:26 pm

8BitZtunerYT wrote:Would it be possible when a Raw PCM Sample (or SuperNSF) is being played back that a Oscillioscope appears like in the picture?
Also resizing the DPCM and Noise area?

Does Famitracker support SuperNSF? I thought you needed a special driver...

User avatar
Shywolf
Posts: 373
Joined: Mon Apr 20, 2015 6:41 pm
Location: Canada
Contact:

Re: NSFPlay Synthesia 0.61 - keyboard visualizer

Postby Shywolf » Fri Jun 19, 2015 7:39 pm

aishi wrote:Does Famitracker support SuperNSF? I thought you needed a special driver...

No and yes, but this thread's about NSFplay Synthesia, which is a completely separate program from FT.


Return to “General Talk”

Who is online

Users browsing this forum: No registered users and 4 guests