Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Composing > SID visualization
2014-04-12 23:56
Stinsen

Registered: Feb 2012
Posts: 71
SID visualization

So I did an attempt at SID visualization in some recent G*P music releases (e.g. Kobra Khan). Obviously some things could be still be improved, e.g. it is not currently aware of ADSR nor filter, but I'm curious what historically have been made (and I don't want to plow through all music collections/releases ;), does anyone have good example of other nice (real-time or not) visualizations of SID music? I had some suggestions of trying "offline frequency analysis" for better accuracy... Any thoughts on the subject? :)
2014-04-13 00:02
algorithm

Registered: May 2002
Posts: 702
Sid visualisation from within the C64 can be done by reading which values are stored to $d400-$d418 in a given frame and then recreating an approximation which updates itself (ADSR slope, waveform type used, frequency etc)

The Envelope for channel 3 can however be read via $d41c (with $d41b being the oscillator values for channel 3)
2014-04-13 07:02
soci

Registered: Sep 2003
Posts: 474
This was my attempt sometime ago on the subject:
C64 Fourier
2014-04-13 08:31
Oswald

Registered: Apr 2002
Posts: 5022
here's mine:

Nostalgia

load funplayer from the d64.

you'll need a ripped music binary to load and see what it does.
2014-04-13 08:53
TheRyk

Registered: Mar 2009
Posts: 2076
off topic/out of competition ;)
PlayEm64 V1.0
apart from rastertime in border I only show $D41B and $D41C as sprite bars with some stupid LSR algo making it fit into stretch sprite matrix :)

BTT: Yours and soci's really look quite impressive, no idea how to make those any better.

Edit:
Two more I always enjoyed:
Meet Linus
FieserWolF's Low Voltage Sid Collection
2014-04-13 10:27
4mat

Registered: May 2010
Posts: 63
I attached $d41b/$d41c to my old "In a loop" intro a while back. You have to find a track with lots of channel 3 noise in though, like this one by Q-Man.
2014-04-13 10:31
6R6

Registered: Feb 2002
Posts: 244
Ninja II Muz! has vertical d41b+d41c scope.
In a Loop has some great visual effects.
2014-04-13 12:38
Sander

Registered: Jan 2002
Posts: 487
Once had the idea for a music collection, that never happened, to convert the sid to wav, and get some data tables on pc/mac. Much more possibilities :)
2014-04-13 14:05
Mixer

Registered: Apr 2008
Posts: 422
Well, all sid waveforms have fourier series representation. Perhaps Soci used this idea in his fourier view.

(Wiki stuff)
Square is a sum of odd integer (n) harmonic frequencies

Triangle is a sum of odd integer (n) harmonic frequencies where 4n-1 harmonic shifted by 180 degrees.

Sawtooth has all integer (n) harmonics

(white)Noise has evenly distributed energy on all bands.

Integer harmonics attenuate in relation to n bit differently whether it is square, triangle or saw.

However, it would be possible to split the frqband into N bands and make some tables that can be used to tell how much of each harmonic to sum to each band energy for each frequency value.

Filter is bit of a problem, but one could fake it on the viewer especially if the number of bands is not too large.

So, in short -> Fake it!
2014-04-13 20:28
Oswald

Registered: Apr 2002
Posts: 5022
Cubic Player

displays all channels which is pretty impressive, because it has to emulate (fake) sid a bit to do so. fourier and lots of other stuff is in there aswell.

(worth to read the note if your into details)
2014-04-14 05:43
Steppe

Registered: Jan 2002
Posts: 1510
10 Years HVSC has data vis on all songs. You have to press some key while the song is playing, it was an F-key or Run Stop or maybe Restore.
2014-04-14 09:32
Frantic

Registered: Mar 2003
Posts: 1627
I coded some vumeters once on the c64, that relied on 6502-simulation of the ADSR envelopes of the sid, i.e. sensitive to gate on and gate off events and such. Nothing fancy, and never released, but the code is lying around somewhere on my hard drive. The implementation wasn't perfectly accurate, but still somewhat reasonable. (It was used as part of my sid editor — defmon — for a little while, so it relied on the internal parameters of the player rather than intercepting sid writes by switching out the sid or so.)
2014-04-14 17:34
Stinsen

Registered: Feb 2012
Posts: 71
Wow, thanks for the replies, exactly the kind of stuff I was hoping for. And I must say that the cubic player really is neat (and the notes were a great read too for that matter). :)
2014-04-14 21:18
spider-j

Registered: Oct 2004
Posts: 446
I also did some funny visualisations in my collection: Godspeed - A 8580 Music Album
The sprites move up when note is higher than previous note and down when note is lower. And they show what waveform is played, but I was too lazy too draw sprites for mixed waveforms :-)

The colors and char gfx rol's also come from some registers.

As you can't rely on reading the SID registers, I took the internal registers of SID Wizard playroutine from the source code.
2014-04-15 01:55
TheRyk

Registered: Mar 2009
Posts: 2076
Quoting spider-j
... you can't rely on reading the SID registers ...

Yeah that was the result of a longer talk with peiseluli some year(s) ago and also some lecture plus studies on existing .SID-files. Actually reading from any but 4 registers (two of which do not really provide any interesting material) is "cheating"/guessing, so apart from those there's nothing which makes much sense if you want to use it for _any_ .SID file. That (and economy) is why I tend to restrict myself to $D41B and $D41C. Many of the more impressive visualisations do exactly what you did and use
Quote:
registers of $whatever playroutine

so mostly zeropage addresses which might be used differently depending on the player, which strictly speaking forbid their use ;) if(!) a next-to universal use is intended
2014-04-15 08:40
Linus

Registered: Jun 2004
Posts: 638
Peiselulli's rather funky and original visualization in Meet Linus is worth mentioning aswell.
2014-04-15 11:16
TheRyk

Registered: Mar 2009
Posts: 2076
which I did in #5! but peiselulli can't be praised too often ;)
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
iAN CooG/HVSC
Slajerek/Samar
Isildur/Samar
Loloke
iceout/Avatar/HF
St0rmfr0nt/Quantum
Guests online: 140
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Comaland 100%  (9.6)
6 No Bounds  (9.6)
7 Uncensored  (9.6)
8 Wonderland XIV  (9.6)
9 Memento Mori  (9.6)
10 Bromance  (9.5)
Top onefile Demos
1 It's More Fun to Com..  (9.7)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 TRSAC, Gabber & Pebe..  (9.5)
6 Rainbow Connection  (9.5)
7 Wafer Demo  (9.5)
8 Dawnfall V1.1  (9.5)
9 Quadrants  (9.5)
10 Daah, Those Acid Pil..  (9.5)
Top Groups
1 Nostalgia  (9.3)
2 Oxyron  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top NTSC-Fixers
1 Pudwerx  (10)
2 Booze  (9.7)
3 Stormbringer  (9.7)
4 Fungus  (9.6)
5 Grim Reaper  (9.3)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.054 sec.