| |
Rub_0201
Registered: Apr 2019 Posts: 18 |
How to find sid tunes with matching tempo (bpm)?
I want to mix two sid tunes together. Expanding the possibilities of my last demo LIVE.
Somebody ever analysed sid tunes for their BPM value?
I see two ways to do this:
1. Analyse the output like with siddump
2. Extract the values from the player routine
I am no musician, so maybe there are other ways… |
|
| |
acrouzet
Registered: May 2020 Posts: 97 |
Luckily SID composers rarely deviate from integer divisions of the frame rate to derive the BPM, so you have a relatively small set of tempos to choose from. Honestly, if I was doing C64 SID DJing (which is a super cool idea) I'd just organize my tunes based on what I can detect by listening, cause chances are if two SID tunes sound like they have the same tempo, they probably do. |
| |
Rub_0201
Registered: Apr 2019 Posts: 18 |
Are you sure with that?
I have one song here with 104 cycles per 4/4 bars and another with 192! |
| |
Mixer
Registered: Apr 2008 Posts: 452 |
Most players are called once per frame, and the resulting note durations are multiplies of that. How you group that into note durations and time signatures and bars depend on composer/composition/tool. Often routines have a subdivision to integer number of frames. Some routines can alternate the subdivision to a pair of frames, such as 6,5,6,5,6,5 etc. Most routines work in this fashion, thus the perceived BPM are result of those subdivisions of durations. 1x per frame routine, using 6 frames subdivision would have about 125 BPM speed and so on.
I'd just assume the integer subdivision or the alternating pair for most players. To learn subdivison it from sid dump data could perhaps use the most common nr of frames between gate off/on changes or hardrestart or something like that. Or you can just learn it from the player routine, if available. |
| |
Bansai
Registered: Feb 2023 Posts: 49 |
Quoting acrouzetLuckily SID composers rarely deviate from integer divisions of the frame rate to derive the BPM, so you have a relatively small set of tempos to choose from. Honestly, if I was doing C64 SID DJing (which is a super cool idea) I'd just organize my tunes based on what I can detect by listening, cause chances are if two SID tunes sound like they have the same tempo, they probably do.
Whittaker is the only composer who comes to mind for me at the moment who uses a frame-based playback routine which has non-integer tempo invocations:
; 83 SP : sets speed, number of frames per dur invocation is 256/SP and can be fractional due to ADC strategy used
It's a bit of a neat strategy his player employed for Street Surfer which was carried forward into later players. Arpeggios, pitch slides, etc., still are locked to PAL/NTSC frame rate. The algorithm adds the speed value to whatever it has accumulated so far, and if the carry is set, calls the duration routine, so it calls similar to the 6,5,etc. that Mixer describes, but it's arbitrarily configurable. |
| |
acrouzet
Registered: May 2020 Posts: 97 |
Quoting BansaiThe algorithm adds the speed value to whatever it has accumulated so far, and if the carry is set, calls the duration routine, so it calls similar to the 6,5,etc. that Mixer describes, but it's arbitrarily configurable.
So it's basically like how the SID generates its frequencies, but done much slower at the software level instead. Cool.
I've done a few VBI tunes with "non-standard" tempos before, but the tempo sequences were input by hand in GoatTracker. I think most just don't bother with that kind of thing, and it uses up an effect column. |
| |
Hate Bush
Registered: Jul 2002 Posts: 465 |
EDIT: sorry, not quite on topic, i'll leave it anyway.
-
the subject has been touched upon here
How many BPM is a C64 or HardSID ? |
| |
Digger
Registered: Mar 2005 Posts: 437 |
Also check what 4MAT was cooking https://www.youtube.com/watch?v=nXfYf-EpUS4 a while ago |
| |
4mat
Registered: May 2010 Posts: 66 |
btw this isn't abandoned I've just been working on other stuff recently. One thing I have removed is the machine sync connection as it was causing crashes with the disk loading. You can pretty much get both songs in sync very quickly with the nudge/hold keys. |