In the history of music trackers (especially on early computers like the Commodore 64 and Commodore Amiga), timing systems evolved because different hardware offered different ways to measure time. Terms like PPQN, CIA, VBlank, NTSC, PAL, and LPB refer to how trackers scheduled musical events such as notes and effects.
1. VBlank Timing (Early Trackers)
VBlank = Vertical Blank interrupt
Early trackers synchronized playback with the screen refresh interrupt.
- The video chip triggers an interrupt every frame.
- The music routine runs once per frame.
Frame rates depended on TV standards
- PAL: 50 Hz (50 interrupts per second)
- NTSC: ~60 Hz (59.94 interrupts per second)
These standards come from analog television systems used by machines like the Commodore 64 and early Amiga 500.
Effect on tracker timing
A tracker row advanced every N frames.
Example (classic Amiga trackers):
Speed = 6
PAL 50 Hz
Row duration:
6 frames / 50 Hz = 120 ms per row
Pros
- Simple
- Stable with graphics
Cons
- Different speed on PAL vs NTSC
- Limited timing resolution
This system was used in early trackers such as Soundtracker (1987).
2. CIA Timer Timing (Amiga Precision Timing)
The Commodore Amiga had CIA chips (Complex Interface Adapters) with programmable timers.
Later trackers used CIA Timer A instead of VBlank interrupts.
Why?
CIA timers allow arbitrary interrupt rates, independent of video refresh.
Example:
Timer frequency ≈ 709379 Hz / divider
This allowed:
- More precise BPM
- Same playback speed on PAL and NTSC
Trackers such as ProTracker used this technique.
Pros
- Hardware accurate timing
- Independent from video
- Higher precision
Cons
- Slight CPU overhead
- Required careful hardware programming
3. LPB (Lines Per Beat)
LPB = Lines Per Beat
This concept appeared in later trackers during the PC era.
Trackers such as FastTracker II and Impulse Tracker separated:
- tempo (BPM)
- pattern resolution
LPB defines how many rows equal one beat.
Example:
BPM = 125
LPB = 4
Meaning:
- 4 rows per beat
- 16 rows per bar (4/4)
This makes timing more musical and flexible.
4. PPQN (Pulses Per Quarter Note)
PPQN = Pulses Per Quarter Note
This timing concept comes from MIDI sequencing rather than trackers.
Common MIDI timing resolutions:
24 PPQN
96 PPQN
480 PPQN
960 PPQN
Higher PPQN values give finer timing resolution.
Later tracker-inspired software and modern trackers adopted similar high-resolution internal clocks.
Examples include modern trackers and DAWs such as Renoise and OpenMPT.
5. Relationship Between These Systems
| System | Used In | Resolution | Hardware Dependence |
|---|---|---|---|
| VBlank | early Amiga / C64 trackers | low | tied to video |
| PAL / NTSC | video standards | defines frame rate | hardware |
| CIA timer | later Amiga trackers | medium | hardware timer |
| LPB | PC trackers | high | software |
| PPQN | MIDI / DAWs | very high | software |
6. Typical Classic Tracker Timing Formula
For ProTracker-style trackers:
row_time = speed × tick_time
Where:
tick_time = 2.5 / BPM seconds
Example:
speed = 6
BPM = 125
Tick time:
2.5 / 125 = 0.02 s
Row time:
6 × 0.02 = 0.12 s
This produces the famous 125 BPM / speed 6 groove used in many Amiga modules.
7. Historical Timeline
1980s
- VBlank timing
- PAL/NTSC differences
- Soundtracker era
Early 1990s
- CIA timer timing
- ProTracker era
Mid 1990s
- PC trackers adopt BPM + speed system
Late 1990s
- LPB introduced
2000s+
- PPQN-style internal clocks
Summary
- PAL / NTSC → video refresh standards
- VBlank → music tick tied to screen frame
- CIA timer → programmable hardware timer interrupts
- LPB → musical resolution (rows per beat)
- PPQN → MIDI timing resolution
No comments:
Post a Comment