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


Forums > C64 Coding > NTSC/PAL agnostic music
2021-02-26 23:15
Raz

Registered: Aug 2003
Posts: 16
NTSC/PAL agnostic music

My apologies if this has already been addressed: during 2020 I rewrote quite a bit of timer code to work with all variants of PAL and NTSC (including the odd-ball PAL65) - this was mainly due to a Gauntlet-like game project I started with may at some point mature into something neat.

However, I was considering making NTSC/PAL dual versions of some of my demo effect (including some so far unreleased stuff), but oddly enough the limitation I continue to come back to is not code but MUSIC:

How do the rest of you approach making a dual PAL/NTSC releases music-wise? As far as I know there are two main things to consider:

1) 60hz vs. 50hz
2) SID 6581 vs. SID 8580

Around point 1) I was considering (with some help of the musicians) that a solution would be to separate the tempo (progression of the tune) from the actually SID value tables. So that for PAL (50Hz) one version of per-frame SID values would be used for each sound and another would be used for NTSC, and the progression of the tune would then be make independent (e.g. on beats of 1/10 of a second which would be every 5/6 frames depending on the system).

Around point 2): Different filters etc? Which would you recommend?

Any feedback would be welcome
-Raz
 
... 6 posts hidden. Click here to view all posts....
 
2021-02-27 00:14
TheRyk

Registered: Mar 2009
Posts: 854
yeah "airy" versus "earthen" sounds... never quite got what those ppl are talkin about ^^ either I'm too deaf or they are whacko (or both)
2021-02-27 00:20
Raz

Registered: Aug 2003
Posts: 16
Quote: I was talking about the differences in digital circuitry of 6581 vs 8580, though. Those arguments about the analogue differences with different revisions of either usually go a tad too much into audiophile esoteric cult stuff to me, mostly. :)

I was considering the "skip frame 6" approach, but though that might be too crude. But perhaps I should just test it out (I only have hardware for PAL).

An additional issue I ran across was the 6581 vs. 8580 issue: Just for fun I was considering making an NTSC version of Gumbo Revised (Gumbo Revised), and I'm a bit concerned here, that it sounds really terrible on 6581, and as I far as I know the majority of real NTSC systems has this chip.
2021-02-27 00:38
TheRyk

Registered: Mar 2009
Posts: 854
Quoting Raz
I was considering the "skip frame 6" approach, but though that might be too crude. ...
Seriously, even the afore-mentioned "golden ears" won't notice ^^

However, there are people that believe to distinguish if sth is played at 50.00 or 49.?? Hz
2021-02-27 00:42
Krill

Registered: Apr 2002
Posts: 1835
Quoting TheRyk
Quoting Raz
I was considering the "skip frame 6" approach, but though that might be too crude. ...
Seriously, even the afore-mentioned "golden ears" won't notice ^^

However, there are people that believe to distinguish if sth is played at 50.00 or 49.?? Hz
Only skipping every 6th frame can sound noticeably different. I tried that and the other things i mentioned for Softwired but it still sounded weird on NTSC. Not sure if things like the hard restart need to be adjusted as well, ceased to bother before i went that far. =)
2021-02-27 09:42
Jammer

Registered: Nov 2002
Posts: 1065
Speaking of 8580 vs 6581, I'm recently a strong proponent of SID model detection at the very start of program runtime and patching music file accordingly. At least for game releases which have much broader audience with variety of SID models in their machines. I always start with 8580 version as basic one and later on create 6581 version with adjusted filter settings. Furthermore, I create diff file between 6581 and 8580 version with simple script and store it in convenient place. Diff shouldn't exceed 128b on average and SID detection is very straightforward. At least for Goat Tracker tunes ;)
2021-02-27 21:49
Raz

Registered: Aug 2003
Posts: 16
A lot of good points in this thread - I'll do a bit more experimentation and come back here and post my observations.

Cheers
-Raz
2021-02-28 14:44
Groepaz

Registered: Dec 2001
Posts: 9790
All this for an NTSC version that will be run by like 3 people? :)
2021-02-28 20:30
Raz

Registered: Aug 2003
Posts: 16
Quote: All this for an NTSC version that will be run by like 3 people? :)

Well, I do it for the intellectual challenge, so even if audience is just one (me), then I'm happy.

-Raz
2021-03-01 15:54
c0zmo

Registered: Aug 2015
Posts: 10
Quote: Speaking of 8580 vs 6581, I'm recently a strong proponent of SID model detection at the very start of program runtime and patching music file accordingly. At least for game releases which have much broader audience with variety of SID models in their machines. I always start with 8580 version as basic one and later on create 6581 version with adjusted filter settings. Furthermore, I create diff file between 6581 and 8580 version with simple script and store it in convenient place. Diff shouldn't exceed 128b on average and SID detection is very straightforward. At least for Goat Tracker tunes ;)

Nice to hear that I could get you inspired, when I approached you with that exact idea a few years ago. ;)

I do that SID diffing for each and every tune I release as a standalone music, and I also did it for Game Art Beyond. I wrote a simple diffing routine like Jammer did, with the exception that I work on the real machine entirely. ;)

As for my 2SID Space Oddity [2sid], I did the same here but not for 6581/8580 patching, but for enabling two different addressing modes for the 2nd SID.

It is really not that much of a hassle, and I would love to see more composers supporting both chips. You can't make the tunes sound exactly the same, but you can at least make them pleasant to listen to, as on the 6581 all the latest filter-magic with drums and bassline is often almost inaudible. :)
2021-03-04 22:21
Zaz

Registered: Mar 2004
Posts: 31
FWIW, J(46) - SIDWAVE 30 Years Anniversary Music Disk is fully PAL/NTSC compatible.
Nothing too tricky, the note frequencies are replaced based on the video standard, and to avoid interfering with graphics-oriented raster interrupts, the music playback uses a rolling raster interrupt triggering at different part of the screen, to achieve a 50Hz cadence on a 60Hz display.
I did find by listening myself (no golden ear) that just playing 5 of 6 frames was definitely not good enough.
There have been no complaints so far, but then again maybe no NTSC user downloaded it :-)
Previous - 1 | 2 - Next
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
Facet/G★P
Urban Space Cowboy
ImmensityDev
theK/ATL
Manex/Anubis
Rebok
Alakran_64
Ze Smasher/F4CG
Jak T Rip/DMAgic
Scooby/G★P/Light
JEZ
Sokratekk
csabanw
Guests online: 159
Top Demos
1 Edge of Disgrace  (9.6)
2 Coma Light 13  (9.6)
3 Uncensored  (9.6)
4 Unboxed  (9.6)
5 Comaland 100%  (9.6)
6 Lunatico  (9.6)
7 Memento Mori  (9.6)
8 Christmas Megademo  (9.5)
9 The Shores of Reflec..  (9.5)
10 Wonderland XII  (9.5)
Top onefile Demos
1 Copper Booze  (9.8)
2 To Norah  (9.7)
3 Lovecats  (9.6)
4 Square Booze  (9.5)
5 Daah, Those Acid Pil..  (9.5)
6 Elite Code Mechanics  (9.5)
7 Dawnfall V1.1  (9.5)
8 No Mercy for the Tro..  (9.4)
9 Quadrants  (9.4)
10 Babbo Maiale  (9.4)
Top Groups
1 Booze Design  (9.4)
2 Fossil  (9.4)
3 Censor Design  (9.3)
4 Oxyron  (9.3)
5 PriorArt  (9.3)
Top NTSC-Fixers
1 Pudwerx  (10)
2 Horizon  (9.9)
3 Stormbringer  (9.7)
4 Fungus  (9.5)
5 Grim Reaper  (9.3)

Home - Disclaimer
Copyright © No Name 2001-2021
Page generated in: 0.049 sec.