| |
acrouzet
Registered: May 2020 Posts: 97 |
I made a SID note table calculator
I don't know if this is fit for a proper release on CSDb, so I'm just posting it here, hope you don't mind.
I made a spreadsheet program that generates a SID note table given a clock and a frequency value. In addition to the note table bytes in hexadecimal, for each note you can also view the target frequency and the actual frequency the SID will generate in hertz, and the error between the two in both interval and cents. You can also see what frequencies will be targeted and output when using one clock’s note table calculation on another clock.
Link: https://docs.google.com/spreadsheets/d/1zjroenEv8O8WT05sCiKdbX_..
If you have a Google account, you can just click "File > Make a copy" to save and edit your own copy of the spreadsheet online, or you can click "File > Download" to download the spreadsheet as an Excel sheet or OpenDocument. |
|
| |
Bansai
Registered: Feb 2023 Posts: 49 |
Is that an NTSC-only table or are there options for both and I'm missing them?
Note also...converting to hex/binary seems to be tricky for the least significant bit in some cases in that sometimes it appears that needs to be rounded up (versus the "missing" bit in position minus one) for slightly better accuracy rather than simply truncated off. I think on some frequency tables you'll see as an example $022D vs $022C for C-1 for this reason. |
| |
acrouzet
Registered: May 2020 Posts: 97 |
Quote: Is that an NTSC-only table or are there options for both and I'm missing them?
Note also...converting to hex/binary seems to be tricky for the least significant bit in some cases in that sometimes it appears that needs to be rounded up (versus the "missing" bit in position minus one) for slightly better accuracy rather than simply truncated off. I think on some frequency tables you'll see as an example $022D vs $022C for C-1 for this reason.
You can set the clock frequency in the INPUTS section. (985248 for PAL, 1022727 for NTSC). Also, all frequency values should be rounded according to standard practice. The rounding to a whole number occurs before conversion to hexadecimal. |
| |
Bansai
Registered: Feb 2023 Posts: 49 |
Great, thank you! Coincidentally, this spreadsheet performs exactly the flavor of calculation I need for another, related project. :-) |
| |
cbmeeks
Registered: Oct 2005 Posts: 78 |
Very useful. Thanks for doing this.
me
http://meeks.co |
| |
acrouzet
Registered: May 2020 Posts: 97 |
Just added many new things to the spreadsheet, including the ability to convert between different table formats and the ability to compare a manually input table with a calculated one. Will make a document explaining all the parameters soon. |
| |
Krill
Registered: Apr 2002 Posts: 2989 |
This seems to be limited to equal temperament.
Would be cool to have some more intonation options. =)
(Not that it might make much of a difference depending on a given composition, mind.) |
| |
acrouzet
Registered: May 2020 Posts: 97 |
Quote: This seems to be limited to equal temperament.
Would be cool to have some more intonation options. =)
(Not that it might make much of a difference depending on a given composition, mind.)
Yeah, I know. 12TET is just the easiest to implement :p |